C.4
Transparent Printer
The default device names to
Transparent Printer(TP) are /dev/lpXYY, that is, the prefix
name is changed from "tty" to "lp" but the other "XYY" is
the same. e.g. under default device names, the corresponding TTY line
of
/dev/lpj11 is /dev/ttyj11.
By multiplexing a serial line, there are two sorts of data
channels for TTY data(by /dev/ttyXYY) and TP data(by
/dev/lpXYY). If the /dev/ttyj11 is used for a TTY, it has
to be enabled before you would like to print data through
/dev/lpj11 to a printer that connected to the terminal that is operated
via /dev/ttyj11.
The
channel for TP data that is uni-directional is used
to transmit the data from a host to a terminal only. The
differentiates of TTY data and TP data in the same serial
line is that TP data are encapsulated within a couple of
PRINT-ON and PRINT-OFF escape strings that are recognized by connected
terminals. The PRINT-ON and PRINT-OFF is defined by connected
terminals.
The
scheme to multiplex a serial line for
these two channels is based on time-division method. The
time slices for TTY or TP data are generated according to the entry
procedure, polling, in the PCCOM driver, which is periodically called
by system clock. The period of system clocks is different among various
operating systems, e.g. most UNIXs is 100hz, but SCO Xenix is 50hz.
The interval reserved for TTY or TP channel in the same
serial line is important to output TP data to a low-speed
printer through high-throughput line from PCCOM cards if
there is no flow control XON/XOFF to the serial line.
The lpx command is used to adjust the time interval for
TTY or TP data and the TP protocol.
option:
-t number: set interval for TTY
-l
number: set interval for Transparent Printer
-n
string: set esc string to turn on printer
-f
string: set esc string to turn off printer
-T
: get interval for TTY
-L
: get interval for Transparent Printer
-N
: get esc_string to turn on printer
-F
: get esc_string to turn off printer
device_name : lpXYY
The range of interval reserved for TTY or TP channel is
from 1 to maximum integer. The default setting for any /dev/lpXYY is as
follows:
Interval
for TTY : 50
Interval
for TP : 1
PRINT - ON escape :
¡§\033[5i¡¨ (ESC[5i)
PRINT
¡V OFF escape : ¡§\033[4i¡¨ (ECS[4i)
The examples to invoke lpx
Set 60 time slices reserved for /dev/ttyj11
# lpx -t 60
/dev/ttyj11
Set 2 time slices reserved
for /dev/lpj11
# lpx ¡V12 /dev/lpj11
Get the time slices reserved for /dev/lpj11
# lpx ¡VL
/dev/lpj11
Set PRINT-ON string for /dev/lpj11
# lpx ¡Vn
¡§\033[51¡¨ /dev/lpj11
Get PRINT-OFF string for /dev/lpj11
#
lpx ¡VF /dev/lpj11 \033[4i
|