pty(4)

NAME

pty - pseudo terminal driver

SYNOPSIS

device pty

DESCRIPTION

The pty 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 de
vice is presented as input on the master device.
The following ioctl(2) calls apply only to pseudo terminals:
TIOCSTOP Stops output to a terminal (e.g. like typing
`^S'). Takes no
parameter.
TIOCSTART Restarts output (stopped by TIOCSTOP or by typ
ing `^S').
Takes no parameter.
TIOCPKT Enable/disable packet mode. Packet mode is en
abled by speci
fying (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 sub
sequent read(2)
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 re
flecting control
status information. In the latter case, the
byte is an
inclusive-or of zero or more of the bits:
TIOCPKT_FLUSHREAD whenever the read queue for
the terminal
is flushed.
TIOCPKT_FLUSHWRITE whenever the write queue for
the terminal
is flushed.
TIOCPKT_STOP whenever output to the ter
minal is
stopped a la `^S'.
TIOCPKT_START whenever output to the ter
minal is
restarted.
TIOCPKT_DOSTOP whenever t_stopc is `^S' and
t_startc is
`^Q'.
TIOCPKT_NOSTOP whenever the start and stop
characters
are not `^S/^Q'.
While this mode is in use,
the presence
of control status informa
tion 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-con
trolled remote
login with proper back
flushing of output; it can be used by other
similar programs.
TIOCUCNTL Enable/disable a mode that allows a small number
of simple
user ioctl(2) commands to be passed through the
pseudo-terminal, using a protocol similar to that of TIOCP
KT. The
TIOCUCNTL and TIOCPKT modes are mutually exclu
sive. 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(2) 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 opera
tion on the
slave side. A user control command consists of
a special
ioctl(2) operation with no data; the command is
given as
UIOCCMD(n), where n is a number in the range
1-255. The
operation value n will be received as a single
byte on the
next read(2) from the master side. The ioctl(2)
UIOCCMD(0)
is a no-op that may be used to probe for the ex
istence of
this facility. As with TIOCPKT mode, command
operations may
be detected with a select(2) for exceptional
conditions.

FILES

/dev/pty[p-sP-S][0-9a-v] master pseudo terminals
/dev/tty[p-sP-S][0-9a-v] slave pseudo terminals

DIAGNOSTICS

None.

SEE ALSO

tty(4)

HISTORY

The pty driver appeared in 4.2BSD.
BSD November 30, 1993
Copyright © 2010-2024 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout