TIOCSCTTY(2const) — Linux manual page

TIOCSCTTY(2const)                                      TIOCSCTTY(2const)

NAME

       TIOCSCTTY, TIOCNOTTY - controlling the terminal

LIBRARY

       Standard C library (libc, -lc)

SYNOPSIS

       #include <asm/termbits.h>  /* Definition of TIOC*TTY constants */
       #include <sys/ioctl.h>

       int ioctl(int fd, TIOCSCTTY, int arg);
       int ioctl(int fd, TIOCNOTTY);

DESCRIPTION

       TIOCSCTTY
              Make the given terminal the controlling terminal of the
              calling process.  The calling process must be a session
              leader and not have a controlling terminal already.  For
              this case, arg should be specified as zero.

              If this terminal is already the controlling terminal of a
              different session group, then the ioctl fails with EPERM,
              unless the caller has the CAP_SYS_ADMIN capability and arg
              equals 1, in which case the terminal is stolen, and all
              processes that had it as controlling terminal lose it.

       TIOCNOTTY
              If the given terminal was the controlling terminal of the
              calling process, give up this controlling terminal.  If
              the process was session leader, then send SIGHUP and
              SIGCONT to the foreground process group and all processes
              in the current session lose their controlling terminal.

RETURN VALUE

       On success, 0 is returned.  On error, -1 is returned, and errno
       is set to indicate the error.

ERRORS

       EPERM  Insufficient permission.

SEE ALSO

       ioctl(2), ioctl_tty(2)

COLOPHON

       This page is part of the man-pages (Linux kernel and C library
       user-space interface documentation) project.  Information about
       the project can be found at 
       ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report
       for this manual page, see
       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
       This page was obtained from the tarball man-pages-6.9.1.tar.gz
       fetched from
       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
       2024-06-26.  If you discover any rendering problems in this HTML
       version of the page, or you believe there is a better or more up-
       to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not
       part of the original manual page), send a mail to
       man-pages@man7.org

Linux man-pages 6.9.1          2024-06-13              TIOCSCTTY(2const)

Pages that refer to this page: ioctl_tty(2)