PPRD Version 2.00, a LPD and Direct server for DOS

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 diverting LPTn to
COMn and running the interrupt I/O driver TSRCOMM, which is in
LPTCOM.ZIP.

Even a small XT with only a floppy will do.  If the system is to run
unattended you might even omit the keyboard and monitor.

You can also run it on a 3/486+ but why would you want to waste a machine
like that with DOS? A better choice would be to run Linux which is a
free Unix work-alike. Linux will comfortably run in 4 Mb on a 386SX. It
provides true multitasking. You can run lpr(ng) or Samba under Linux. Both
allow filters and accounting to be set up. Security can also be more
elaborate. You could even boot the PC diskless using either the romboot
or the etherboot packages from all good Linux archives. A good place to
start exploring Linux would be http://www.linux.org

PPRD has been tested with the following clients:

Unix (Linux) lpr
NCSA lpr and WATTCP lpr under DOS
pmlpr under WfWg

All show reasonable transfer rates, except that the DOS lprs experience
occasional hiatuses. I have one report that NT is "slow" but have no
further details and as I have no access to NT, cannot confirm this.

Please send me any reports of successes or failures, giving the version
number of PPRD, the machine configuration and name the client (lpr)
software.

Important: If you are upgrading from 1.98 or earlier, the meaning of
the -s flag changed in 2.00. See the manual page for the equivalent flag.
Also the -j flag now requires a port number now.

For installation instructions see pprd.prn.

List of files:

Artistic	Artistic License conditions
LOG		Change log
README		This file
pprd.man	Documentation in nroff format
pprd.prn	Printed version of above
jd.man		Documentation in nroff format
jd.prn		Printed version of above
lptcom.zip	TSRs for interrupt driven serial I/O using XON/XOFF
makefile	For building pprd.exe and jd.exe
pprd.exe	Executable
pprd.c		Source
pprd.h		Source
getopt.c	Source
tcp.h		Source, copy of one in WATTCP source distribution
wattcp.cfg	Configuration file, edit before using PPRD
wattcpcp.lib	Object library used when linking PPRD
banner.pl	Install as ofilter in Berkeley LPD system
lpr.pl		Install as ifilter in Berkeley LPD system
jd.pl		Alternative ifilter for Direct protocol
jd.exe		Send file or standard input using Direct protocol
jd.c		Source
jdlprd.pl	Run on Unix to provide jd to lpr gateway.
xtcard.tip	Use that old XT card for extra parallel or serial ports

Resources:

Here are some FTP sites for auxiliary and related software.  The sites
named here are the normal ones and it's best to ask archie for the
nearest archive to you.

Packet drivers
	ftp://ftp.simtel.net/pub/simtelnet/msdos/pktdrvr/
	Current version of the packet drivers is 11.

WATTCP library sources
	ftp://ftp-ns.rutgers.edu/pub/pc/wattcp/

NCSA telnet
	ftp://zaphod.ncsa.uiuc.edu/PC/Telnet/msdos/
	Includes a lpr/lpq/lprm clients for DOS.

WinLPR
	ftp://sunsite.unc.edu/pub/micro/pc-stuff/ms-windows/winsock/apps/winlpr10.zip
	WinLPR is a lpr client for MS-Windows. Shareware.

comp.protocols.tcp-ip.ibmpc FAQ
	ftp://ftp.netcom.com/pub/mailcom/IBMTCP/ibmtcp.zip
	Answers a lot of questions about TCP-IP on PCs.

RFC1179
	Line Printer Daemon Protocol

Background:

PPRD was inspired by PRINTNET by Koen De Bosschere.  That program is
small and fast.  Unfortunately PRINTNET uses its own protocol and not
the LPD protocol.  I am aware of LPD for DOS, in two versions, by David
Johnson, formerly at the U of Mississippi.  However those servers
require a local disk to spool the files. This may impose a limit on the
size of files printed, a drawback in these days of huge jobs.  Also the
later version is built on NOS from KA9Q, which is shareware for
non-personal use, whereas PPRD is free.  PPRD does not do local
spooling, relying instead on the sending client.  For this one loses
the ability to run filters on the server (see installation notes on how
filters can be run on the client), and delete jobs.  Error recovery is
easier in the absence of local spooling.  And best of all, PPRD is
simple and small.

Acknowledgements:

PPRD uses the excellent WATTCP package by Erick Engelke of the U of
Waterloo. I stole the skeleton of PPRD from COMD. Russ Nelson of Crynwr
Software has put a lot of work into packet drivers for many NICs.

PPRD is free software. The software is provided as-is and there is NO
SUPPORT. I will however endeavour to help if you can describe your
problem in sufficient detail. Please remember that I have only a
vanilla system and I cannot test exotic configurations.

If you find PPRD useful, send me a nice note by email telling me how
you use it. If you really like it, send me a postcard of your country.

Here are my contact addresses. Email is most preferred.

	ken@syd.dit.csiro.au

	Ken Yap
	CSIRO Division of Information Technology
	Locked Bag 17
	North Ryde 2113
	Australia
	+61 2 3253100

Ken Yap
January 1997
