1 struct file {
2 enum { FD_NONE, FD_PIPE, FD_INODE } type;
3 int ref;
4 char readable;
5 char writable;
6 struct pipe *pipe;
7 struct inode *ip;
8 uint off;
9 };
10
11
12
13 struct inode {
14 uint dev;
15 uint inum;
16 int ref;
17 struct sleeplock lock;
18 int valid;
19
20 short type;
21 short major;
22 short minor;
23 short nlink;
24 uint size;
25 uint addrs[NDIRECT+1];
26 };
27
28
29
30 struct devsw {
31 int (*read)(struct inode*, char*, int);
32 int (*write)(struct inode*, char*, int);
33 };
34
35 extern struct devsw devsw[];
36
37 #define CONSOLE 1