PPRD

Section: User Commands (1)
Updated: 15 July 1995
Index Return to Main Contents
 

NAME

pprd - LPD (network printer daemon) for DOS  

SYNOPSIS

pprd [-pport] [-n#] [-t] [-i] [-s] [-b#] [-#] [-ahostlist] [-dhostlist] [-lhost] [-j[port]]  

DESCRIPTION

pprd is a small program that turns an XT or AT running DOS into a dedicated LPD printer server. You can send jobs to the printers from any machine running LPR. It can handle up to 3 parallel printer ports. Serial printers can be handled by running the interrupt I/O driver TSRCOMM, which is in LPTCOM.ZIP and diverting LPTn to COMn.

pprd supports an alternate protocol to LPD, called the Direct protocol here. It is invoked by specifying the -j flag. The job is sent as a TCP data stream ended by closing the connection. The advantage of this protocol is that the size of the job does not need to be known in advance, which could be used to advantage in a print redirector. It is more efficient because there are fewer transactions than in the LPD protocol.  

INSTALLATION

pprd requires: Parallel or serial printer ports connected to printers, a network interface card and a FTP Software specification Packet Driver for it, and a valid WATTCP configuration file, WATTCP.CFG.

To install, edit the file WATTCP.CFG, filling in the entries. Then edit your autoexec.bat file to load the packet driver, then pprd. Something like this:

a:\pprd\ni5210 0x60 2 0x300 0xcc00
rem If you wish to put your wattcp.cfg in a particular directory
set wattcp_cfg=a:\pprd\wattcp.cfg
a:\pprd\pprd

Turn your printers on before starting pprd or it will not detect the printers. Alternatively, use the -n flag in pprd.

pprd outputs tones (C,D,E) for as many printers as detected. pprd displays status on console, including changes in printer status. It responds to LPQ queries, returning status reports to the client.

You can now send jobs from clients with LPR. The printers served are called lpt1 through lpt3, in any mixture of case. You can also set the printer names in WATTCP.CFG by assigning to PRINTER[123]NAME. pprd is multithreaded and can have as many connections as printers active. Control-F1 through F3 can be used to abort jobs on the corresponding printers.

It's probably best to install pprd in a Berkeley LPD environment as a printer accessed via a ifilter, rather than as a remote host. That way you can queue up jobs and implement any LPD filters on the client. A couple of Perl scripts for Berkeley LPD system are provided. Edit lpr.pl to configure and install it as ifilter. Banner.pl should be installed as ofilter. You should provide a dummy file for the lp attribute because LPD expects to be able to open and lock it. This file will not be printed to.

You may wish to restrict access to pprd to certain machines only. The -a and -d options are for this. pprd allows connections only from machines on the same subnet (as determined from the subnet mask) by default; this can be disabled by the -s option.  

OPTIONS

-pport
listen on port instead of the default 515.
-xy
disable printers x and y (numbers between 1 and 3)
-n#
# printers, no matter what BIOS claims
-t
don't indicate available printers with tones
-i
reinitialise printer via hardware line on job abort
-bxy
Print directly to hardware port of printers x and y instead of using the BIOS print service. This only works on real parallel ports, i.e. not redirected to serial ports, files or network connections, and is only likely to improve things with fast printer interfaces, in particular those with memory buffers, such as laser printers. On low speed printers, it isn't likely to make things faster since the bottleneck is the printer.
-s
bypass subnet match
-alist
comma separated list of up to 20 domain names allowed connection
-dlist
comma separated list of up to 20 domain names denied connection


-a and -d are mutually exclusive and independent of subnet check

-lhost
log diagnostics via SYSLOG protocol to host
-j[port]
use Direct protocol to port (defaults to 9100) instead of LPD protocol
 

CONFIGURATION FILE SETTINGS

Assigning to PRINTER1NAME, PRINTER2NAME, and PRINTER3NAME in WATTCP.CFG will give names other than the default lpt[123] to the printers.  

OTHER FILES

Two auxiliary programs are provided, jd.pl and jd.exe, written in Perl and C respectively. These are sample clients that use the Direct protocol.

Jd.exe reads additional configuration entries in WATTCP.CFG, see jd documentation.

Another Perl script called jdlprd.pl is provided. If this is run on a BSD Unix host, it provides a gateway from jd jobs to the lpr system on Unix.  

SEE ALSO (on Unix)

lpr(1), lpq(1), lpc(8), lpd(8)  

FILES

WATTCP.CFG, LPTCOM.ZIP  

DIAGNOSTICS

Hopefully self explanatory.  

COPYRIGHT

pprd is under the GNU Copyright, which allows you to freely distribute the program provided the sources accompany, or are made available on request. See COPYING for details.  

AUTHOR

Ken Yap (ken@syd.dit.csiro.au)  

DATE

July 1995


 

Index

NAME
SYNOPSIS
DESCRIPTION
INSTALLATION
OPTIONS
CONFIGURATION FILE SETTINGS
OTHER FILES
SEE ALSO (on Unix)
FILES
DIAGNOSTICS
COPYRIGHT
AUTHOR
DATE

This document was created by man2html, using the manual pages.
Time: 11:02:12 GMT, May 31, 2022