63 lines
1.7 KiB
C
63 lines
1.7 KiB
C
#ident "include/sys/file.h: $Revision: 1.4 $"
|
|
|
|
/*
|
|
* file.h - defines for file syscalls
|
|
*/
|
|
|
|
/*
|
|
* flags- also for fcntl call.
|
|
*/
|
|
#define FOPEN (-1)
|
|
#define FREAD 00001 /* descriptor read/receive'able */
|
|
#define FWRITE 00002 /* descriptor write/send'able */
|
|
#define FNDELAY 00004 /* no delay */
|
|
#define FAPPEND 00010 /* append on each write */
|
|
#define FMARK 00020 /* mark during gc() */
|
|
#define FDEFER 00040 /* defer for next gc pass */
|
|
#define FASYNC 00100 /* signal pgrp when data ready */
|
|
#define FSHLOCK 00200 /* shared lock present */
|
|
#define FEXLOCK 00400 /* exclusive lock present */
|
|
|
|
/* bits to save after open */
|
|
#define FMASK 00113
|
|
#define FCNTLCANT (FREAD|FWRITE|FMARK|FDEFER|FSHLOCK|FEXLOCK)
|
|
|
|
/* open only modes */
|
|
#define FCREAT 01000 /* create if nonexistant */
|
|
#define FTRUNC 02000 /* truncate to zero length */
|
|
#define FEXCL 04000 /* error if already created */
|
|
|
|
/*
|
|
* User definitions.
|
|
*/
|
|
|
|
/*
|
|
* Open call (standalone doesn't support all POSIX modes).
|
|
*/
|
|
#define O_RDONLY OpenReadOnly /* open for reading */
|
|
#define O_WRONLY OpenWriteOnly /* open for writing */
|
|
#define O_RDWR OpenReadWrite /* open for read & write */
|
|
|
|
/*
|
|
* Flock call.
|
|
*/
|
|
#define LOCK_SH 1 /* shared lock */
|
|
#define LOCK_EX 2 /* exclusive lock */
|
|
#define LOCK_NB 4 /* don't block when locking */
|
|
#define LOCK_UN 8 /* unlock */
|
|
|
|
/*
|
|
* Access call.
|
|
*/
|
|
#define F_OK 0 /* does file exist */
|
|
#define X_OK 1 /* is it executable by caller */
|
|
#define W_OK 2 /* writable by caller */
|
|
#define R_OK 4 /* readable by caller */
|
|
|
|
/*
|
|
* Lseek call.
|
|
*/
|
|
#define L_SET 0 /* absolute offset */
|
|
#define L_INCR 1 /* relative to current offset */
|
|
#define L_XTND 2 /* relative to end of file */
|