Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ xt(7) — Atari System V ue12

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

layers(1)

ioctl(2)

open(2)

xtproto(5)

streamio(7)

termio(7)

tty(7)





   xt(7)                                                                 xt(7)


   NAME
         xt - STREAMS-based multiplexed tty driver for windowing terminals

   DESCRIPTION
         The xt driver provides virtual tty(7) circuits multiplexed onto
         STREAMS-based device drivers.  STREAMS-based xt is a streams upper
         multiplexor pseudo-device driver that sits between the stream head
         and a STREAMS hardware device driver.

         Virtual tty(7) circuits are named by character-special files of the
         form /dev/xt/???.  Filenames end in three digits, where the first two
         represent the channel group and the last represents the virtual
         tty(7) number (0-7) of the channel group.  Allocation of a new
         channel group is done dynamically by attempting to open a name ending
         in 0 with the OEXCL flag set.  After a successful open, the tty(7)
         file onto which the channels are to be multiplexed should be passed
         to xt via the ILINK streamio(7) request.  Afterwards, all the
         channels in the group will behave as normal tty(7) files, with data
         passed in packets via the real tty(7) line.

         The xt driver implements the protocol described in xtproto(5).
         Packets are formatted as described in xtproto(5).

         There are four groups of ioctl(2) requests recognized by xt.  The
         first group contains the normal tty ioctl(2) request described in
         termio(7), with the addition of the following:

         TIOCGWINSZ       Requires the address of a winsize structure as an
                          argument.  The window sizes of the layer associated
                          with the file descriptor argument to ioctl(2) are
                          copied to the structure.

         The second group of ioctl(2) requests concerns control of the
         windowing terminal.  These requests are defined in the header file
         <sys/jioctl.h>.  The requests are as follows:

         JTYPE, JMPX      Both return the value JMPX.  These are used to
                          identify a terminal device as an xt channel.

         JBOOT, JTERM     Both generate an appropriate command packet to the
                          windowing terminal affecting the layer associated
                          with the file descriptor argument to ioctl(2).  They
                          may return the error code EAGAIN on STREAMS buffer
                          allocation failure.

         JTIMOM           Specifies the timeouts in milliseconds.  Invalid
                          except on channel 0.  This may return the error code
                          EAGAIN on STREAMS buffer allocation failure.





   7/91                                                                 Page 1









   xt(7)                                                                 xt(7)


         JWINSIZE         Requires the address of a jwinsize structure as an
                          argument.  The window sizes of the layer associated
                          with the file descriptor argument to ioctl(2) are
                          copied to the structure.

         JTRUN            Requires the address of a string of the form
                          channel, UNIX system command as an argument.  Run
                          the UNIX system command in the specified channel
                          (layer).  It may return the error code EAGAIN on
                          STREAMS buffer allocation failure.

         JZOMBOOT         Generate a command packet to the windowing terminal
                          to enter download mode on the channel associated
                          with the file descriptor argument to ioctl(2), like
                          JBOOT; but when the download is finished, make the
                          layer a zombie (ready for debugging).  It may return
                          the error code EAGAIN on STREAMS buffer allocation
                          failure.

         JAGENT           Send the supplied data as a command packet to invoke
                          a windowing terminal agent routine, and return the
                          terminal's response to the calling process.  Invalid
                          except on the file descriptor for channel 0.  It may
                          return the error code EAGAIN on STREAMS buffer
                          allocation failure.

         JXTPROTO         Set xt protocol type [see xtproto(5)].  It may
                          return the error code EAGAIN on STREAMS buffer
                          allocation failure.

         The third group of ioctl(2) requests concerns the configuration of
         xt, and is described in the header file <sys/nxt.h>.  The requests
         are as follows:

         XTIOCTYPE        Returns the value XTIOCTYPE.  Identical in purpose
                          to JMPX.

         XTIOCHEX         Specifies that ENCODING MODE should be turned on.

         XTIOCTRACE       Requires the address of a Tbuf structure as an
                          argument.  The structure is filled with the contents
                          of the driver trace buffer.  Tracing is enabled.

         XTIOCNOTRACE     Tracing is disabled.

         XTIOCSTATS       Requires an argument that is the address of an array
                          of size SNSTATS, of type Statst.  The array is
                          filled with the contents of the driver statistics
                          array.




   Page 2                                                                 7/91









   xt(7)                                                                 xt(7)


         The fourth group of ioctl(2) requests concerns configuring
         streamio(7) multiplexor. The requests are as follows:

         ILINK           Links the hardware driver underneath xt.  The
                          arguments to the ioctl are documented in
                          streamio(7).

         IUNLINK         Unlinks the hardware driver underneath xt.  The
                          arguments to the ioctl are documented in
                          streamio(7).

   FILES
         /dev/xt/??[0-7]                       multiplexed special files
         /usr/include/sys/jioctl.h      packet command types
         /usr/include/sys/nxtproto.h   channel multiplexing protocol definitions
         /usr/include/sys/nxt.h           STREAMS-based driver specific definitions

   SEE ALSO
         layers(1), ioctl(2), open(2), xtproto(5) streamio(7), termio(7),
         tty(7).  Programmer's Guide: STREAMS

































   7/91                                                                 Page 3





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