NAME

     ioctl - control device


SYNOPSIS

     #include <sys/types.h>
     #include <sys/ioctl.h>

     int ioctl(int d, int request, void *argp)             (Minix)
     int ioctl(int d, ioreq_t request, void *argp)         (Minix-vmd)


DESCRIPTION

     Ioctl performs a variety of functions on  open  descriptors.
     In  particular,  many operating characteristics of character
     special files (e.g. terminals) may be controlled with  ioctl
     requests.  The writeups of various devices in section 4 dis-
     cuss how ioctl applies to them.

     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 specify-
     ing an ioctl request are located in the file <sys/ioctl.h>.


RETURN VALUE

     If an error has occurred, a value  of  -1  is  returned  and
     errno is set to indicate the error.


ERRORS

     Ioctl will fail if one or more of the following are true:

     [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 refer-
                    ences.

     [EINVAL]       Request or argp is not valid.


SEE ALSO

     execve(2), fcntl(2), mt(4), tty(4), intro(4).