DragonFly On-Line Manual Pages
IOCTL(2) DragonFly System Calls Manual IOCTL(2)
NAME
ioctl -- control device
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/ioctl.h>
int
ioctl(int d, unsigned long request, ...);
DESCRIPTION
The ioctl() system call manipulates the underlying device parameters of
special files. In particular, many operating characteristics of charac-
ter special files (e.g. terminals) may be controlled with ioctl()
requests. The argument d 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>.
RETURN VALUES
If an error has occurred, a value of -1 is returned and errno is set to
indicate the error.
ERRORS
Ioctl() will fail if:
[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.
[EFAULT] argp points outside the process's allocated address
space.
SEE ALSO
execve(2), fcntl(2), intro(4), tty(4), ioctl(9)
HISTORY
An ioctl() function call appeared in Version 7 AT&T UNIX.
DragonFly 3.5 December 11, 1993 DragonFly 3.5