diff options
Diffstat (limited to 'file.h')
-rw-r--r-- | file.h | 32 |
1 files changed, 32 insertions, 0 deletions
@@ -7,3 +7,35 @@ struct file { struct inode *ip; uint off; }; + + +// in-core file system types + +struct inode { + uint dev; // Device number + uint inum; // Inode number + int ref; // Reference count + int flags; // I_BUSY, I_VALID + + short type; // copy of disk inode + short major; + short minor; + short nlink; + uint size; + uint addrs[NDIRECT+1]; +}; + +#define I_BUSY 0x1 +#define I_VALID 0x2 + + +// device implementations + +struct devsw { + int (*read)(struct inode*, char*, int); + int (*write)(struct inode*, char*, int); +}; + +extern struct devsw devsw[]; + +#define CONSOLE 1 |