IOCTL(2) FreeBSD 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
The ioctl() system call will fail if:
[EBADF] The d argument is not a valid descriptor.
[ENOTTY] The d argument is not associated with a character spe-
cial device.
[ENOTTY] The specified request does not apply to the kind of
object that the descriptor d references.
[EINVAL] The request or argp argument is not valid.
[EFAULT] The argp argument points outside the process's allo-
cated address space.
SEE ALSO
execve(2), fcntl(2), intro(4), tty(4)
HISTORY
The ioctl() function appeared in Version 7 AT&T UNIX.
FreeBSD 7.2 July 14, 2007 FreeBSD 7.2
NAME - LIBRARY - SYNOPSIS - DESCRIPTION - RETURN VALUES - ERRORS -
SEE ALSO - HISTORY -
|