ioctl - control device
int ioctl(int d, int request, ...)
[The "third" argument is traditionally char *argp, and will
be so named for this discussion.]
The ioctl function manipulates the underlying device parame-
ters 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.
An ioctl request has encoded in it whether the argument is
an in parameter or out parameter, and the size of the argu-
ment argp in bytes. Macros and defines used in specifying
an ioctl request are located in the file <sys/ioctl.h>.
On success, zero is returned. On error, -1 is returned, and
errno is set appropriately.
EBADF d is not a valid descriptor.
ENOTTY d is not associated with a character special device.
ENOTTY The specified request does not apply to the kind of
object that the descriptor d references.
EINVAL Request or argp is not valid.
No single standard. Arguments, returns, and semantics of
ioctl(2) vary according to the device driver in question
(the call is used as a catch-all for operations that don't
cleanly fit the Unix stream I/O model). See ioctl_list(2)
for a list of many of the known ioctl calls. The ioctl
function call appeared in Version 7 AT&T Unix.
execve(2), fcntl(2), mt(4),