IOCTL(2)            Linux Programmer's Manual            IOCTL(2)

NAME
       ioctl - control device

SYNOPSIS
       #include <sys/ioctl.h>

       int ioctl(int d, int request, ...)

       [The  "third"  argument  is  traditionally char *argp, and
       will be so named for this discussion.]

DESCRIPTION
       The  ioctl  function  manipulates  the  underlying  device
       parameters  of special files.  In particular, many operat-
       ing characteristics of character special files (e.g.  ter-
       minals)  may be controlled with ioctl requests.  The argu-
       ment d must be an open file descriptor.

       An ioctl request has encoded in it whether the argument is
       an  in  parameter  or  out  parameter, and the size of the
       argument argp in bytes.  Macros and defines used in speci-
       fying   an   ioctl   request   are  located  in  the  file
       <sys/ioctl.h>.

RETURN VALUE
       On success, zero is returned.  On error, -1  is  returned,
       and errno is set appropriately.

ERRORS
       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.

CONFORMING TO
       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.

SEE ALSO
       execve(2), fcntl(2), mt(4), sd(4), tty(4)

BSD Man Page               23 July 1993                         1