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