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