> From [EMAIL PROTECTED] Tue Aug 8 08:19:48 2000
> Date: Tue, 8 Aug 2000 11:18:51 -0400 (EDT)
> From: Richard Hart USG <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Subject: LPRNGLIST and Re: LPRng: SYSV lp -o option
> Cc: [EMAIL PROTECTED]
>
> Now, in reply to your recent froth:
>
> > From [EMAIL PROTECTED] Mon Aug 7 22:07:13 2000
> > From: [EMAIL PROTECTED]
> > Subject: Re: LPRng: SYSV lp -o option
> >
> > Folks, those of you who wonder just how broken HP printing is,
> > I would like you to take a look at the lines marked by **** in the
> > message below. Note that this has NOTHING to do with the problem
> > that we are discussing, it just came up in the error message
> > information that was send.
> >
> .........
> > > format_error=second letter must be f not 'A' - 'cA0201pino'
> >
> > ^^^^ This is a diagnostic that was put into the hold file when
> > the job arrived. Note that RFC1179 says that control file names
> > 'should' have the following format:
> >
> > 6.2 02 - Receive control file
> >
> > +----+-------+----+------+----+
> > | 02 | Count | SP | Name | LF |
> > +----+-------+----+------+----+
> > Command code - 2
> > Operand 1 - Number of bytes in control file
> > Operand 2 - Name of control file
> >
> > The control file must be an ASCII stream with the ends of lines
> > indicated by ASCII LF. The total number of bytes in the stream is
> > sent as the first operand. The name of the control file is sent as
> > the second. It should start with ASCII "cfA", followed by a three
> > digit job number, followed by the host name which has constructed the
> > control file. Acknowledgement processing must occur as usual after
> > the command is sent.
> >
> > Note the cfA... Right... and they have 'cA' and a 4 digit
> > job number... and the host name.
> >
> >
> > <aside>
> > Anybody wonder why I froth at the mouth some days?
> > And this is the company that is MAKING the printers!!!
> >
> > <froth>Growly growly</froth>
> >
> > ...........
>
> I am not employed by HP and I never have been, but HP and all the
> other UNIX system vendors that I know of have made their own private
> extensions to rfc1179. Extentions are often made to:
> 1. increase the queue size from the measly 1000 specified
> in rfc1179.
> 2. increase the number of files allowed in a print job from
> the measly 52 specified in rfc1179.
>
> As you must know, lots of other private extentions to rfc1179 have
> also been made.
Only too too well:-) Such as the LPRng extensions! :-)
>
> I believe that there is a method in the HPUX print system to strictly
> follow rfc1179 in print jobs sent to remote systems, but as I don't
> have an HP system to play with, I don't know how to set up strict rfc1179
> compliance on an HP system. I do know what some of the HP extensions
> to rfc1179 are. These are attached below. Similar extensions on other
> UNIX systems can be found with some detective work, or by asking the
> right person the right questions. These sorts of private extensions
> are primary reasons that all the the major print system vendors are
> working so hard on IPP now. (I just wish they had not made it quite
> so complex!)
>
> Finally, and most import, is the definition of the word "should"
> as used in rfc1179 and other standards. According to an IETF document
> that I am looking at now (in this case an IPP standard), "The verbs
> SHOULD and SHOULD NOT indicate suggested behavior, but which is not
> required or disallowed, respectively, in order to conform to the
> specification."
>
> Therefore, as I understand it, the control and data file names that
> begin with 'cfA' or 'dfA' in rfc1179 are suggestions. They may be used,
> but if they are not, your code should still not break.
>
> Very respectfully,
> Richard Hart.
>
Yeah, I know. Only too well. And since you were clever enough to
send me the following, here is your name in lights:
You can now send up to 'max_jobfiles' (default 52) to the server.
Note: you can actually only send 52*52 = 2704
The data files are given names
dfAnn -> dfZnn -> dfann -> dfznn ->
dgAnn -> dgZnn -> dgann -> dgznn ->
dzAnn -> dzZnn -> dzann -> dzznn ->
daAnn -> daZnn -> daann -> daznn ->
deAnn -> deZnn -> deann -> deznn ->
dAAnn -> dAZnn -> dAann -> dAznn ->
dZAnn -> dZZnn -> dZann -> dZznn
There is now support for the HP extensions:
(Courtesy of Richard Hart USG <[EMAIL PROTECTED]>,
who sent me the following information)
Patrick Powell Astart Technologies,
[EMAIL PROTECTED] 9475 Chesapeake Drive, Suite D,
Network and System San Diego, CA 92123
Consulting 858-874-6543 FAX 858-279-8424
LPRng - Print Spooler (http://www.astart.com)
> ------------
> HP rfc1179 extensions (this is a few years old and may be out of date by now):
>
> Remote printing via RFC 1179 protocol is supported.
> Remote Printing via RFC 1179 protocol and HP extensions is also supported.
>
OK, where are they documented? I would LOVE to know where they are
documented! Can you give me a manual number? This looks good.
> Summary of HP's Extensions to RFC-1179
>
> 1. 4-Digit Job Numbers
> ----------------------
>
> HP preserves the System V-style 4-digit sequence number, or job number, in
> file names and attributes, while BSD uses 3-digit job numbers.
>
>
> 2. Control and Data File Naming Conventions
> -------------------------------------------
>
> Control files are named in the following format:
>
> cA<seqn><host>
>
> <seqn> is the 4-digit sequence number (aka job number).
> <host> is the originating host name.
>
> The data file naming sequence format is:
>
> dA<seqn><host> through dZ<seqn><host> followed by...
>
> da<seqn><host> through dz<seqn><host> followed by...
>
> eA<seqn><host> through eZ<seqn><host> followed by...
>
> ea<seqn><host> through ez<seqn><host> ... etc. ...
>
>
> So the first data file name in a request begins with "dA", the second with
> "dB", the 27th with "da", the 28th with "db", and so forth.
>
>
> 3. HP-Specific BSD Job Attributes (Control File Lines)
> ------------------------------------------------------
>
> The following control file lines are extensions of RFC-1179:
>
> R<login>
>
> Write to the named login's terminal when the job is complete. This is
> an alternate to the RFC-1179-style e-mail completion notification.
> This notification is selected via the lp "-w" option.
>
> A<priority>
>
> Specifies the System V-style priority of the request, a single digit
> from 0-7.
>
> N B<banner>
>
> Note that this line begins with an "N", a space, and then a "B". The
> argument is the banner page title requested via the lp "-t" option. If
> that option was not given then the argument is null.
>
> N O<options>
>
> Note that this line begins with an "N", a space, and then an "O". The
> argument contains the System V-style "-o" options specified in the lp
> command line. The option names appear without a leading "-o". The
> first option name begins in the fourth character of the line; each
> option is separated by a blank. If no "-o" options were given then the
> argument is null.
>
>
> The following control file lines are generated differently than in standard
> BSD:
>
> J<jobname>
>
> The argument is the System V-style request-ID, for example,
> "printer-42". Note that leading zeros are not present in the sequence
> number. If a System V-style title is requested then it is sent using a
> "N B" attribute, and not the "J" attribute.
>
>
> 4. HP System V-Style "-o" Options
> ---------------------------------
>
> The following are the "-o" options recognized by the PCL5-level model file
> currently shipped with the base HP-UX product.
>
> Horizontal/Vertical Pitch Selection:
>
> 10 10 characters/inch (cpi)
> 12 12 cpi
> c compressed print pitch
> e expanded print pitch
> fp# set primary font pitch to # cpi
> sfp# set secondary font pitch to # cpi
> ( may be floating point )
> ( e.g. 16.66 = compressed )
> hsi# set horizontal spacing increment to #
> ( #/120's inch )
> ( e.g. hsi10 is the same as 12 cpi )
> ( See your printer reference manual )
> lpi# print at lines per inch (default is 6 lpi)
> vsi# set vertical spacing increment to #
> ( #/48's inch )
> ( e.g. vsi4 is the same as 12 lpi )
> ( See your printer reference manual )
>
> Output filtering: (Default Cooked)
>
> r | raw raw mode for plotting mode etc.
> n | nroff set up to properly print output from nroff
> pr set up to properly print output from pr
> rev output pages in reverse order
> a | ascii print PostScript file as text
>
>
> Print Spacing Selection:
>
> psp set primary font to proportional spacing
> spsp set secondary font to proportional spacing
> fsp set primary font to fixed spacing
> sfsp set secondary font to fixed spacing
>
>
> Resolution Control:
>
> dpi# set resolution to #
> ( Supported values for # are : )
> ( 300 or 3 sets printer to 300dpi )
> ( 600 or 6 sets printer to 600dpi )
>
>
> Font Selection:
>
> cs# set primary character set to #
> scs# set secondary character set to #
> ( See your printer reference manual )
> ( for possible character sets, )
> ( e.g. cs8U sets Roman 8 character set )
> r8 Roman 8 character set
> k8 Kana 8 character set
> height# set primary height to #
> sheight# set secondary height to #
> style# set primary style to #
> sstyle# set secondary style to #
> ( possible values for style # )
> ( 0 = upright, 1 = italic, 2 = slant )
> b | bold set font stroke weight to bold (# = 1 )
> i | italics set primary style to italic
> si | sitalics set secondary style to italic
> upright set primary style to upright
> supright set secondary style to upright
> slant set primary style to slant
> sslant set secondary style to slant
> type# set primary typeface to #
> stype# set secondary typeface to #
> weight# set primary font weight to #
> sweight# set secondary font weight to #
> ( <0 = light, 0 = medium , )
> ( >0 = bold, typical range )
> ( is -7 to +7 ; See your )
> ( printer reference manual )
>
> Page Length Selection:
>
> lnnn set absolute length of page to nnn lines
> ( default is 66 )
> tlnnn set text length of page to nnn lines
> ( default is 60 in portrait mode, )
> ( 45 in landscape mode )
>
>
> Margin Selection:
>
> lm# set left margin in column #
> rm# set right margin in column #
> ( left most column = 0 )
>
>
> Paper Control: (Default single sided feed from paper cassette)
>
> m | man set up for manual sheet feed
> d | double do automatic double sided printing
> * If your printer is not capable of duplex
> printing, use 'md' or 'mdouble' option.
> md | mdouble do manual double sided printing
> ub | ubin feed paper from upper cassette
> lb | lbin feed paper from lower cassette
> nb do not output banner page (to save paper)
> yb do output banner page
> P#[:#] print the pages from # to EOF
> or #:# to print a range of pages
>
>
> Paper Control for Banner Page:
>
> ubb | ubbin feed banner page from upper cassette
> lbb | lbbin feed banner page from lower cassette
>
>
> Paper Control for Size:
>
> legal set printer for legal size
> A3 set printer for A3 size
> A4 set printer for A4 size
> B4 set printer for B4 size
> letter set printer for letter size
> ledger set printer for 11x17 size
>
>
> Dividing page: (Default normal)
>
> half | 2 double page with half size printing
> quarter | 4 four times page with quarter size printing
> * Use of these options will negate the effects of
> the other options except for 'rev', 'portrait',
> 'landscape', 'm', 'man', 'nb', 'd' or 'double'.
>
>
> Page Orientation: (Default portrait)
>
> port | portrait portrait mode orientation
> land | landscape landscape mode orientation
>
>
> Printer Language:
>
> hpgl2 set the printer to hpgl2-mode and reset it after
> printing (Orientation in landscape mode)
> hpgl2_p set the printer to hpgl2-mode, and reset it after
> printing (Orientation in portrait mode)
> ps | postscript set the printer language to PostScript
> pcl set the printer language to PCL
-----------------------------------------------------------------------------
If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
or lprng-digest-requests) with the word 'help' in the body. For the impatient,
to subscribe to a list with name LIST, send mail to [EMAIL PROTECTED]
with: | example:
subscribe LIST <mailaddr> | subscribe lprng-digest [EMAIL PROTECTED]
unsubscribe LIST <mailaddr> | unsubscribe lprng [EMAIL PROTECTED]
If you have major problems, send email to [EMAIL PROTECTED] with the word
LPRNGLIST in the SUBJECT line.
-----------------------------------------------------------------------------