+.TH PTY 4 "7 July 1983"
+.UC 4
+.SH NAME
+pty \- pseudo terminal driver
+.SH SYNOPSIS
+.B pseudo-device pty
+.SH DESCRIPTION
+The
+.I pty
+driver provides support for a device-pair termed a
+.IR "pseudo terminal" .
+A pseudo terminal is a pair of character devices, a
+.I master
+device and a
+.I slave
+device. The slave device provides processes
+an interface identical
+to that described in
+.IR tty (4).
+However, whereas all other devices which provide the
+interface described in
+.IR 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.
+.PP
+In configuring, if no optional ``count'' is given in
+the specification, 16 pseudo terminal pairs are configured.
+.PP
+The following
+.I ioctl
+calls apply only to pseudo terminals:
+.TP
+TIOCSTOP
+Stops output to a terminal (e.g. like typing ^S). Takes
+no parameter.
+.TP
+TIOCSTART
+Restarts output (stopped by TIOCSTOP or by typing ^S).
+Takes no parameter.
+.TP
+TIOCPKT
+Enable/disable
+.I 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
+.I 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:
+.RS
+.TP
+TIOCPKT_FLUSHREAD
+whenever the read queue for the terminal is flushed.
+.TP
+TIOCPKT_FLUSHWRITE
+whenever the write queue for the terminal is flushed.
+.TP
+TIOCPKT_STOP
+whenever output to the terminal is stopped a la ^S.
+.TP
+TIOCPKT_START
+whenever output to the terminal is restarted.
+.TP
+TIOCPKT_DOSTOP
+whenever
+.I t_stopc
+is ^S
+and
+.I t_startc
+is ^Q.
+.TP
+TIOCPKT_NOSTOP
+whenever the start and stop characters are not ^S/^Q.
+.RE
+.IP
+This mode is used by
+.IR rlogin (1C)
+and
+.IR rlogind (8C)
+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.
+.TP
+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 usage, 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 doing remote line
+editing in a window manager, or whenever flow controlled input
+is required.
+.SH FILES
+.DT
+/dev/pty[p-r][0-9a-f] master pseudo terminals
+.br
+/dev/tty[p-r][0-9a-f] slave pseudo terminals
+.SH DIAGNOSTICS
+None.
+.SH BUGS
+It is not possible to send an EOT.