SERVERCOMM
Section: Maintenance Commands (8)
Updated: 8 JULY 1989
Index
Return to Main Contents
NAME
servercomm - spool to a printer on a terminal server
SYNOPSIS
servercomm
[ -v ]
[ -x ]
[ -d device ]
[ -h host [ -p port ] ]
[ -t ptydevice ttydevice ]
[ -f filter ]
DESCRIPTION
servercomm
is an program that provides an interface between a typical Berkeley
lpd
filter (such as those provided in the Adobe TRANSCRIPT package) and
a printer (such as a LaserWriter) connected to a serial port on a
terminal server manufactured by 3com (Bridge), cisco systems, or
Xylogics (Annex).
Servercomm
makes a TCP/IP TELNET connection to the specified serial port of the
specified terminal server. It then forks and execs the normal filter
(as specified).
Since filters expect to talk to a physical device, a /dev/tty??, so
servercomm
obliges by communicating with filters
through the master and slave portions of a network pseudo-terminal pair,
/dev/pty?? and /dev/tty??.
Servercomm
handles the interchange of data between the pseudo-terminal and the
communications server.
Lpd
and any filters behave as if they were communicating with a directly-attached
printer.
OPTIONS
- -v
-
Turn on the debugging output to stderr, if the option was enabled at
compile time through the use of the -DDEBUG cc switch.
- -x
-
Turn on the dump output to stderr, if the option was enabled at compile
time through the use of the -DDUMP cc switch.
- -d device
-
Specify a device, such as /dev/lp, to use instead of the terminal server.
This is useful for debugging the filter with a hardwired printer. Omitted
if the -h switch is used.
- -h host
-
Specify the host name of the terminal server [or port on a terminal server]
that the printer is attached to.
Omitted if the -d switch is used.
- -p port
-
Specify the number of the serial port that the printer is attached
to. Omitted if the -d switch is used. This switch is unneeded with
the 3com or cisco terminal servers.
- -t ptydevice ttydevice
-
Indicate the master-slave pseudo-terminal pair to be used to communicate
with the filter. The tty name could be intuited from the pty name, provided
the standard names are used, but the user should be able to name the
pair something else, like /dev/plp and /dev/tlp.
- -f filter
-
Provide the complete command line for the filter to be invoked.
Typically, this is
pscomm
from the TRANSCRIPT package, but it could be something else.
NOTES for TRANSCRIPT
Briefly, the Berkeley line printer daemon,
lpd,
invokes filters to handle communications with a printer attached to a
serial port on the host computer. If these filters are modified to start
servercomm
instead of calling the usual communications filter,
pscomm,
then
servercomm
will initialize the connection and start
pscomm
to output the information.
To install
servercomm,
copy it in the the directory where
pscomm
is located. Make a copy of the
psint.sh
shell script and edit it to make the following changes.
Change the line the begins
comm=
to begin with
filter=
and then add this line:
comm=servercomm -h
hostname
-p
portid
-t
tty-names
-f $filter
hostname,
portid,
and
psudo-tty-name
are described above.
If you replace the
psint.sh
script with this modified one, then your changes are complete. However, if
you have more than one printer, you will need a version of
psint.sh
for each one.
FILES
/etc/printcap printer capabilities data base
/usr/lib/lpd* line printer daemons
/usr/spool/* directories used for spooling
SEE ALSO
printcap(5),
lpc(8),
lpd(8),
pscomm(8),
psif(8)
DIAGNOSTICS
There are many possible fatal diagnostic messages. Each indicates which
routine in
servercomm
had the fatal error. In most cases,
servercomm
returns an LPD_ABORT code to
lpd.
If the specified filter (typically
pscomm
) fails,
servercomm
returns the exit code of the filter to
lpd.
NOTES
TRANSCRIPT is a trademark of Adobe Systems Incorporated.
Annex is a trademark of Xylogics Incorporated.
LaserWriter is a trademark of Apple Computer.
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS
-
- NOTES for TRANSCRIPT
-
- FILES
-
- SEE ALSO
-
- DIAGNOSTICS
-
- NOTES
-
This document was created by
man2html,
using the manual pages.
Time: 10:09:42 GMT, December 12, 2024