sxt(7) sxt(7)
NAME
sxt - pseudo-device driver
DESCRIPTION
The special file /dev/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 /dev/sxt driver. /dev/sxt acts
as a discipline manipulating a real tty structure declared by a real
device driver. The /dev/sxt driver is currently only used by the
shl(1) command.
Virtual ttys are named by inodes in the subdirectory /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(2) commands supported by sxt. The
first group contains the standard ioctl commands described in
termio(7), 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 commands 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.
7/91 Page 1
sxt(7) sxt(7)
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
SEE ALSO
shl(1), stty(1) ioctl(2), open(2), termio(7)
Page 2 7/91