fcntl(5P) INTERACTIVE UNIX System (POSIX) fcntl(5P)
NAME
fcntl - file control options
SYNOPSIS
#include <sys/types.h>
#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 0
#define O_WRONLY 1
#define O_RDWR 2
#define O_NONBLOCK 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(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 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;
off_t l_start;
off_t l_len; /* if 0 then until EOF */
short l_sysid; /* returned with F_GETLK*/
pid_t 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 */
Rev. 1.1 Page 1
fcntl(5P) INTERACTIVE UNIX System (POSIX) fcntl(5P)
SEE ALSO
fcntl(2), open(2P).
Rev. 1.1 Page 2