Mercurial > hg > Members > tobaru > xv6-osx-rpi
comparison src/file.h @ 0:53676d1f5817 default tip
firsh commit
author | tobaru |
---|---|
date | Sun, 04 Feb 2018 17:54:49 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:53676d1f5817 |
---|---|
1 struct file { | |
2 enum { FD_NONE, FD_PIPE, FD_INODE } type; | |
3 int ref; // reference count | |
4 char readable; | |
5 char writable; | |
6 struct pipe *pipe; | |
7 struct inode *ip; | |
8 uint off; | |
9 }; | |
10 | |
11 | |
12 // in-memory copy of an inode | |
13 struct inode { | |
14 uint dev; // Device number | |
15 uint inum; // Inode number | |
16 int ref; // Reference count | |
17 int flags; // I_BUSY, I_VALID | |
18 | |
19 short type; // copy of disk inode | |
20 short major; | |
21 short minor; | |
22 short nlink; | |
23 uint size; | |
24 uint addrs[NDIRECT+1]; | |
25 }; | |
26 #define I_BUSY 0x1 | |
27 #define I_VALID 0x2 | |
28 | |
29 // table mapping major device number to | |
30 // device functions | |
31 struct devsw { | |
32 int (*read) (struct inode*, char*, int); | |
33 int (*write)(struct inode*, char*, int); | |
34 }; | |
35 | |
36 extern struct devsw devsw[]; | |
37 | |
38 #define CONSOLE 1 |