New, debugged, anti-stat, and (ahem) improved LPD spooler
PAD Powell [Admin]
padpowell at wateng.UUCP
Wed May 30 12:07:43 AEST 1984
After much effort, Patrick Powell and Sanjay Radia are announcing a
new, debugged, and "passes with no lint errors" version of the 4.2
Line Printer Spooler. It is almost compatible with the old version,
in that there are some minor modifications to the /etc/printcap that
have to be made. In addition, a much better set of output filters
and filter writting tools are available. If you want the new version,
send $65, a copy of your ATT Unix License (first page and signature
page is sufficient), and a copy of your 4.2 license (again first page
and signature) and we will send you a copy of the updated documentation,
and the new source. For various reasons, we regret that we cannot
distribute this in net.sources.
Patrick Powell Sanjay Radia
VLSI Research Group M.F.C.F.
University of Waterloo, Waterloo, Ont. Canada N2L 3G1
Phone- (519) 885-1211 X3381
1. Changes and Modifications
The original 4.2BSD Line Printer Spooler as distributed
to the University of Waterloo was extensively modified by
Patrick Powell. The main purpose of the modifications was
to attempt to make the behaviour of the software more uni-
form and flexible. The modifications fall into the follow-
ing major categories.
1.1. Bugs
Several minor, but annoying bugs were eliminated. In
this process, LINT was run, and literally hundreds of errors
reported by LINT were eliminated. This also uncovered a
couple of other bugs.
1.2. Printcap Extensions
Also, the fx (format check) string allows a site to do
checking to see if formats are allowed on a printer. This
can be specially useful for remote printers by restricting
certain certain formats.
1.3. Prefilters
This allows a local site to preprocess all the files at
the local site, and produce a single spool file for later
use. This is handy when using a remote printer.
As a special case, the -p option of LPR can be pro-
cessed at the local site. This is useful if the remote site
does not support formatting.
1.4. Filter Parameters
The filter parameters have been rationalized into a
single set. All options now have the form making life a
little easier for the filter writer. Also, additional
paramters ( -Jjobname -Cclass -Fformat -ZadditionalPar-
metersFromLpr ) are passed to the if output filter.
1.5. LPQ Information
The time a job has started has been added to the status
information. This is rather useful to know.
1.6. Filter Timeouts
A timeout facility has been added to some filters.
This helps when attempting to find out if a device has gone
off line, is out of paper, etc.
1.7. Special Queue Handling
The qh (queue handler) entry in the printcap now allows
specification of a handler to be invoked for every job taken
from the queue. This is nice for systems which wish to use
the spooler facilities for handling jobs, but not for doing
the actual data transfer.
1.8. Accounting
Accounting information was reformatted, to make it a
little easier for other programs like awk and sort to be
used.
1.9. Remote Access
The ra string variable has been added to the termcap
entries, to allow additional remote access information.
When being accessed by a remote machine, first the
/etc/host.equiv file will be checked, and then the list of
machines defined by the ra string.
1.10. Remote Job Removal
There is a minor botch in the naming conventions used
for spool files, and networking host names. A spool direc-
tory file has a name of the form
<c|d><seq><host>
For example, cfA000watmath would be a control file generated
on the host watmath. When a job is spooled remotely, the
file names are preserved across systems.
LPRM is used to remove jobs from a queue, and does so
by sending a message of the form
^Eprinter person [users ...] [jobs ...]\n
In the original version of the lpd, the networking function
was used to determine the origin of the message. Unfor-
tunately, the host name returned depended upon the network
and routing used to deliver the message, and was not unique
to a system. The person field was modified to be
host:person, and the lpd used the transmitted host name as
the origin of the message.
More information about the Comp.unix.wizards
mailing list