Mercurial > hg > CbC > CbC_xv6
view src/file.h @ 395:17e8a4bc06a7 default tip
add macOS AR/RANLIB
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 14 Dec 2020 21:59:50 +0900 |
parents | efef0767b1bc |
children |
line wrap: on
line source
#ifndef FILE_STRUCT struct file { enum { FD_NONE, FD_PIPE, FD_INODE } type; int ref; // reference count char readable; char writable; struct pipe *pipe; struct inode *ip; uint off; }; #define FILE_STRUCT #endif // in-memory copy of an inode #ifndef INODE_STRUCT 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 INODE_STRUCT #endif #define I_BUSY 0x1 #define I_VALID 0x2 // table mapping major device number to // device functions struct devsw { int (*read) (struct inode*, char*, int); int (*write)(struct inode*, char*, int); }; struct cbc_devsw { __code (*read) (struct inode*, char*, int, __code (*)(int)); //__code (*write)(struct inode*, char*, int, __code (*)(int)); }; extern struct devsw devsw[]; extern struct cbc_devsw cbc_devsw[]; #define CONSOLE 1