In the early 1980s UC Berkeley created a line printer spooling implementation
that has proven very popular in the ensuing decades.  It consists of the lpd
spooling daemon, lpr/lpq/lprm user utilities for interfacing with the spooling
system, and the protocol for communication between lpd daemons over a network
that has become widely known as the Berkeley lpr or lpd protocol.

In the original Berkeley design the lpr/lpq/lprm user utilities always operate
on the spooling queue on the local machine maintained by the local lpd daemon.
Access to remote printers is possible only by configuring the local lpd daemon
to forward print jobs to another lpd on another host via the so-called lpr/lpd
network protocol.  Over the past two decades, however, users have overwhelmingly
desired to be able to submit print jobs directly to remote lpd servers without
going through an lpd daemon on their own local machine (e.g. DOS users who don't
have daemons).  As a result, people have created many versions of the Berkeley
lpr/lpq/lprm utilities modified to talk directly to a remote lpd server without
going through an lpd daemon or a spooling queue on the local machine.

This package contains one such version slapped together by Michael Sokolov,
starting from the original 4.3BSD source.  As one would expect, compiling this
package yields lpr, lpq, and lprm programs, but no lpd.  The lpr/lpq/lprm
programs work like the standard Berkeley ones with one difference: you need to
specify the LPR server to send print jobs to (hostname or IP address).  You can
do it with the LPRSERVER environment variable or -S option.  (Environment
variable name and option mimic their counterparts in Case Western Reserve
University's CWRU-PC/IP TCP/IP suite for DOS, which contains very similar client
LPR/LPQ/LPRM utilities.)

As distributed this code is for UNIX, but since it's a pure client needing no
local lpd facilities, it can be easily ported to any platform with a C compiler,
a TCP/IP stack, and sockets.

Happy hacking!

Michael Sokolov
International Free Computing Task Force (IFCTF)
msokolov@ivan.Harhan.ORG
