1## The Super Quick Guide to LPRng Printcaps
2##  Patrick Powell <papowell@lprng.com>
3##     Thu Nov 15 13:31:08 PST 2001
4# VERSION=3.8.22
5#
6# LPD print queue configuration - Default options
7#    The printcap entry below sets defaults.  Add default options
8#    or other entries here
9#
10.common:
11   :sd=/var/spool/lpd/%P
12   :sh:mx=0:mc=0
13#
14#   [Translation:
15#   .common - the period (.) causes LPRng to treat this as a 'information
16#      only entry.  This idea was stolen^H^H^H^H^H^H borrowed from the Unix
17#      'hidden' file convention, i.e. file names starting with a period
18#      are not displayed by 'ls' or matched by '*'
19#   :sd=/var/spool/lpd/%P
20#      Spool queue directory for temporary storage of print jobs.  The
21#      %P will be expanded with the print queue name.  Each print queue
22#      MUST have a different spool queue directory,  and by using %P
23#      this is guaranteed.
24#   :sh  - suppress banners or header pages
25#   :mx=0 - maximum job size in K bytes (0 is unlimited) 
26#   :mc=0 - maximum number of copies (0 is unlimited) 
27#   ]
28#
29# LPD print queue definitions: Define print queues
30#
31# Printer on Parallel Port (i.e. - /dev/lpt0)
32#lp:lp=DEVICE:tc=.common
33#    Example:
34#     lp:tc=.common:lp=/dev/lpt0
35#     [Translation:
36#      lp - name of the print queue
37#      :tc=.common - include the options in the .common printcap entry
38#        the 'tc' options will be put at the START of the printcap entry
39#      :lp=/dev/lpt0  - open and write the print job to /dev/lpt0
40#     ]
41#
42# Printer on Serial Port (i.e. - /dev/tty00)
43#       Use the :stty to set the speed, bits, and parity using 'stty(1)'
44#       options.  Note: almost all printers use 8 bits, no parity.
45#lp:tc=.common:lp=DEVICE:stty=STTY OPTIONS
46#    Example:
47#     lp:tc=.common:lp=/dev/tty0:stty=19200 raw crtscts
48#     [Translation:  lp, :tc, :lp as for A) above.
49#      :stty= options used to configure serial port
50#     ]
51#
52# Printer on Network Print Server (i.e. - HP JetDirect)
53#    connecting via a TCP/IP socket. IPADDR is IP address or Fully Qualified
54#    Domain Name of the print server, PORT is the TCP/IP port.
55#
56#    HP JetDirect uses port 9100 by default.
57#
58#    Warning: check the Network Print Server documentation for correct
59#    port number.  Most non-HP Network Print Servers and non-HP printers 
60#    do not use port 9100.
61#
62#lp:tc=.common:lp=IPADDR%PORT
63#    Example:
64#    lp:tc=.common:lp=10.0.0.2%9100
65#     [Translation:  lp, :tc, as for A) above.
66#      lp=10.0.0.2%9100 - open a connection to 10.0.0.2, port 9100
67#       and write the print job to this port.
68#     ]
69#
70# D) printer on Network Print Server (i.e. - HP JetDirect or LPD server)
71#    connecting via the LPD print protocol.  QUEUE is the name of the
72#    print queue and IPADDR is the IP address or Fully Qualified Domain
73#    Name of the print server.
74#
75#    Warning: check the Network Print Server documentation for correct
76#    QUEUE name.  The 'lp' queue is used on the HP JetDirect as the
77#    default print queue.  If there are multiple printer ports on the
78#    device then the QUEUE name is used to select the port.
79#
80#    Warning: Using this protocol with JetDirect units will almost always
81#    cause a 'banner page' to be generated by the JetDirect unit.
82#    Check the HP documentation on how to disable this most annoying feature.
83#    Usually you simply telnet to the JetDirect and then use the
84#    simple configuration menu presented when you first make connection.
85#
86#lp:tc=.common:lp=QUEUE@IPADDR
87#
88#    Example:
89#    lp:tc=.common:lp=lp@10.0.0.2
90#     [Translation:  lp, :tc, as for A) above.
91#      lp=lp@10.0.0.2 - open a connection to 10.0.0.2, port 515,
92#        and use the RFC1179 (LPD) protocol to transfer the job
93#        to the QUEUE print queue.
94#     ]
95#
96# Step 4:  Format Conversion (Filter) Required?
97#
98#    You may discover that your printer does not support PostScript or
99#    requires a special initialization to be done.  This is handled
100#    by a filter program.  The 'ifhp' filter program is supplied with
101#    LPRng and supports a very wide number of printers.  If you need
102#    to have a filter,  then add the following lines to the printcap
103#    entry:
104#
105#    :filter=PATH_TO_IFHP_FILTER
106#    :ifhp=IFHP_OPTIONS
107#
108#    Note: the LPRng :filter= option replaces the legacy BSD lpd options
109#    :if, :vf, ... options that specify filters for 'f' format, 'v' format,
110#    and so forth (yes, yes, :if is for 'f' format, don't ask).
111#    The :filter option specifies a default filter for all job formats.
112#    Most modern filters such as IFHP,  Magikfilter,  and RedHat print
113#    filters are smart enough to determine the job format and perform
114#    the appropriate conversions.
115# 
116#     Examples:
117#
118#     lp:tc=.common:lp=/dev/lpt0
119#      :filter=/usr/libexec/filters/ifhp
120#      :ifhp=model=hp4simx
121#
122#     lp:tc=.common:lp=10.0.0.2%9100
123#      :filter=/usr/libexec/filters/ifhp
124#      :ifhp=model=hp4simx
125#
126#     lp:tc=.common:lp=lp@10.0.0.2
127#      :filter=/usr/libexec/filters/ifhp
128#      :ifhp=model=hp4simx
129#
130#    IFHP Options:
131#      For almost all simple configurations you will only need to
132#      supply the model of printer that you have attached.  See the
133#      /etc/ifhp.conf file for a complete listing of supported models.
134#      The default model is for an HP Laserjet 4 SiMx,  which supports
135#      PostScript,  PCL,  and PJL.
136#
137#    Warning:
138#      IF:
139#        Your model of printer normally provides status and error
140#          reporting over a TCP/IP link
141#      AND:
142#        You are using lp=IPADDR%PORT to connect to the printer
143#      THEN:
144#        The IFHP filter will normally expect to have status information
145#        returned by the printer to tell it that the printer is in working
146#        condition.  This will have a small but significant overhead
147#        on job throughput,  but you will also get error information.
148#
149#      HOWEVER:
150#        If the printer SHOULD return status but CANNOT due to either
151#        the printer hardware configuration or it is on a unidirectional
152#        and not bidirectional parallel printer port,  then you must use
153#           :model=...,status@
154#        to tell the IFHP filter not to expect status information.
155#
156#      Example:
157#        lp:tc=.common:lp=10.0.0.2%9100
158#          :filter=/usr/libexec/filters/ifhp
159#          :ifhp=model=hp4simx,status@
160#
161# Step 5: Queue creation and LPD restart
162#    Run the following commands to create your spool queues and
163#    then tell the LPD server that it should use them:
164#      su
165#      checkpc -f
166#      lpc reread
167