File:  [Research Unix] / researchv10dc / lsys / sys / file.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:34 2018 UTC (8 years, 3 months ago) by root
Branches: belllabs, MAIN
CVS tags: researchv10, HEAD
researchv10 Dan Cross

/*
 * One file structure is allocated
 * for each open/creat/pipe call.
 * Main use is to hold the read/write
 * pointer associated with each open
 * file.
 */
struct	file
{
	short	f_flag;
	short	f_count;		/* reference count */
	struct inode *f_inode;		/* pointer to inode structure */
	Long	f_offset;		/* read/write character pointer */
};

#ifdef	KERNEL
extern struct file file[];
extern struct file *fileNFILE;
extern int filecnt;

struct	file *falloc();
struct	file *allocfile();

/*
 * inline to speed things up
 */
#define	getf(fd)	((unsigned)(fd)>=NOFILE ? NULL : u.u_ofile[fd])

#endif

/* flags */
#define	FREAD	01
#define	FWRITE	02
#define	FPIPE	04
#define	FHUNGUP 010
#define	FRNBLK	040	/* no block on read */
#define	FWNBLK	0100	/* no block on write */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.