The <fcntl.h> header defines the following requests and arguments for use by the functions fcntl(2), open(2), and openat(2).
Values for cmd used by fcntl() (the following values are unique):
-
F_DUPFD
- Duplicate file descriptor.
-
F_DUP2FD
- Similar to F_DUPFD, but always returns arg.
-
F_GETFD
- Get file descriptor flags.
-
F_SETFD
- Set file descriptor flags.
-
F_GETFL
- Get file status flags.
-
F_SETFL
- Set file status flags.
-
F_GETOWN
- Get process or process group ID to receive SIGURG signals.
-
F_SETOWN
- Set process or process group ID to receive SIGURG signals.
-
F_FREESP
- Free storage space associated with a section of the ordinary file fildes.
-
F_GETLK
- Get record locking information.
-
F_GETLK64
- Equivalent to F_GETLK, but takes a struct flock64 argument rather than a struct flock argument.
-
F_SETLK
- Set record locking information.
-
F_SETLK64
- Equivalent to F_SETLK, but takes a struct flock64 argument rather than a struct flock argument.
-
F_SETLKW
- Set record locking information; wait if blocked.
-
F_SETLKW64
- Equivalent to F_SETLKW, but takes a struct flock64 argument rather than a struct flock argument.
-
F_SHARE
- Set share reservation.
-
F_UNSHARE
- Remove share reservation.
File descriptor flags used for fcntl():
-
FD_CLOEXEC
- Close the file descriptor upon execution of an exec function (see exec(2)).
Values for l_type used for record locking with fcntl() (the following values are unique):
-
F_RDLCK
- Shared or read lock.
-
F_UNLCK
- Unlock.
-
F_WRLCK
- Exclusive or write lock.
Values for f_access used for share reservations with fcntl() (the following values are unique):
-
F_RDACC
- Read-only share reservation.
-
F_WRACC
- Write-only share reservation.
-
F_RWACC
- Read and write share reservation.
Values for f_deny used for share reservations with fcntl() (the following values are unique):
-
F_COMPAT
- Compatibility mode share reservation.
-
F_RDDNY
- Deny other read access share reservations.
-
F_WRDNY
- Deny other write access share reservations.
-
F_RWDNY
- Deny other read or write access share reservations.
-
F_NODNY
- Do not deny other read or write access share reservations.
File creation and assignment flags are used in the oflag argument by open() and openat(). All of these values are bitwise distinct:
-
O_CREAT
- Create file if it does not exist.
-
O_EXCL
- Exclusive use flag.
-
O_NOCTTY
- Do not assign controlling tty.
-
O_TRUNC
- Truncate flag.
-
O_XATTR
- When opening a file, this flag affects the way in which relative paths are resolved by open() and openat(). With this flag set, the path argument is resolved as an extended
attribute reference on either the current working directory (if open) or of the file referenced by the file descriptor argument of openat().
File status flags used for fcntl(), open(), and open():
-
O_APPEND
- Set append mode.
-
O_NDELAY
- Non-blocking mode.
-
O_NONBLOCK
- Non-blocking mode (POSIX; see standards(5)).
-
O_DSYNC
- Write I/O operations on the file descriptor complete as defined by synchronized I/O data integrity completion.
-
O_RSYNC
- Read I/O operations on the file descriptor complete at the same level of integrity as specified by the the O_DSYNC and O_SYNC flags. If both O_DSYNC and O_RSYNC are set in oflag, all I/O operations on the file descriptor complete as defined by synchronized I/O data integrity completion. If both O_SYNC
and O_RSYNC are set in oflag, all I/O operations on the file descriptor complete as defined by synchronized I/O file integrity completion.
-
O_SYNC
- When opening a regular file, this flag affects subsequent writes. If set, each write(2)
will wait for both the file data and file status to be physically updated. Write I/O operations on the file descriptor complete as defined by synchronized I/O file integrity completion.
Mask for use with file access modes:
-
O_ACCMODE
- Mask for file access modes.
File access modes used for fcntl(), open(), and openat():
-
O_RDONLY
- Open for reading only.
-
O_RDWR
- Open for reading and writing.
-
O_WRONLY
- Open for writing only.
The following constants are used by system calls capable of resolving paths relative to a provided open file descriptor:
-
AT_FDCWD
- Special value to pass in place of a file descriptor to inform the called routine that relative path arguments should be resolved from the current working directory.
-
AT_SYMLINK_NOFOLLOW
- Flag passed to fstatat(2) and fchownat(2) to change the bahavior of these functions when they are given a file as an argument that is a symbolic link. In this case the functions operate on the symbolic link file rather than the file the link references.
-
AT_REMOVEDIR
- Flag passed to unlinkat(2) to tell it to assume that its path argument refers to a directory
and to attempt to remove this directory.
The flock structure describes a file lock. It includes the following members:
|
short l_type; /* Type of lock */
short l_whence; /* Flag for starting offset */
off_t l_start; /* Relative offset in bytes */
off_t l_len; /* Size; if 0 then until EOF */
long l_sysid; /* Returned with F_GETLK */
pid_t l_pid; /* Returned with F_GETLK */
|
The structure fshare describes a file share reservation. It includes the following members:
|
short f_access; /* Type of reservation */
short f_deny; /* Type of reservations to deny */
long f_id; /* Process unique identifier */
|
|