ioctl(2)ioctl(2)NAMEioctl - control device
SYNOPSIS
Remarks
The ANSI C "" construct denotes a variable length argument list whose
optional [or required] members are given in the associated comment
DESCRIPTION
performs a variety of functions on character special files (devices),
or regular files and directories on VxFS file systems. The write-ups
of various devices in Section (7) discuss how applies to them. The
type of arg is dependent on the specific call, as described in Section
(7).
request is made up of several fields which encode the size and direc‐
tion of the argument (referenced by arg), as well as the desired com‐
mand. An enumeration of the request fields are:
Argument is read by the driver
(meaning that the argument is copied from
the application to the driver).
Argument is written by the driver
(meaning that the argument is copied from
the driver to the application). Ignored if
an error occurs.
Number of bytes in the passed argument.
A nonzero size indicates that arg is a
pointer to the passed argument. A zero size
indicates that arg is the passed argument
(if the driver wants to use it), and is not
treated as a pointer.
The request command itself.
When both and are zero, it can be assumed that request is not encoded
for size and direction, for compatibility purposes. Requests that do
not require any data to be passed and requests that use arg as a value
(as opposed to a pointer), have the bit set to one and the field set to
zero.
The following macros are used to create the request argument. x and y
are concatenated to form and shifted into the proper location according
to is the type (e.g. of the actual argument that the request refer‐
ences, and its size is taken and shifted into the appropriate place
according to
Sets and initializes the values at and accord‐
ingly.
Sets and initializes the values at and accord‐
ingly.
Sets both and and initializes the values at and
Note: any data structure referenced by arg must contain any pointers.
RETURN VALUE
If an error has occurred, a value of −1 is returned and is set to indi‐
cate the error.
fails if one or more of the following are true: IOC_OUT is ignored if
an error occurs.
[EBADF] fildes is not a valid open file descriptor.
[ENOTTY] The request is not appropriate to the selected
device.
[EINVAL] request or arg is not valid.
[EINTR] A signal was caught during the system call.
[EPERM] Typically this error indicates that an ioctl
request was attempted that is forbidden in some
way to the calling process.
AUTHOR
was developed by AT&T and HP.
SEE ALSOioctl(5), privileges(5), arp(7P), socket(7), termio(7).
STANDARDS CONFORMANCEioctl(2)