diff options
author | Robert Morris <[email protected]> | 2019-06-13 10:29:27 -0400 |
---|---|---|
committer | Robert Morris <[email protected]> | 2019-06-13 10:29:27 -0400 |
commit | a8305b7318e66eb33e7789072e8b91dffa0e4b93 (patch) | |
tree | 080bae6010159b083d86411fcd05438e19ca5515 /kernel/file.h | |
parent | 46744c4a13ec21e0818a49f31dbc3ad6ad592eed (diff) | |
download | xv6-labs-a8305b7318e66eb33e7789072e8b91dffa0e4b93.tar.gz xv6-labs-a8305b7318e66eb33e7789072e8b91dffa0e4b93.tar.bz2 xv6-labs-a8305b7318e66eb33e7789072e8b91dffa0e4b93.zip |
FD_DEVICE
Diffstat (limited to 'kernel/file.h')
-rw-r--r-- | kernel/file.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/kernel/file.h b/kernel/file.h index f28018f..5cf15a2 100644 --- a/kernel/file.h +++ b/kernel/file.h @@ -1,11 +1,12 @@ struct file { - enum { FD_NONE, FD_PIPE, FD_INODE } type; + enum { FD_NONE, FD_PIPE, FD_INODE, FD_DEVICE } type; int ref; // reference count char readable; char writable; - struct pipe *pipe; - struct inode *ip; - uint off; + struct pipe *pipe; // FD_PIPE + struct inode *ip; // FD_INODE and FD_DEVICE + uint off; // FD_INODE + short major; // FD_DEVICE }; @@ -25,11 +26,10 @@ struct inode { uint addrs[NDIRECT+1]; }; -// table mapping major device number to -// device functions +// map major device number to device functions. struct devsw { - int (*read)(struct inode*, int, uint64, int); - int (*write)(struct inode*, int, uint64, int); + int (*read)(int, uint64, int); + int (*write)(int, uint64, int); }; extern struct devsw devsw[]; |