Annotation of 43BSDReno/share/man/man4/pty.4, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1983 Regents of the University of California.
        !             2: .\" All rights reserved.  The Berkeley software License Agreement
        !             3: .\" specifies the terms and conditions for redistribution.
        !             4: .\"
        !             5: .\"    @(#)pty.4       6.2 (Berkeley) 5/19/86
        !             6: .\"
        !             7: .TH PTY 4 "May 19, 1986"
        !             8: .UC 5
        !             9: .SH NAME
        !            10: pty \- pseudo terminal driver
        !            11: .SH SYNOPSIS
        !            12: .B pseudo-device pty [ count ]
        !            13: .SH DESCRIPTION
        !            14: The
        !            15: .I pty
        !            16: driver provides support for a device-pair termed a
        !            17: .IR "pseudo terminal" .
        !            18: A pseudo terminal is a pair of character devices, a
        !            19: .I master
        !            20: device and a
        !            21: .I slave
        !            22: device.  The slave device provides processes
        !            23: an interface identical
        !            24: to that described in
        !            25: .IR tty (4).
        !            26: However, whereas all other devices which provide the 
        !            27: interface described in
        !            28: .IR tty (4)
        !            29: have a hardware device of some sort behind them, the slave
        !            30: device has, instead, another process manipulating
        !            31: it through the master half of the pseudo terminal.
        !            32: That is, anything written on the master device is
        !            33: given to the slave device as input and anything written
        !            34: on the slave device is presented as input on the master
        !            35: device.
        !            36: .PP
        !            37: In configuring, if an optional ``count'' is given in
        !            38: the specification, that number of pseudo terminal pairs are configured;
        !            39: the default count is 32.
        !            40: .PP
        !            41: The following 
        !            42: .I ioctl
        !            43: calls apply only to pseudo terminals:
        !            44: .TP
        !            45: TIOCSTOP
        !            46: Stops output to a terminal (e.g. like typing ^S).  Takes
        !            47: no parameter.
        !            48: .TP
        !            49: TIOCSTART
        !            50: Restarts output (stopped by TIOCSTOP or by typing ^S).
        !            51: Takes no parameter.
        !            52: .TP
        !            53: TIOCPKT
        !            54: Enable/disable 
        !            55: .I packet
        !            56: mode.  Packet mode is enabled by specifying (by reference)
        !            57: a nonzero parameter and disabled by specifying (by reference)
        !            58: a zero parameter.  When applied to the master side of a pseudo
        !            59: terminal, each subsequent 
        !            60: .I read 
        !            61: from the terminal will return data written on the slave part of
        !            62: the pseudo terminal preceded by a zero byte (symbolically
        !            63: defined as TIOCPKT_DATA), or a single byte reflecting control
        !            64: status information.  In the latter case, the byte is an inclusive-or
        !            65: of zero or more of the bits:
        !            66: .RS
        !            67: .TP
        !            68: TIOCPKT_FLUSHREAD
        !            69: whenever the read queue for the terminal is flushed.
        !            70: .TP
        !            71: TIOCPKT_FLUSHWRITE
        !            72: whenever the write queue for the terminal is flushed.
        !            73: .TP
        !            74: TIOCPKT_STOP
        !            75: whenever output to the terminal is stopped a la ^S.
        !            76: .TP
        !            77: TIOCPKT_START
        !            78: whenever output to the terminal is restarted.
        !            79: .TP
        !            80: TIOCPKT_DOSTOP
        !            81: whenever 
        !            82: .I t_stopc
        !            83: is ^S
        !            84: and 
        !            85: .I t_startc
        !            86: is ^Q.
        !            87: .TP
        !            88: TIOCPKT_NOSTOP
        !            89: whenever the start and stop characters are not ^S/^Q.
        !            90: .RE
        !            91: .IP
        !            92: While this mode is in use, the presence of control status information
        !            93: to be read from the master side may be detected by a
        !            94: .I select
        !            95: for exceptional conditions.
        !            96: .IP
        !            97: This mode is used by
        !            98: .IR rlogin (1C)
        !            99: and
        !           100: .IR rlogind (8C)
        !           101: to implement a remote-echoed, locally ^S/^Q flow-controlled
        !           102: remote login with proper back-flushing of output; it can be
        !           103: used by other similar programs.
        !           104: .TP
        !           105: TIOCUCNTL
        !           106: Enable/disable a mode that allows a small number of simple user
        !           107: .I ioctl
        !           108: commands to be passed through the pseudo-terminal,
        !           109: using a protocol similar to that of TIOCPKT.
        !           110: The TIOCUCNTL and TIOCPKT modes are mutually exclusive.
        !           111: This mode is enabled from the master side of a pseudo terminal
        !           112: by specifying (by reference)
        !           113: a nonzero parameter and disabled by specifying (by reference)
        !           114: a zero parameter.
        !           115: Each subsequent 
        !           116: .I read 
        !           117: from the master side will return data written on the slave part of
        !           118: the pseudo terminal preceded by a zero byte,
        !           119: or a single byte reflecting a user control operation on the slave side.
        !           120: A user control command consists of a special
        !           121: .I ioctl
        !           122: operation with no data; the command is given as UIOCCMD(\fIn\fP),
        !           123: where \fIn\fP is a number in the range 1-255.
        !           124: The operation value \fIn\fP will be received as a single byte on the next
        !           125: .I read
        !           126: from the master side.
        !           127: The \fIioctl\fP UIOCCMD(0) is a no-op that may be used to probe for
        !           128: the existence of this facility.
        !           129: As with TIOCPKT mode, command operations may be detected with a
        !           130: .I select
        !           131: for exceptional conditions.
        !           132: .TP
        !           133: TIOCREMOTE
        !           134: A mode for the master half of a pseudo terminal, independent
        !           135: of TIOCPKT.  This mode causes input to the pseudo terminal
        !           136: to be flow controlled and not input edited (regardless of the
        !           137: terminal mode).  Each write to the control terminal produces
        !           138: a record boundary for the process reading the terminal.  In
        !           139: normal usage, a write of data is like the data typed as a line
        !           140: on the terminal; a write of 0 bytes is like typing an end-of-file
        !           141: character.  TIOCREMOTE can be used when doing remote line
        !           142: editing in a window manager, or whenever flow controlled input
        !           143: is required.
        !           144: .SH FILES
        !           145: .DT
        !           146: /dev/pty[p-r][0-9a-f]  master pseudo terminals
        !           147: .br
        !           148: /dev/tty[p-r][0-9a-f]  slave pseudo terminals
        !           149: .SH DIAGNOSTICS
        !           150: None.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.