| IOCTL(2) | System Calls Manual | IOCTL(2) |
ioctl —
#include <sys/ioctl.h>
int
ioctl(int
d, unsigned long
request, ...);
ioctl() function manipulates the underlying device
parameters of special files. In particular, many operating characteristics of
character special files (e.g., terminals) may be controlled with
ioctl() requests.
The argument d must be an open file
descriptor. The third argument is called arg and
contains additional information needed by this device to perform the
requested function. arg is either an
int or a pointer to a device-specific data
structure, depending upon the given request.
An ioctl request has
encoded in it whether the argument is an “in” parameter or
“out” parameter, and the size of the third argument
(arg) in bytes. Macros and defines used in specifying
an ioctl request are located in the file
<sys/ioctl.h>.
FIOCLEXFIONCLEXSome generic ioctls are not implemented for all types of file descriptors. These include:
FIONREAD
int *FIONBIO
int *EAGAIN immediately
when no data is available.FIOASYNC
int *FIOSETOWN will start receiving
SIGIO signals when data is available. The
SIGIO signal will be delivered when data is
available on the file descriptor.FIOSETOWN,
FIOGETOWN int *SIGIO signals when data is available.ioctl() will fail if:
EBADF]ENOTTY]ENOTTY]EINVAL]EFAULT]ioctl() function call appeared in
Version 7 AT&T UNIX.
| June 27, 2014 | OpenBSD-current |