LPR/LPD hacks for 4.2BSD posted to net.sources
David Herron, NPR Lover
david at ukma.UUCP
Wed Dec 19 12:53:01 AEST 1984
Well, I got enough people that wanted to see it, so I put it on net.sources.
Following is the README from that file.
----------------------------------------------------------------------
LPR/LPD HACKS FOR 4.2BSD
Here are my modifications for lpr from 4.2BSD. The diff
listings are context diffs using the distributed software as the
base file. As usual, line numbers may vary with local patching
conditions.
There are 4 major groups of changes here:
1: Allowing the lpr command to select print density and
format by way of command line options.
2: Added an environment variable LPR. This gets scanned
by lpr after reading the system default parameters and
before the command line parameters. It is meant to
be used for user default settings. (The inspiration
is the similar variable for more).
3: Bug fixes. I found a number of bugs in lpf.c. Look
at the diff's for it to find out what.
4: Support for our LN01. As you can tell from the comments
in lpf.c and nrpf.c, I had many many troubles with that
beast. May she rest in peace.
One thing the LPR variable doesn't do that I would like to do
is specify files to print. I envision that being useful in a class
situation. The instructor may want to have a file somewhere that
gets printed out with each students print job. Or a user might want
to have his own banner page rather than the standard one. Anything
along those lines would be reasonable. It would take a major rewrite
of the command parser in lpr.....
flpf.c
Generic filter for output with fortran-type carraige control.
Supports the LN01 and LA120. Written by me.
lpd.c.diff
Changes to lpd.c. Simple. We were having response problems
when printing things. Raise the nice to 9 and it becomes
less of a problem. Now though the printers stop occasionally.
lpf.c.diff
Changes to lpf.c. Including a couple of rather serious bugs.
Supports the LN01 and LA120.
lpr.c.diff
Changes to lpr.c. New command parser looks at the LPR variable
(almost) as if it were a command line. Almost because it doesn't
pick up any files to print from here.
nrpf.c
A filter for nroff output. It reads the cursor-up and
cursor-down commands that nroff outputs, stores the text
at appropriate places in a buffer, then outputs the buffer
when nroff tries to go off the page. This was written
instead of an nroff table because there isn't any documentation
on the values to be put into one of those tables. I took
one stab at reading nroff and said FORGET IT! Especially
since we are getting ditroff sometime Real Soon Now.
It was easier to guess at nroff's output than read nroff.
At any rate. This program is currently specific to
the LN01 and it's peculiarities. But it was written
with the SPECIFIC intent of making it work for LA120's
and LA100's at some time in the future. (i.e. Real Soon Now).
Written by me.
printjob.c.diff
Changes to printjob.c. Two changes. One to recognize a
new control card which selects the page length of the printer.
The other gives the filter an indent flag ONLY if there was
an indent card in the control file.
scanargs.c
stringop.c
Seperate files containing routines added to lpr.c so it would
scan the LPR environment variable.
lpr.1
Lpr manual page reflecting most of these changes.
-----------------------------------------
David Herron; ARPA-> "ukma!david"@ANL-MCS
(Try the arpa address w/ and w/o the quotes, I have had much trouble with both.)
UUCP-> unmvax -----------\
UUCP-> research ----------\_______ {anlams,anl-mcs} --\
UUCP-> boulder -----------/ >-!ukma!david
UUCP-> decvax!ucbvax ----/ cbosgd!hasmed!qusavx --/
(The usual warning about having no opinions). "I read banned books."
Lets see how long it takes for the NSA boys to start chasing me:
"The NSA is the CIA is the FBI is the KGB".
More information about the Comp.unix.wizards
mailing list