XT(7) INTERACTIVE UNIX System XT(7)
NAME
xt - multiplexed tty driver for AT&T windowing terminals
DESCRIPTION
The xt driver provides virtual tty(7) circuits multiplexed
onto real tty(7) lines. It interposes its own channel mul-
tiplexing protocol as a line discipline between the real
device driver and the standard tty(7) line disciplines.
Virtual tty(7) circuits are named by character-special files
of the form /dev/xt???. File names 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
O_EXCL 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 XTIOCLINK ioctl(2) 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 three groups of ioctl(2) requests recognized by
xt. The first group contains all the normal tty ioctl(2)
requests 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 of ioctl(2) requests concerns control of
the windowing terminal, and is described 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 EIO if the system clist is
empty.
Rev. Base System Page 1
XT(7) INTERACTIVE UNIX System XT(7)
JTIMO, JTIMOM JTIMO specifies the timeouts in seconds,
and JTIMOM in milliseconds. Invalid except
on channel 0. They may return the error
code EIO if the system clist is empty.
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.
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 EIO if the system
clist is empty.
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
EIO if the system clist is empty.
The third group of ioctl(2) requests concerns the configura-
tion of xt, and is described in the header file <sys/xt.h>.
The requests are as follows:
XTIOCTYPE Returns the value XTIOCTYPE.
XTIOCLINK Requires an argument that is a structure,
xtioclm, containing a file descriptor for
the file to be multiplexed and the maximum
number of channels allowed. Invalid except
on channel 0. This request may return one
of the following errors:
EINVAL nchans has an illegal value.
ENOTTY fd does not describe a real tty(7)
device.
ENXIO linesw is not configured with xt.
EBUSY An XTIOCLINK request has already
been issued for the channel group.
ENOMEM There is no system memory available
for allocating to the tty(7)
Rev. Base System Page 2
XT(7) INTERACTIVE UNIX System XT(7)
structures.
EIO The JTIMOM packet described above
could not be delivered.
HXTIOCLINK Like XTIOCLINK, but specifies that ENCODING
MODE be used.
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. This request is
invalid if tracing is not configured.
XTIOCNOTRACE Tracing is disabled. This request is
invalid if tracing is not configured.
XTIOCSTATS Requires an argument that is the address of
an array of size S_NSTATS, of type Stats_t.
The array is filled with the contents of
the driver statistics array. This request
is invalid if statistics are not config-
ured.
XTIOCDATA Requires the address of a maximum-sized
Link structure as an argument. The struc-
ture is filled with the contents of the
driver Link data. This request is invalid
if data extraction is not configured.
Rev. Base System Page 3
XT(7) INTERACTIVE UNIX System XT(7)
FILES
/dev/xt/??[0-7] multiplexed special files
/usr/include/sys/jioctl.h packet command types
/usr/include/sys/xtproto.h channel multiplexing protocol
definitions
/usr/include/sys/xt.h driver specific definitions
SEE ALSO
layers(1), termio(7), tty(7).
ioctl(2), open(2), libwindows(3X), jagent(5), layers(5) in
the INTERACTIVE SDS Guide and Programmer's Reference Manual.
Rev. Base System Page 4