ioctl

Command: man perldoc info search(apropos)  


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() in FreeBSD 3.0, 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 6.2 December 11, 1993 FreeBSD 6.2

Copyright ©2006 TheBestISP.com