ioctl(2) - Online Manual Page Of Unix/Linux

  Command: man perldoc info search(apropos)

WebSearch:
Our Recommended Sites: Full-Featured Editor
 

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



NAME
       ioctl - control device

SYNOPSIS
       #include 

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

DESCRIPTION
       The ioctl function manipulates the underlying device parameters of special files.  In par-
       ticular, many operating characteristics of character special files (e.g. terminals) may be
       controlled with ioctl requests.  The argument d must be an open file descriptor.

       The  second argument is a device-dependent request code.  The third argument is an untyped
       pointer to memory.  It's traditionally char *argp (from the days before void *  was  valid
       C), and will be so named for this discussion.

       An  ioctl request has encoded in it whether the argument is an in parameter or out parame-
       ter, and the size of the argument argp in bytes.  Macros and defines used in specifying an
       ioctl request are located in the file .

RETURN VALUE
       Usually,  on  success  zero  is  returned.  A few ioctls use the return value as an output
       parameter and return a nonnegative value on success.  On error, -1 is returned, and  errno
       is set appropriately.

ERRORS
       EBADF  d is not a valid descriptor.

       EFAULT argp references an inaccessible memory area.

       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.

NOTE
       In order to use this call, one needs an open file descriptor.  Often the open(2) call  has
       unwanted side effects, that can be avoided under Linux by giving it the O_NONBLOCK flag.

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), ioctl_list(2), open(2), mt(4), sd(4), tty(4)



BSD Man Page                                2000-09-21                                   IOCTL(2)