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
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
IFMT
defined in line
37; used 15 times
ILARG
defined in line
41; used 4 times
ILOCK
defined in line
28; used 12 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
IUPD
defined in line
29; used 14 times
IWANT
defined in line
32; used 4 times
Usage of this include