Manual page for ioctl(2)
ioctl - control device
int ioctl(int fildes,
/* arg */ ...);
performs a variety of control functions on devices and STREAMS.
For non-STREAMS files, the functions performed by this call are
request and an optional third argument with varying type
are passed to the file designated by fildes
and are interpreted by the device driver.
For STREAMS files, specific functions are performed by
call as described in
is an open file descriptor that refers to a device.
selects the control function to be performed
and depends on the device being addressed.
represents a third argument that has additional information
that is needed by this specific device
to perform the requested function.
The data type of
depends upon the particular control request,
but it is either an int
or a pointer to a device-specific data structure.
In addition to device-specific and STREAMS functions,
generic functions are provided by more than one device driver,
for example, the general terminal interface (see
Upon successful completion,
the value returned depends upon the device control function,
but must be a non-negative integer.
is returned and
is set to indicate the error.
fails for any type of file
if one or more of the following are true:
is not a valid open file descriptor.
A signal was caught during the
or multiplexer referenced by fildes is linked (directly or
indirectly) downstream from a multiplexer.
also fails if the device driver detects
an error. In this case, the
error is passed through
without change to the caller.
A particular driver might not have all of the following error cases.
Under the following conditions,
requests to device drivers may fail
and set errno to:
requires a data transfer to or from
a buffer pointed to by
points to an illegal address.
is not valid for this device.
Some physical I/O error has occurred.
fildes is on a remote machine and the link
to that machine is no longer active.
is not associated with a
device that accepts control functions.
arguments are valid for this device driver,
but the service requested can not be performed
on this particular subdevice.
The fildes argument refers to a valid
device, but the
corresponding device driver does not support the
STREAMS errors are described in
Created by unroff & hp-tools.
© by Hans-Peter Bischof. All Rights Reserved (1997).
Last modified 07/October/97