fcntl(5)
NAME
fcntl − file control options
SYNOPSIS
#include <fcntl.h>
DESCRIPTION
The <fcntl.h> header defines the following requests and arguments for use by the functions fcntl(2) and open(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.
The following four sets of values for the oflag used by open() 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.
File status flags used for open() and fcntl():
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 open() and fcntl():
O_RDONLY Open for reading only.
O_RDWR Open for reading and writing.
O_WRONLY Open for writing only.
The flock structure describes a file lock. It includes the following members:
shortl_type;/∗ Type of lock ∗/
shortl_whence;/∗ Flag for starting offset ∗/
off_tl_start;/∗ Relative offset in bytes ∗/
off_tl_len;/∗ Size; if 0 then until EOF ∗/
longl_sysid;/∗ Returned with F_GETLK ∗/
pid_tl_pid;/∗ Returned with F_GETLK ∗/
The structure fshare describes a file share reservation. It includes the following members:
shortf_access;/∗ Type of reservation ∗/
shortf_deny;/∗ Type of reservations to deny ∗/
longf_id;/∗ Process unique identifier ∗/
SEE ALSO
creat(2), exec(2), fcntl(2), open(2), fdatasync(3R), fsync(3C), standards(5)
NOTES
Data is successfully transferred for a write operation to a regular file when the system ensures that all data written is readable on any subsequent open of the file (even one that follows a system or power failure) in the absence of a failure of the physical storage medium.
Data is successfully transferred for a read operation when an image of the data on the physical storage medium is available to the requesting process.
Synchronized I/O data integrity completion (see fdatasync(3R)):
For reads, the operation has been completed or diagnosed if unsuccessful. The read is complete only when an image of the data has been successfully transferred to the requesting process. If there were any pending write requests affecting the data to be read at the time that the synchronized read operation was requested, these write requests will be successfully transferred prior to reading the data.
For writes, the operation has been completed or diagnosed if unsuccessful. The write is complete only when the data specified in the write request is successfully transferred, and all file system information required to retrieve the data is successfully transferred.
File attributes that are not necessary for data retrieval (access time, modification time, status change time) need not be successfully transferred prior to returning to the calling process.
Synchronized I/O file integrity completion (see fsync(3C)):
Identical to a synchronized I/O data integrity completion with the addition that all file attributes relative to the I/O operation (including access time, modification time, status change time) will be successfully transferred prior to returning to the calling process.
SunOS 5.6 — Last change: 4 Apr 1997