xt(7) UNIX System V(Layers Windowing Utilities) 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 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) and in
layers(5). Packets are formatted as described in xtproto(5), while the
contents of packets conform 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 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.
10/89 Page 1
xt(7) UNIX System V(Layers Windowing Utilities) 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. 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 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. 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:
Page 2 10/89
xt(7) UNIX System V(Layers Windowing Utilities) xt(7)
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
10/89 Page 3