diff options
author | Russ Cox <[email protected]> | 2009-08-08 01:07:30 -0700 |
---|---|---|
committer | Russ Cox <[email protected]> | 2009-08-08 01:07:30 -0700 |
commit | 0aef8914959af9e472852611eb6352c211093d35 (patch) | |
tree | 0658cf47dcb134b79e5311209c2a2840d1a79650 /file.h | |
parent | b3bebfce8a790975ba941d346e6bcff1b5afecf9 (diff) | |
download | xv6-labs-0aef8914959af9e472852611eb6352c211093d35.tar.gz xv6-labs-0aef8914959af9e472852611eb6352c211093d35.tar.bz2 xv6-labs-0aef8914959af9e472852611eb6352c211093d35.zip |
shuffle and tweak for formatting.
pdf has very good page breaks now.
would be a good copy for fall 2009.
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 |