man(1) Manual page archive


     IOCTL(2)                                                 IOCTL(2)

     NAME
          ioctl, stty, gtty - control device

     SYNOPSIS
          #include <sgtty.h>

          ioctl(fildes, request, argp)
          struct sgttyb *argp;

          stty(fildes, argp)
          struct sgttyb *argp;

          gtty(fildes, argp)
          struct sgttyb *argp;

     DESCRIPTION
          Ioctl performs a variety of functions on character special
          files (devices).  The writeups of various devices in section
          4 discuss how ioctl applies to them.

          For certain status setting and status inquiries about termi-
          nal devices, the functions stty and gtty are equivalent to
               ioctl(fildes, TIOCSETP, argp)
               ioctl(fildes, TIOCGETP, argp)

          respectively; see tty(4).

          The following two calls, however, apply to any open file:

               ioctl(fildes, FIOCLEX, NULL);
               ioctl(fildes, FIONCLEX, NULL);

          The first causes the file to be closed automatically during
          a successful exec operation; the second reverses the effect
          of the first.

     SEE ALSO
          stty(1), tty(4), exec(2)

     DIAGNOSTICS
          Zero is returned if the call was successful; -1 if the file
          descriptor does not refer to the kind of file for which it
          was intended.

     BUGS
          Strictly speaking, since ioctl may be extended in different
          ways to devices with different properties, argp should have
          an open-ended declaration like

               union { struct sgttyb ...; ...  } *argp;

     IOCTL(2)                                                 IOCTL(2)

          The important thing is that the size is fixed by `struct
          sgttyb'.

     ASSEMBLER
          (ioctl = 54.)
          sys ioctl; fildes; request; argp

          (stty = 31.)
          (file descriptor in r0)
          stty; argp

          (gtty = 32.)
          (file descriptor in r0)
          sys gtty; argp