TIOCSCTTY, TIOCNOTTY - controlling the terminal
Standard C library (libc, -lc)
#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);
- 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.
On success, 0 is returned. On error, -1 is returned, and
errno is set to indicate the error.
- EPERM
- Insufficient permission.