pty(7) CLIX pty(7)
NAME
pty - Pseudo-terminal device driver
DESCRIPTION
The pty driver supports a device-pair called a ``pseudo-terminal.'' A
pseudo-terminal is a pair of character devices, a ``master'' device and a
``slave'' device. The slave device provides an interface identical to the
interface described in termio. All other devices that provide this
interface have a corresponding hardware device. The pseudo-terminal slave
device has, instead, another process manipulating it through the master
half of the pseudo-terminal. 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 ioctl() system call
ioctl(fildes, request, arg)
can be used with the following requests which apply only to pseudo-
terminals:
TIOCSTOP Stop output to a terminal (keying in the <Ctrl-S> sequence).
This command does not require a parameter.
TIOCSTART Restart output (stopped by TIOCSTOP or by keying in the
<Ctrl-S> sequence). This command does not require a
parameter.
TIOCPKT Enable/disable packet mode. Packet mode is enabled by
specifying (by reference) a nonzero parameter and disabled by
specifying (by reference) a zero parameter. When applied to
the master side of a pseudo-terminal, each subsequent read
from the terminal will return data written on the slave part
of the pseudo-terminal preceded by a zero byte (symbolically
defined as 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
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 by keying in the
<Ctrl-S> sequence.
TIOCPKT_START
2/94 - Intergraph Corporation 1
pty(7) CLIX pty(7)
Output to the terminal is restarted.
TIOCPKT_DOSTOP
IXON is enabled.
TIOCPKT_NOSTOP
IXON is not enabled.
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() for exceptional condition.
This mode is used by rlogin and rlogind to implement a
remote-echoed, locally <Ctrl-S> and <Ctrl-Q> flow-
controlled remote login with proper back-flushing of
output; it can be used by similar programs.
TIOCUCNTL Enable/disable a mode that allows a small number of simple
user ioctl commands to be passed through the pseudo-terminal,
using a protocol similar to that of TIOCPKT. The TIOCUCNTL
and TIOCPKT modes are mutually exclusive. This mode is
enabled from the master side of a pseudo-terminal by
specifying (by reference) a nonzero parameter and disabled by
specifying (by reference) a zero parameter. Each subsequent
read() from the master side will return data written on the
slave part of the pseudo-terminal preceded by a zero byte or a
single byte reflecting a user control operation on the slave
side. A user control command consists of a special ioctl
operation with no data; the command is given as UIOCCMD(n),
where n is a number in the 1-255 range. The operation value n
will be received as a single byte on the next read() from the
master side. The ioctl() UIOCCMD(0) is a no-op that may be
used to probe for this facility. As with TIOCPKT mode,
command operations may be detected with a select for
exceptional conditions.
TIOCREMOTE A mode for the master half of a pseudo-terminal, independent
of TIOCPKT. This mode causes input to the pseudo-terminal to
be flow-controlled and not input edited (regardless of the
terminal mode). Each write to the control terminal produces a
record boundary for the process reading the terminal. In
normal use, a write of data is like the data typed as a line
on the terminal; a write of 0 bytes is like typing an end-of-
file character. TIOCREMOTE can be used when performing remote
line editing in a window manager, or whenever flow-controlled
input is required.
FILES
/dev/pty[p-r][0-9a-f] Master pseudo-terminals.
2 Intergraph Corporation - 2/94
pty(7) CLIX pty(7)
/dev/tty[p-r][0-9a-f] Slave pseudo-terminals.
RELATED INFORMATION
Functions:L ioctl(2), read(2), write(2)
Files:termio(7)
2/94 - Intergraph Corporation 3