IOCTL(2) | System Calls Manual | IOCTL(2) |
ioctl
— control
device
Standard C Library (libc, -lc)
#include
<sys/ioctl.h>
int
ioctl
(int
fd, unsigned long
request, ...);
The
ioctl
()
system call 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 fd must be an open file
descriptor.
The third argument to
ioctl
() is
traditionally named char *argp. Most uses of
ioctl
(), however, require the third argument to be a
caddr_t or an int.
An
ioctl
()
request has encoded in it whether the argument is an
“in” argument or “out” argument, and the size of
the argument argp in bytes. Macros and defines used in
specifying an ioctl request are located in the file
<sys/ioctl.h>
.
Some generic ioctls are not implemented for all types of file descriptors. These include:
FIONREAD
int
FIONWRITE
int
FIONSPACE
int
If an error has occurred, a value of -1 is returned and errno is set to indicate the error.
The ioctl
() system call will fail if:
EBADF
]ENOTTY
]ENOTTY
]EINVAL
]EFAULT
]The ioctl
() function appeared in
Version 7 AT&T UNIX.
September 11, 2013 | Debian |