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