xref: /original-bsd/sys/sys/file.h (revision d25e1985)
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