/ Flag values accessible to open(S) and fcntl(S) / / (The first three can only be set by open) / #define O_RDONLY 0 #define O_WRONLY 1 #define O_RDWR 2 #define O_NDELAY 04 / Non-blocking I/O / #define O_APPEND 010 / append (writes guaranteed at the end) / #define O_SYNC 020 / synchronous write option // Flag values accessible only to open(S) / #define O_CREAT 00400 / open with file create (uses third open arg)/ #define O_TRUNC 01000 / open with truncation / #define O_EXCL 02000 / exclusive open /
/ fcntl(S) requests / #define F_DUPFD 0 / Duplicate fildes / #define F_GETFD 1 / Get fildes flags / #define F_SETFD 2 / Set fildes flags / #define F_GETFL 3 / Get file flags / #define F_SETFL 4 / Set file flags / #define F_GETLK 5 / Get file lock / #define F_SETLK 6 / Set file lock / #define F_SETLKW 7 / Set file lock and wait / #define F_CHKFL 8 / Check legality of file flag changes /
/ file segment locking control structure / struct flock { short l_type; short l_whence; long l_start; long l_len; / if 0 then until EOF / short l_sysid; / returned with F_GETLK/ short l_pid; / returned with F_GETLK/ }
]/ file segment locking types / #define F_RDLCK 01 / Read lock / #define F_WRLCK 02 / Write lock / #define F_UNLCK 03 / Remove locks /
ISO/IEC 99451:1990, Information technology Portable Operating System Interface (POSIX) Part 1: System Application Program Interface (API) [C Language] (IEEE Std 1003.11990);
AT&T SVID Issue 2;
X/Open CAE Specification, System Interfaces and Headers, Issue 4, 1992.