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