BSD 4_2 development
authorMike Accetta <mja@cs.cmu.edu>
Thu, 7 Jul 1983 15:37:36 +0000 (07:37 -0800)
committerMike Accetta <mja@cs.cmu.edu>
Thu, 7 Jul 1983 15:37:36 +0000 (07:37 -0800)
Work on file usr/man/man4/pty.4

Synthesized-from: CSRG/cd1/4.2

usr/man/man4/pty.4 [new file with mode: 0644]

diff --git a/usr/man/man4/pty.4 b/usr/man/man4/pty.4
new file mode 100644 (file)
index 0000000..7d3f14c
--- /dev/null
@@ -0,0 +1,112 @@
+.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.