root/file.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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
  39 
  40 //PAGEBREAK!
  41 // Blank page.

/* [<][>][^][v][top][bottom][index][help] */