summaryrefslogtreecommitdiff
path: root/file.h
diff options
context:
space:
mode:
authorRuss Cox <[email protected]>2009-08-08 01:07:30 -0700
committerRuss Cox <[email protected]>2009-08-08 01:07:30 -0700
commit0aef8914959af9e472852611eb6352c211093d35 (patch)
tree0658cf47dcb134b79e5311209c2a2840d1a79650 /file.h
parentb3bebfce8a790975ba941d346e6bcff1b5afecf9 (diff)
downloadxv6-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.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/file.h b/file.h
index 1d56145..55918cc 100644
--- a/file.h
+++ b/file.h
@@ -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