1 /* file.h 3.3 09/27/80 */ 2 3 /* 4 * One file structure is allocated 5 * for each open/creat/pipe call. 6 * Main use is to hold the read/write 7 * pointer associated with each open 8 * file. 9 */ 10 struct file 11 { 12 short f_flag; 13 short f_count; /* reference count */ 14 struct inode *f_inode; /* pointer to inode structure */ 15 union { 16 off_t f_offset; /* read/write character pointer */ 17 struct chan *f_chan; /* mpx channel pointer */ 18 } f_un; 19 }; 20 21 #ifdef KERNEL 22 extern struct file file[]; /* the file table itself */ 23 24 struct file *getf(); 25 struct file *falloc(); 26 #endif 27 28 /* flags */ 29 #define FREAD 01 30 #define FWRITE 02 31 #define FPIPE 04 32 #define FMPX 010 33 #define FMPY 020 34 #define FMP 030 35