TIOCPKT(2const) TIOCPKT(2const)
NAME
TIOCPKT, TIOCGPKT, TIOCSPTLCK, TIOCGPTLCK, TIOCGPTPEER - pseudoterminal
ioctls
LIBRARY
Standard C library (libc, -lc)
SYNOPSIS
#include <asm/termbits.h> /* Definition of TIOC* constants */
#include <sys/ioctl.h>
int ioctl(int fd, TIOCPKT, const int *mode);
int ioctl(int fd, TIOCPKT, int *mode);
int ioctl(int fd, TIOCSPTLCK, const int *lock);
int ioctl(int fd, TIOCGPTLCK, int *lock);
int ioctl(int fd, TIOCGPTPEER, int flags);
DESCRIPTION
TIOCPKT
Enable (when *mode is nonzero) or disable packet mode. Can be
applied to the master side of a pseudoterminal only (and will re-
turn ENOTTY otherwise). In packet mode, each subsequent read(2)
will return a packet that either contains a single nonzero con-
trol byte, or has a single byte containing zero ('\0') followed
by data written on the slave side of the pseudoterminal. If the
first byte is not TIOCPKT_DATA (0), it is an OR of one or more of
the following bits:
TIOCPKT_FLUSHREAD The read queue for the
terminal is flushed.
TIOCPKT_FLUSHWRITE The write queue for the
terminal is flushed.
TIOCPKT_STOP Output to the terminal is
stopped.
TIOCPKT_START Output to the terminal is
restarted.
TIOCPKT_DOSTOP The start and stop charac-
ters are ^S/^Q.
TIOCPKT_NOSTOP The start and stop charac-
ters are not ^S/^Q.
While packet mode is in use, the presence of control status in-
formation to be read from the master side may be detected by a
select(2) for exceptional conditions or a poll(2) for the POLLPRI
event.
This mode is used by rlogin(1) and rlogind(8) to implement a re-
mote-echoed, locally ^S/^Q flow-controlled remote login.
TIOCGPKT
Return the current packet mode setting in the integer pointed to
by mode.
TIOCSPTLCK
Set (if *lock is nonzero) or remove (if *lock is zero) the lock
on the pseudoterminal slave device. (See also unlockpt(3).)
TIOCGPTLCK
Place the current lock state of the pseudoterminal slave device
in the location pointed to by lock.
TIOCGPTPEER
Given a file descriptor in fd that refers to a pseudoterminal
master, open (with the given open(2)-style flags) and return a
new file descriptor that refers to the peer pseudoterminal slave
device. This operation can be performed regardless of whether
the pathname of the slave device is accessible through the call-
ing process's mount namespace.
Security-conscious programs interacting with namespaces may wish
to use this operation rather than open(2) with the pathname re-
turned by ptsname(3), and similar library functions that have in-
secure APIs. (For example, confusion can occur in some cases us-
ing ptsname(3) with a pathname where a devpts filesystem has been
mounted in a different mount namespace.)
RETURN VALUE
On success, 0 is returned. On error, -1 is returned, and errno is set
to indicate the error.
ERRORS
ENOTTY
HISTORY
TIOCGPKT
Linux 3.8.
TIOCGPTLCK
Linux 3.8.
TIOCGPTPEER
Linux 4.13.
The BSD ioctls TIOCSTOP, TIOCSTART, TIOCUCNTL, and TIOCREMOTE have not
been implemented under Linux.
SEE ALSO
ioctl(2), ioctl_tty(2)
Linux man-pages 6.9.1 2024-06-15 TIOCPKT(2const)
Generated by dwww version 1.16 on Tue Dec 16 04:04:08 CET 2025.