## The Super Quick Guide to LPRng Printcaps
##  Patrick Powell <papowell@lprng.com>
##     Thu Nov 15 13:31:08 PST 2001
# VERSION=3.8.10
#
# LPD print queue configuration - Default options
#    The printcap entry below sets defaults.  Add default options
#    or other entries here
#
.common:
   :sd=/var/spool/lpd/%P
   :sh:mx=0:mc=0
#
#   [Translation:
#   .common - the period (.) causes LPRng to treat this as a 'information
#      only entry.  This idea was stolen^H^H^H^H^H^H borrowed from the Unix
#      'hidden' file convention, i.e. file names starting with a period
#      are not displayed by 'ls' or matched by '*'
#   :sd=/var/spool/lpd/%P
#      Spool queue directory for temporary storage of print jobs.  The
#      %P will be expanded with the print queue name.  Each print queue
#      MUST have a different spool queue directory,  and by using %P
#      this is guaranteed.
#   :sh  - suppress banners or header pages
#   :mx=0 - maximum job size in K bytes (0 is unlimited) 
#   :mc=0 - maximum number of copies (0 is unlimited) 
#   ]
#
# LPD print queue definitions: Define print queues
#
# Printer on Parallel Port (i.e. - /dev/lpt0)
#lp:lp=DEVICE:tc=.common
#    Example:
#     lp:tc=.common:lp=/dev/lpt0
#     [Translation:
#      lp - name of the print queue
#      :tc=.common - include the options in the .common printcap entry
#        the 'tc' options will be put at the START of the printcap entry
#      :lp=/dev/lpt0  - open and write the print job to /dev/lpt0
#     ]
#
# Printer on Serial Port (i.e. - /dev/tty00)
#       Use the :stty to set the speed, bits, and parity using 'stty(1)'
#       options.  Note: almost all printers use 8 bits, no parity.
#lp:tc=.common:lp=DEVICE:stty=STTY OPTIONS
#    Example:
#     lp:tc=.common:lp=/dev/tty0:stty=19200 raw crtscts
#     [Translation:  lp, :tc, :lp as for A) above.
#      :stty= options used to configure serial port
#     ]
#
# Printer on Network Print Server (i.e. - HP JetDirect)
#    connecting via a TCP/IP socket. IPADDR is IP address or Fully Qualified
#    Domain Name of the print server, PORT is the TCP/IP port.
#
#    HP JetDirect uses port 9100 by default.
#
#    Warning: check the Network Print Server documentation for correct
#    port number.  Most non-HP Network Print Servers and non-HP printers 
#    do not use port 9100.
#
#lp:tc=.common:lp=IPADDR%PORT
#    Example:
#    lp:tc=.common:lp=10.0.0.2%9100
#     [Translation:  lp, :tc, as for A) above.
#      lp=10.0.0.2%9100 - open a connection to 10.0.0.2, port 9100
#       and write the print job to this port.
#     ]
#
# D) printer on Network Print Server (i.e. - HP JetDirect or LPD server)
#    connecting via the LPD print protocol.  QUEUE is the name of the
#    print queue and IPADDR is the IP address or Fully Qualified Domain
#    Name of the print server.
#
#    Warning: check the Network Print Server documentation for correct
#    QUEUE name.  The 'lp' queue is used on the HP JetDirect as the
#    default print queue.  If there are multiple printer ports on the
#    device then the QUEUE name is used to select the port.
#
#    Warning: Using this protocol with JetDirect units will almost always
#    cause a 'banner page' to be generated by the JetDirect unit.
#    Check the HP documentation on how to disable this most annoying feature.
#    Usually you simply telnet to the JetDirect and then use the
#    simple configuration menu presented when you first make connection.
#
#lp:tc=.common:lp=QUEUE@IPADDR
#
#    Example:
#    lp:tc=.common:lp=lp@10.0.0.2
#     [Translation:  lp, :tc, as for A) above.
#      lp=lp@10.0.0.2 - open a connection to 10.0.0.2, port 515,
#        and use the RFC1179 (LPD) protocol to transfer the job
#        to the QUEUE print queue.
#     ]
#
# Step 4:  Format Conversion (Filter) Required?
#
#    You may discover that your printer does not support PostScript or
#    requires a special initialization to be done.  This is handled
#    by a filter program.  The 'ifhp' filter program is supplied with
#    LPRng and supports a very wide number of printers.  If you need
#    to have a filter,  then add the following lines to the printcap
#    entry:
#
#    :filter=PATH_TO_IFHP_FILTER
#    :ifhp=IFHP_OPTIONS
#
#    Note: the LPRng :filter= option replaces the legacy BSD lpd options
#    :if, :vf, ... options that specify filters for 'f' format, 'v' format,
#    and so forth (yes, yes, :if is for 'f' format, don't ask).
#    The :filter option specifies a default filter for all job formats.
#    Most modern filters such as IFHP,  Magikfilter,  and RedHat print
#    filters are smart enough to determine the job format and perform
#    the appropriate conversions.
# 
#     Examples:
#
#     lp:tc=.common:lp=/dev/lpt0
#      :filter=/usr/libexec/filters/ifhp
#      :ifhp=model=hp4simx
#
#     lp:tc=.common:lp=10.0.0.2%9100
#      :filter=/usr/libexec/filters/ifhp
#      :ifhp=model=hp4simx
#
#     lp:tc=.common:lp=lp@10.0.0.2
#      :filter=/usr/libexec/filters/ifhp
#      :ifhp=model=hp4simx
#
#    IFHP Options:
#      For almost all simple configurations you will only need to
#      supply the model of printer that you have attached.  See the
#      /etc/ifhp.conf file for a complete listing of supported models.
#      The default model is for an HP Laserjet 4 SiMx,  which supports
#      PostScript,  PCL,  and PJL.
#
#    Warning:
#      IF:
#        Your model of printer normally provides status and error
#          reporting over a TCP/IP link
#      AND:
#        You are using lp=IPADDR%PORT to connect to the printer
#      THEN:
#        The IFHP filter will normally expect to have status information
#        returned by the printer to tell it that the printer is in working
#        condition.  This will have a small but significant overhead
#        on job throughput,  but you will also get error information.
#
#      HOWEVER:
#        If the printer SHOULD return status but CANNOT due to either
#        the printer hardware configuration or it is on a unidirectional
#        and not bidirectional parallel printer port,  then you must use
#           :model=...,status@
#        to tell the IFHP filter not to expect status information.
#
#      Example:
#        lp:tc=.common:lp=10.0.0.2%9100
#          :filter=/usr/libexec/filters/ifhp
#          :ifhp=model=hp4simx,status@
#
# Step 5: Queue creation and LPD restart
#    Run the following commands to create your spool queues and
#    then tell the LPD server that it should use them:
#      su
#      checkpc -f
#      lpc reread
