Node:Control Operations, Next:Duplicating Descriptors, Previous:Asynchronous I/O, Up:Low-Level I/O
This section describes how you can perform various other operations on
file descriptors, such as inquiring about or setting flags describing
the status of the file descriptor, manipulating record locks, and the
like. All of these operations are performed by the function fcntl
.
The second argument to the fcntl
function is a command that
specifies which operation to perform. The function and macros that name
various flags that are used with it are declared in the header file
fcntl.h
. Many of these flags are also used by the open
function; see Opening and Closing Files.
int fcntl (int filedes, int command, ...) | Function |
The fcntl function performs the operation specified by
command on the file descriptor filedes. Some commands
require additional arguments to be supplied. These additional arguments
and the return value and error conditions are given in the detailed
descriptions of the individual commands.
Briefly, here is a list of what the various commands are.
This function is a cancellation point in multi-threaded programs. This
is a problem if the thread allocates some resources (like memory, file
descriptors, semaphores or whatever) at the time |