comparison src/file.h @ 0:83c23a36980d

Init
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Fri, 26 May 2017 23:11:05 +0900
parents
children 1a64b5645cdd
comparison
equal deleted inserted replaced
-1:000000000000 0:83c23a36980d
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