> 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.
-----------------------------------------------------------------------------

Reply via email to