looking for lp.c source or detailed description

looking for lp.c source or detailed description

Post by Richard L. Hamilto » Sat, 03 May 1997 04:00:00

Some Unix parallel port drivers implement adjustable line truncation,
linefeed to formfeed conversion (to provide a particular page length),
indent, tab expansion, and optional half-ASCII translation
(lower case to upper case conversion, and printing {}`|~
as ()\!^ overstruck with a dash).

Others do none of that nonsense.

If memory serves, PC/IX (ISC and IBM's sort of System III based
Unix for the IBM XT) had that sort of an lp driver, as does
CT/IX and 3.5x for the 3b1 (SVR2 based implementations with a
certain amount of odds and ends added by Convergent Technologies).
The man page for some of these seems to my mind to have been
virtually identical, so that driver must have been kicking around
for awhile with fairly minor variations.  I don't *think* that this
is the same as one of the older BSD drivers that does some of that
stuff, although they might share a common ancestry way back.
This was not a tty driver, although it may have used the old
clist facility that pre-STREAMS tty drivers also used.  The
translations probably took place in the function lpoutput(),
so that may be all I really need.

I'm trying to write a filter that does all that stuff in a manner
compatible with drivers that do, to allow consistent remote printing
between a system whose driver does that, and one that doesn't.

Does anyone have either source for the driver (typically lp.c),
or a really detailed description of how it behaves, i.e. better
than the man page, and with special attention to limits, boundary
conditions, etc.?  (Like what happens if you set line length to 0,
that sort of thing?)

ftp> get |fortune
377 I/O error: smart remark generator failed

Bogonics: the primary language inside the Beltway


1. Q: Detailed description of lp and lpr

I am looking for an in-depth documentation of lp and lpr.
The man pages on my host (SunOS) are informative, but I need
something more detailed. I am NOT a comp.unix.wizard who
may learn it from the source.

May anyone recommend sources ?

-- Siegfried

Alfred-Wegener-Institute for Polar and Marine Research
Bremerhaven, Germany                               /\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/  \

2. How can I use vesablank to shut off my monitor from X?

3. Help - looking for detail description on signal_pending(current)

4. Novice: Riva 128 installation

5. PPP Question(Kinda Works)

6. Detailed description of network trafic

7. help on setting up soft-raid.

8. detailed description/instructions for using `format`

9. Detail description of my 800x600 mode problem.

10. Detailed description of (free)OpenServer packages

11. detailed description of linux socket filter and sniffing problem

12. detailed description of ports-system?