FCNTL(5) SysV FCNTL(5)
NAME
fcntl - file control options
SYNOPSIS
#include <fcntl.h>
DESCRIPTION
The fcntl(2) function provides for control over open files. This include
file describes requests and arguments to fcntl and open(2).
/* Flag values accessible to open(2) and fcntl(2) */
/* (The first three can only be set by open) */
#define O_RDONLY 000
#define O_WRONLY 001
#define O_RDWR 002
#define O_NDELAY 004 /* Non-blocking I/O on object */
#define O_APPEND 010 /* append (writes guaranteed at the end) */
#define O_SYNC 020 /* synchronous write option */
/* Flag values accessible only to open(2) */
#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(2) 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 7 /* Get file lock */
#define F_SETLK 8 /* Set file lock */
#define F_SETLKW 9 /* Set file lock and wait */
#define F_CHKFL 10 /* Check legality of file flag changes */
/* file segment locking set data type - information passed to system by user */
struct flock {
short l_type;
short l_whence;
long l_start;
long l_len; /* len = 0 means until end of file */
short l_sysid;
short l_pid;
};
/* file segment locking types */
#define F_RDLCK 01 /* Read lock */
#define F_WRLCK 02 /* Write lock */
#define F_UNLCK 03 /* Remove lock(s) */
SEE ALSO
fcntl(2), open(2).