Provided by: ifhp_3.5.20-15_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)