|Linux & Unix Commands - Search Man Pages
IOCTL(2) Linux Programmer's Manual IOCTL(2)
ioctl - control device
int ioctl(int d, int request, ...);
The ioctl function manipulates the underlying device parameters of special files. In par-
ticular, 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 second argument is a device-dependent request code. The third argument is an untyped
pointer to memory. It's traditionally char *argp (from the days before void * was valid
C), and will be so named for this discussion.
An ioctl request has encoded in it whether the argument is an in parameter or out parame-
ter, 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>.
Usually, on success zero is returned. A few ioctls use the return value as an output
parameter and return a nonnegative value on success. On error, -1 is returned, and errno
is set appropriately.
EBADF d is not a valid descriptor.
EFAULT argp references an inaccessible memory area.
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
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), ioctl_list(2), mt(4), sd(4), tty(4)
BSD Man Page 2000-09-21 IOCTL(2)
All times are GMT -4. The time now is 02:15 AM.