Provided by: ifhp_3.5.20-17_amd64 bug

NAME

       ifhp - Almost Universal LPRng Print Filter

SYNOPSIS

       ifhp
       [-F format] [-s statusfile] [-?value (other LPRng filter options)]
       [-Z[options[,options]*]*
       [-T[options[,options]*]*
       [accountingfile]

       ifhp.conf(configuration file)

DESCRIPTION

       The  ifhp is a general purpose filter for allmost all PostScript, PJL, PCL, and text based
       line printers.

       The ifhp filter resets and synchronizes  the printer,  gets  accounting  information,  and
       then  checks  the  file  to  determine  its  format.  Based on the format, it will do PCL,
       PostScript, or  other  initializations,  and  then  transfer  the  file  to  the  printer.
       Termination sequences are sent, followed by getting accounting information.

OPTIONS AND CONFIGURATION

       Options  controlling  ifhp operations are specified by -Toption or -Zoption values.  These
       options have the form:
       Form          Same As
       flag          flag=1
       flag@         flag=0
       flag=str
       flag#str

       The complete set of options and their effect on operation are detailed in  the  IFHP-HOWTO
       document.   The  following  is  a  brief  list of the more important ones that will have a
       dramatic effect on printer operation.

       model     =modelid
              Specifies the printer modelid information.  This is used to select  an  appropriate
              configuration from the ifhp configuration file.

       status (status@)
              The  status  option  enables checking for status information from the printer.  See
              STATUS, SYNC, WAITEND, AND PAGECOUNT for details.

       sync (sync@, sync=ps, sync=pjl)

       waitend (waitend@, waitend=ps, waitend=pjl)
              If the status option is enabled, sync will check to see that the printer is  online
              and  ready  and  the  waitent  will check that the job has finished.  The sync@ and
              waitend@ will suppress these checks.  See STATUS, SYNC, WAITEND, AND PAGECOUNT  for
              details.

       pagecount (pagecount@, pagecount=ps, pagecount=pjl)
              If the status option is enabled, pagecount will try to get the value of the printer
              pagecounter.  See STATUS, SYNC, WAITEND, AND PAGECOUNT for details.

       config=path,path,...
              pathnames  of  configuration  files  to  read  to  obtain   printer   configuration
              information.

       debug=debuglevel
              Set  the debugging level.  A larger number causes more verbose error messages.  You
              have been warned.

       trace
              Sends out debugging and tracing information on STDERR as well as to the status  log
              file.

       stty=options
              Sets serial line configuration when a dev entry specified.

STATUS, SYNC, WAITEND, AND PAGECOUNT

       If  the  status  option  is  true,  then  the  ifhp filter will assume that the printer is
       attached by a bidirectional channel and will attempt to read status information  from  the
       printer.  This also enables the sync, sync and pagecount handshaking and getting pagecount
       information from the printer.

       The sync flag causes a special PJL job or PostScript job to be sent to the printer at  the
       start  of  printing at periodic intervals.  This job has the property that it will attempt
       to put the printer into a sane state and  cause  it  to  return  status  information.   By
       default,  if  the  printer supports PJL then the PJL job is used, otherwise if it supports
       PostScript, the PostScript job is used.  You can force the sync method using  sync=pjl  or
       sync=ps if necessary, and suppress it using sync@

       The  waitend  flag causes a special PJL job or PostScript job to be sent to the printer at
       the end of the job at periodic intervals.  This job has the property that it will  attempt
       to  put  the  printer  into  a  sane  state and cause it to return status information.  By
       default, if the printer supports PJL then the PJL job is used, otherwise  if  it  supports
       PostScript,  the  PostScript  job  is  used.   You  can  force  the  waitend  method using
       waitend=pjl or waitend=ps if necessary, and suppress it using waitend@

       The pagecount flag causes a special PJL job or PostScript job to be sent to the printer at
       the  start  and  end  of the job.  This job has the property that it causes the printer to
       return the value of a hardware page counter.  By taking the difference of  the  start  and
       end  values of the pagecounter, an accurate measure of the number of pages (or impressions
       for some duplex printers) can be done.  By default, if the printer supports PJL  then  the
       PJL job is used, otherwise if it supports PostScript, the PostScript job is used.  You can
       force the pagecount method using pagecount=pjl or pagecount=ps if necessary, and  suppress
       it using pagecount@

       The  IFHP  filter will puts tracing and status information in the file specified by the -s
       command line flag.  If the status file does not exist,   it  will  not  be  created.   The
       diagnostic trace flag overrides this and directs the status to STDERR.

       The  pagecount  information is put into the accounting file specified on the command line.
       If the accounting file does not exist,  it will not be created.

JOB PROCESSING (LPR -Z) OPTIONS

       The lpr program passes the command line -Z options or the lp program  -o  options  to  the
       LPRng  lpd  server  which  then  passes  them to the ifhp filter.  The options are used to
       control various printing features.  For  example  if  duplex  printing  and  landscape  is
       wanted, then
            lpr -P<printer> -Z'duplex,landscape' <file>

       Since  each  printer  has  a different set of capabilities there are no standard set of -Z
       options.  The following is a sample of the options provided by ifhp.  Check the  ifhp.conf
       file for all of the options supported by the printer.

       Input Tray Selection
              inupper, inlower, intray1, intray2, intray3, manual, envelope
              source=name
              The input tray selection options should start with the in prefix and corresponds to
              the various trays.  The manual and envelope options are included to  select  manual
              feed  or envelope feed. There is a possible source of conflict here as there may be
              an envelope feeder as well as  an  envelope  media.  This  is  a  printer  specific
              dependency.
              The  source=name  option allows users to use options such as -Zsource=inbin1, which
              may be useful for systems that have  an  unusual  or  nonstandard  input  selection
              mechanism.  se select media (paper) from the specified tray or feeder.

       Output Bin Selection
              outupper, outlower, outbin1
              outbin=name
              The output bin selection should start with the out prefix.
              The outbin=name form allow users to use options such as -Zoutbin=stapler, which may
              be useful for  systems  that  have  an  unusual  or  nonstandard  output  selection
              mechanism.

       Media Size Selection
              a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 b0 b1 b2 b3 b4 b5
              archA archB archC archD archE flsa flse halfletter
              note letter legal 11x17 ledger tabloid
              paper=name
              The  paper  size  selection facilities usually are quite printer dependent, and the
              input tray selection and paper size selection mechanisms may  interact  in  strange
              and mysterious ways.
              The  paper=name  form  allow  users to use options such as -Zpaper=b3, which may be
              useful for systems that have  an  unusual  or  nonstandard  input  media  selection
              mechanism.

       Media Type Selection
              plain, preprinted, letterhead, transparency, glossy, prepunched, labels
              bond, recycled, color, heavy, cardstock
              Media Type is not the same as paper size, and corresponds to the name assigned to a
              particular media. Of course, the issue is complicated by the fact that  some  media
              have standard sizes as well. Again, the input tray selection, media size, and media
              type selection will interact in confusing and mysterious  ways,  depending  on  the
              whim of the printer firmware iplementors.
              You  will  notice that there is no generic mediatype=name facility.  This is due to
              the radically different way that PostScript, PJL, PCL, etc., each handle media name
              and  selection.   While  it  is possible to determine the various strings, numbers,
              escape codes, etc., that need to be sent for each mediatype,  a  general  mechanism
              is too fragile and fraught with peril for the unwary administrator to provide.  You
              have been warned.  Been there and have the scars to prove it.
              These are commonly used media type names gleaned from  various  PostScript  Printer
              Description  Files,  Microsoft  printer  drivers,  and  arcane  lore of the Printer
              Working Group. Note that these are not accepted terms in the paper industry for any
              of these type of media. You are warned.

       Duplex/Simplex
              duplex (lduplex) duplexshort (sduplex)
              simplex
              tumble (shortedge)
              The duplex (alias lduplex) and duplexshort (alias sduplex) will print on both sides
              of the paper; duplexshort will reverse the orientation; simplex will print only  on
              one side of the paper.
              The  tumble  (shortedge)  will  reverse  the  orientation  of the paper.  Used when
              printing facing pages of duplex and there is a desperate need for this orientation.

       Copies
              copies=N
              Be aware that this option is totally bogus is  usually  ignored  (except  when  you
              expect it to be ignored).  You have been warned.

OF MODE

       The  OF  mode of operation is selected by the -Fo command line option.  When operationg in
       OF mode it will scan the input for a two character stop sequence \031\011.  When it  finds
       the  sequence  it will suspend itself.  The spooler will restart the filter with a SIGCONT
       signal when it has more output for it.

FILES

       /etc/ifhp.conf
              Configuration files
       /usr/lib/ifhp/ifhp
              Executables.

SEE ALSO

       The IFHP-HOWTO document, which is included as part of the IFHP distribution.  This is  the
       principle reference for this filter.

       lpd(8), printcap(5).

       FTP sites: ftp://ftp.lprng.com

       WEB sites: http://www.lprng.com

       Mailing List.  Send email to lprng-request@lprng.com
       with the word 'subscribe' in the boyd.

BUGS

       They are not bugs.  They are mis-documented features.

AUTHOR

       The  IFHP  filter was inspired by the LPRng CTI-ifhp filter, which was a descendent of the
       print filters developed by the CTI-Print project at the Division of  Computing  Facilities
       of the Computer Technology Institute (CTI), Patras, Greece.

AUTHORS

       Patrick Powell,
            Astart Technologies,
            San Diego, CA
            <papowell@lprng.com>

                                              3.5.20                                      IFHP(8)