1: /*
   2:  * The I node is the focus of all
   3:  * file activity in unix. There is a unique
   4:  * inode allocated for each active file,
   5:  * each current directory, each mounted-on
   6:  * file, text file, and the root. An inode is 'named'
   7:  * by its dev/inumber pair. (iget/iget.c)
   8:  * Data, from mode on, is read in
   9:  * from permanent inode on volume.
  10:  */
  11: struct  inode
  12: {
  13:     char    i_flag;
  14:     char    i_count;    /* reference count */
  15:     int i_dev;      /* device where inode resides */
  16:     int i_number;   /* i number, 1-to-1 with device address */
  17:     int i_mode;
  18:     char    i_nlink;    /* directory entries */
  19:     char    i_uid;      /* owner */
  20:     char    i_gid;      /* group of owner */
  21:     char    i_size0;    /* most significant of size */
  22:     char    *i_size1;   /* least sig */
  23:     int i_addr[8];  /* device addresses constituting file */
  24:     int i_lastr;    /* last logical block read (for read-ahead) */
  25: } inode[NINODE];
  26: 
  27: /* flags */
  28: #define ILOCK   01      /* inode is locked */
  29: #define IUPD    02      /* inode has been modified */
  30: #define IACC    04      /* inode access time to be updated */
  31: #define IMOUNT  010     /* inode is mounted on */
  32: #define IWANT   020     /* some process waiting on lock */
  33: #define ITEXT   040     /* inode is pure text prototype */
  34: 
  35: /* modes */
  36: #define IALLOC  0100000     /* file is used */
  37: #define IFMT    060000      /* type of file */
  38: #define     IFDIR   040000  /* directory */
  39: #define     IFCHR   020000  /* character special */
  40: #define     IFBLK   060000  /* block special, 0 is regular */
  41: #define ILARG   010000      /* large addressing algorithm */
  42: #define ISUID   04000       /* set user id on execution */
  43: #define ISGID   02000       /* set group id on execution */
  44: #define ISVTX   01000       /* save swapped text even after use */
  45: #define IREAD   0400        /* read, write, execute permissions */
  46: #define IWRITE  0200
  47: #define IEXEC   0100

Defined variables

inode defined in line 25; used 8 times

Defined struct's

inode defined in line 11; used 24 times

Defined macros

IACC defined in line 30; used 6 times
IALLOC defined in line 36; used 2 times
IEXEC defined in line 47; used 7 times
IFBLK defined in line 40; used 6 times
IFCHR defined in line 39; used 6 times
IFDIR defined in line 38; used 5 times
ILARG defined in line 41; used 4 times
ILOCK defined in line 28; used 12 times
IMOUNT defined in line 31; used 3 times
IREAD defined in line 45; used 5 times
ISGID defined in line 43; used 1 times
ISUID defined in line 42; used 1 times
ISVTX defined in line 44; used 3 times
ITEXT defined in line 33; used 4 times
IWANT defined in line 32; used 4 times
IWRITE defined in line 46; used 9 times

Usage of this include

Last modified: 1975-07-18
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 2209
Valid CSS Valid XHTML 1.0 Strict