PTS(4) | MidnightBSD Kernel Interfaces Manual | PTS(4) |
pts
—
pseudo-terminal driver
The pts
driver provides support for a
device-pair termed a
pseudo-terminal.
A pseudo-terminal is a pair of character devices, a
master
device and a
slave
device. The slave device provides to a process an interface identical to
that described in tty(4).
However, whereas all other devices which provide the interface described in
tty(4) have a hardware
device of some sort behind them, the slave device has, instead, another
process manipulating it through the master half of the pseudo-terminal. That
is, anything written on the master device is given to the slave device as
input and anything written on the slave device is presented as input on the
master device.
The following ioctl(2) calls apply only to pseudo-terminals:
TIOCPKT
TIOCPKT_DATA
), or a single byte reflecting control
status information. In the latter case, the byte is an inclusive-or of
zero or more of the bits:
TIOCPKT_FLUSHREAD
TIOCPKT_FLUSHWRITE
TIOCPKT_STOP
^S
’.TIOCPKT_START
TIOCPKT_DOSTOP
VSTOP
is
‘^S
’ and
VSTART
is
‘^Q
’.TIOCPKT_NOSTOP
^S/^Q
’.While this mode is in use, the presence of control status information to be read from the master side may be detected by a select(2) for exceptional conditions.
This mode is used by
rlogin(1) and
rlogind(8) to
implement a remote-echoed, locally
‘^S/^Q
’ flow-controlled remote
login with proper back-flushing of output; it can be used by other
similar programs.
TIOCGPTN
TIOCPTMASTER
The files used by this pseudo-terminals implementation are:
None.
A pseudo-terminal driver appeared in
4.2BSD. In FreeBSD 8.0, it
was replaced with the pts
driver.
August 20, 2008 | midnightbsd-3.1 |