Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ioctl(2)

read(2)

write(2)

Files:termio(7)



  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




Typewritten Software • bear@typewritten.org • Edmonds, WA 98026