Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sxt(M) — OpenDesktop 1.0.0y

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

shl(C)

stty(C)

ioctl(S)

open(S)

termio(M)

SXT(M)


     SXT(M)                                     UNIX System V



     Name
          sxt - pseudo-device driver


     Description
          sxt is a pseudo-device driver that interposes  a  discipline
          between  the standard tty line disciplines and a real device
          driver.  The standard  disciplines  manipulate  virtual  tty
          structures  (channels) declared by the sxt driver.  sxt acts
          as a discipline manipulating a real tty  structure  declared
          by  a  real device driver.  The sxt driver is currently only
          used by the shl(C) command.

          Virtual ttys are named /dev/sxt???   and  are  allocated  in
          groups  of  up  to  eight.   To  allocate a group, a program
          should exclusively open a file  with  a  name  of  the  form
          /dev/sxt??0  (channel 0) and then execute a SXTIOCLINK ioctl
          call to initiate the multiplexing.

          Only one channel, the controlling channel, can receive input
          from  the keyboard at a time; others attempting to read will
          be blocked.

          There are two groups of ioctl(S) commands supported by  sxt.
          The   first  group  contains  the  standard  ioctl  commands
          described in termio(M), with the addition of the following:

               TIOCEXCL Set exclusive use mode: no further  opens  are
                        permitted until the file has been closed.

               TIOCNXCL Reset exclusive use mode:  further  opens  are
                        once again permitted.

          The second group are directives  to  sxt  itself.   Some  of
          these may only be executed on channel 0.

          SXTIOCLINK    Allocate a channel  group  and  multiplex
                        the  virtual ttys onto the real tty.  The
                        argument is the  number  of  channels  to
                        allocate.    This  command  may  only  be
                        executed on channel 0.   Possible  errors
                        include:

                             EINVAL The argument is out of range.

                             ENOTTY The command was not issued from  a
                                    real tty.

                             ENXIO  linesw is not configured with sxt.

                             EBUSY  An SXTIOCLINK command has  already
                                    been issued for this real tty.

                             ENOMEM There   is   no   system    memory
                                    available   for   allocating   the
                                    virtual tty structures.

                             EBADF  Channel 0 was  not  opened  before
                                    this call.

          SXTIOCSWTCH   Set the controlling channel.  Possible  errors
                        include:

                        EINVAL An invalid channel number was given.

                        EPERM  The  command  was  not  executed   from
                               channel 0.

          SXTIOCWF     Cause  a  channel  to  wait  until  it  is  the
                       controlling  channel.  This command will return
                       the error, EINVAL, if an invalid channel number
                       is given.

          SXTIOCUBLK   Turn off the loblk control flag in the  virtual
                       tty of the indicated channel.  The error EINVAL
                       will  be  returned  if  an  invalid  number  or
                       channel 0 is given.

          SXTIOCSTAT   Get the status (blocked on input or output)  of
                       each   channel   and   store  in  the  sxtblock
                       structure  referenced  by  the  argument.   The
                       error  EFAULT will be returned if the structure
                       cannot be written.

          SXTIOCTRACE  Enable tracing.  Tracing information is written
                       to  the console.  This command has no effect if
                       tracing is not configured.

          SXTIOCNOTRACE
                       Disable tracing.  This command has no effect if
                       tracing is not configured.


     Files
          /dev/sxt??[0-7]             virtual tty devices
          /usr/include/sys/sxt.h      driver specific definitions


     See Also
          shl(C), stty(C), ioctl(S), open(S), termio(M)


     (printed 8/23/89)                                  SXT(M)

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