Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ xt(7) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

layers(1)

xts(1M)

xtt(1M)

ioctl(2)

open(2)

jagent(5)

layers(5)

xtproto(5)

streamio(7)

termio(7)

tty(7)



xt(7)                  DEVICES AND MODULES                  xt(7)



NAME
     xt - STREAMS-based multiplexed tty driver for AT&T 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  dynami-
     cally  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.   After-
     wards,  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)  and  in  layers(5).   Packets  are  formatted as
     described in xtproto(5), while the contents of packets  con-
     form to the description in layers(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.   Request  from  this second group
     which involve communication with the terminal are  described
     in  more detail in layers(5).  These requests are defined in
     the header file <sys/jioctl.h>.  The requests  are  as  fol-
     lows:

     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



                                                                1





xt(7)                  DEVICES AND MODULES                  xt(7)



                      layer associated with the  file  descriptor
                      argument  to ioctl(2).  They may return the
                      error code EAGAIN on STREAMS buffer alloca-
                      tion failure.

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

     JWINSIZE         Requires the address of a  jwinsize  struc-
                      ture  as  an argument.  The window sizes of
                      the layer associated with the file descrip-
                      tor  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 rou-
                      tine, and return the terminal's response to
                      the calling process.  Invalid except on the
                      file  descriptor  for   channel   0.    See
                      jagent(5).   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 configura-
     tion 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.




                                                                2





xt(7)                  DEVICES AND MODULES                  xt(7)



     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.  See xtt(1).

     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.  See xts(1).

     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), xts(1M), xtt(1M)
     ioctl(2), open(2)
     jagent(5), layers(5), xtproto(5)
     streamio(7), termio(7), tty(7).
     Programmer's Guide: STREAMS

















                                                                3



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