version 1, including all changes.
.
Rev |
Author |
# |
Line |
1 |
perry |
1 |
PRINTCAP |
|
|
2 |
!!!PRINTCAP |
|
|
3 |
NAME |
|
|
4 |
SYNOPSIS |
|
|
5 |
DESCRIPTION |
|
|
6 |
LPD.CONF, SYSTEM AND USER PRINTCAP FILES |
|
|
7 |
CAPABILITIES |
|
|
8 |
ENTRIES BY ALPHABETICAL ORDER |
|
|
9 |
ENTRIES BY FUNCTION |
|
|
10 |
FILTERS |
|
|
11 |
SPOOL QUEUES |
|
|
12 |
LOCAL PRINTERS |
|
|
13 |
STTY OPTIONS |
|
|
14 |
INITIALIZATION |
|
|
15 |
ALL PRINTERS |
|
|
16 |
ACCOUNTING |
|
|
17 |
BOUNCE QUEUES AND PRINT FORMATS |
|
|
18 |
KERBEROS, PGP, AND OTHER AUTHENTICATION METHODS |
|
|
19 |
FILES |
|
|
20 |
SEE ALSO |
|
|
21 |
DIAGNOSTICS |
|
|
22 |
HISTORY |
|
|
23 |
AUTHOR |
|
|
24 |
---- |
|
|
25 |
!!NAME |
|
|
26 |
|
|
|
27 |
|
|
|
28 |
printcap - printer capability data base |
|
|
29 |
!!SYNOPSIS |
|
|
30 |
|
|
|
31 |
|
|
|
32 |
printcap database |
|
|
33 |
!!DESCRIPTION |
|
|
34 |
|
|
|
35 |
|
|
|
36 |
The format of the LPRng ''printcap'' database was based |
|
|
37 |
on the termcap(5) data base file format. Entries in |
|
|
38 |
the ''printcap'' Each entry in the data base is used to |
|
|
39 |
define various options and values to control the printing |
|
|
40 |
and spooling of print jobs. |
|
|
41 |
!!LPD.CONF, SYSTEM AND USER PRINTCAP FILES |
|
|
42 |
|
|
|
43 |
|
|
|
44 |
Default configuration values are read from the LPRng |
|
|
45 |
configuration file /etc/lprng/lpd.conf, consult the |
|
|
46 |
lpd.conf(5) man page for details about them. The system |
|
|
47 |
printcap file /etc/lprng/printcap contains information |
|
|
48 |
common to all users and the LPRng printing system. Finally, |
|
|
49 |
the user printcap files is in ${HOME}/.printcap and contain |
|
|
50 |
user configurable information for printer information. The |
|
|
51 |
values in the user printcap file override values in the |
|
|
52 |
printcap file which override the default values in the |
|
|
53 |
/etc/lprng/lpd.conf file. |
|
|
54 |
|
|
|
55 |
|
|
|
56 |
The user printcap file is used by client programs such as |
|
|
57 |
''lpr , lprm , lpq ,'' and ''lpq'' to allow the user |
|
|
58 |
to define either a special set of printers, provide |
|
|
59 |
additional configuration information, or to modify default |
|
|
60 |
settings in the /etc/lprng/printcap, or /etc/lprng/lpd.conf |
|
|
61 |
file. |
|
|
62 |
!!CAPABILITIES |
|
|
63 |
|
|
|
64 |
|
|
|
65 |
The printcap database files format is based on the |
|
|
66 |
''termcap (5)'' database format, modified as follows. |
|
|
67 |
Leading whitespace on each line is discarded, and blank |
|
|
68 |
lines or lines which then start with a comment character (#) |
|
|
69 |
are discarded. A line which does not start with a colon (:) |
|
|
70 |
or bar (|) starts a printer entry definition. Lines ending |
|
|
71 |
with a backslash () are assumed to continue to the next |
|
|
72 |
line; this is for compatibility with other historical |
|
|
73 |
printcap file formats. Trailing blanks and tabs (whitespace) |
|
|
74 |
for an option value are deleted unless the last one is |
|
|
75 |
escaped with a backslash (``''). If a colon character value |
|
|
76 |
is required then the : escape sequence can be used, e.g.: |
|
|
77 |
dest=ftp://address/file. |
|
|
78 |
|
|
|
79 |
|
|
|
80 |
A printer definition starts with a primary printer name, |
|
|
81 |
followed by zero or more alternative printer names, followed |
|
|
82 |
by a set of keyword entries and values. For |
|
|
83 |
example: |
|
|
84 |
|
|
|
85 |
|
|
|
86 |
#comment |
|
|
87 |
# primary printer name |
|
|
88 |
lp |
|
|
89 |
#alternate names |
|
|
90 |
|lp2|lp3 |
|
|
91 |
|Example of a printer |
|
|
92 |
:sd=/usr/spool/LPD/lp |
|
|
93 |
:rw:lp=/dev/lp:mx#100 |
|
|
94 |
include /etc/printcap/mainprintcap |
|
|
95 |
The special printcap definition ''include'' will read the named file, which must have an absolute pathname, as the next set of printcap entries. |
|
|
96 |
|
|
|
97 |
|
|
|
98 |
Keywords can be 1 to an indefinate number of characters |
|
|
99 |
long, and are case sensitive. Values for keywords can be |
|
|
100 |
strings (:st=string:), signed integer values using the C |
|
|
101 |
language notation, (:nu#12:max#-2:mask#0x1EF:), or flags |
|
|
102 |
(:flag: to set to 1, :flag@: to clear to 0). Integer values |
|
|
103 |
must be representable as 32 bit 2's complement numbers; care |
|
|
104 |
should be taken with extremely large numbers. |
|
|
105 |
|
|
|
106 |
|
|
|
107 |
If the primary name of a printcap entry starts with a |
|
|
108 |
punctuation character, then the entry may be referenced |
|
|
109 |
using the ''tc'' capability, but is ignored otherwise. |
|
|
110 |
This allows common printcap information to be placed in a |
|
|
111 |
single entry. |
|
|
112 |
|
|
|
113 |
|
|
|
114 |
The special printcap entry ''oh'' (i.e. - only this host) |
|
|
115 |
may be used to select a printcap entry for use by one or |
|
|
116 |
more hosts. The oh entry can be a list of one or more host |
|
|
117 |
names or glob type of patterns. These patterns are first |
|
|
118 |
applied to the host's fully qualified domain name, and then |
|
|
119 |
used to to a lookup of an IP address. If either the glob |
|
|
120 |
match or the host has a matching IP address then the |
|
|
121 |
printcap entry is selected for use. In addition, the |
|
|
122 |
''server'' flag indicates that only the LPD server is to |
|
|
123 |
use this printcap entry. This allows client and server |
|
|
124 |
printcap information be to be segragated in a simple |
|
|
125 |
manner. |
|
|
126 |
|
|
|
127 |
|
|
|
128 |
The following is a list of the keywords currently used by |
|
|
129 |
the LPRng software. Many of these keywords are used only by |
|
|
130 |
the ''LPD'' server, others are used by the client |
|
|
131 |
programs ''LPR, LPC, LPRM, PAC,'' as well as the server. |
|
|
132 |
In the Use column in the table below, an __A__ stands for |
|
|
133 |
all programs, __D__ stands for ''lpd'', and __R__ |
|
|
134 |
stands for the client programs such as |
|
|
135 |
''LPR.'' |
|
|
136 |
|
|
|
137 |
|
|
|
138 |
Some of these entries can only appear or have an effect if |
|
|
139 |
they are in the lpd.conf initialization file. See |
|
|
140 |
lpd.conf(5) for further details. |
|
|
141 |
!!ENTRIES BY ALPHABETICAL ORDER |
|
|
142 |
|
|
|
143 |
|
|
|
144 |
__FL Use Type Default Description |
|
|
145 |
__Xf D str NULL output filter for format X (used by lpd). |
|
|
146 |
'filter' sets default filter |
|
|
147 |
ab D bool false always print banner, ignore lpr -h option |
|
|
148 |
achk D bool false |
|
|
149 |
If TRUE LPD and the :as specifies a remote host or |
|
|
150 |
filter or the :af specifies a remote host or filter |
|
|
151 |
then after writing the accounting information to the |
|
|
152 |
destination a resply will be read. The value of the |
|
|
153 |
reply determines how the job is to be handled. |
|
|
154 |
ae D str accounting format for end of job or a program to run |
|
|
155 |
to record accounting information (see also af, la, ar |
|
|
156 |
and Accounting). |
|
|
157 |
af D str NULL |
|
|
158 |
accounting file, filter, or remote accounting server |
|
|
159 |
(see also la, ar, as, ae, achk). If format is |/path then |
|
|
160 |
the program will be started and accounting information |
|
|
161 |
will be written to the program STDIN. If the format |
|
|
162 |
host%port, a tcp/ip connection will be made to port |
|
|
163 |
on host and the accounting information written to the |
|
|
164 |
remote host. In both of these cases the write operation |
|
|
165 |
must succeed or an error will result. If the format |
|
|
166 |
is neither of these cases then the value will be treated |
|
|
167 |
as a file and accounting information appended to the file |
|
|
168 |
if it exists. The accounting file will not be created, |
|
|
169 |
it must exist for LPD to append data to it. |
|
|
170 |
The :as and :ae fields have the accounting information. |
|
|
171 |
ah D bool false auto-hold - job held until explicitly released |
|
|
172 |
all A str NULL a list of all printers; (see ALL PRINTERS) |
|
|
173 |
allow_duplicate_flags A bool false |
|
|
174 |
allow duplicate command line flags; last overwrites earlier |
|
|
175 |
allow_getenv A bool (compile time) |
|
|
176 |
allows LPRng software to use the LPD_CONF environment variable |
|
|
177 |
to specify the location of a configuration file. This is |
|
|
178 |
for testing only. |
|
|
179 |
allow_user_logging A bool false |
|
|
180 |
if mail is requested using lpr -mhost%port,prot operations, |
|
|
181 |
and the allow_user_logging flag is true, then job logging |
|
|
182 |
information will be sent to host%port,prot. |
|
|
183 |
allow_user_setting A str NULL |
|
|
184 |
allow these users to impersonate other users with the |
|
|
185 |
lpr -U user@host, lpc -U user@host, etc., options |
|
|
186 |
append_z A str |
|
|
187 |
append these options to the -Z options for the job |
|
|
188 |
ar D bool true write remote transfer accounting (if af, and as/ae set) |
|
|
189 |
architecture A str (compile time) |
|
|
190 |
architecture the software was compiled for. (Obsolete.) |
|
|
191 |
as D str accounting format for start of job or a program to run |
|
|
192 |
to record accounting information (see also af, la, ar |
|
|
193 |
and Accounting). |
|
|
194 |
auth R str NULL |
|
|
195 |
client to server authentication type |
|
|
196 |
be D str banner printing program for end (overrides bp, hl) |
|
|
197 |
bk R bool false Berkeley-compatible: be strictly RFC-compliant |
|
|
198 |
or more exactly, BSD LPR compatible when sending jobs. |
|
|
199 |
bk_filter_options D str (see source code) |
|
|
200 |
when bk flag set, options for non OF print filters |
|
|
201 |
bk_of_filter_options D str (see source code) |
|
|
202 |
when bk flag set, options for OF print filters |
|
|
203 |
bkf R bool false |
|
|
204 |
use bk_filter_options and bk_of_filter_options when |
|
|
205 |
invoking print filter. |
|
|
206 |
bl D str banner line - sent to banner printer program |
|
|
207 |
default: $-'C:$-'n Job: $-'J Date: $-'t |
|
|
208 |
expands to: Class:User Job: job Date: date |
|
|
209 |
This is to force compatibility with vintage print filters |
|
|
210 |
that require a non-standard banner string. Usually used with |
|
|
211 |
:sb: option. |
|
|
212 |
bp D str banner printing program (see hl) |
|
|
213 |
(default: configuration variable default_banner_printer) |
|
|
214 |
bq_format D str l format of output from bounce queue filters |
|
|
215 |
br D num none if lp is a tty, set the baud rate (see ty) |
|
|
216 |
break_classname_priority_link A flag false |
|
|
217 |
Do not set priority to first letter of class name |
|
|
218 |
bs D str banner printing program for start (overrides bp, hl) |
|
|
219 |
cf D str NULL cifplot data filter |
|
|
220 |
check_for_nonprintable R bool false |
|
|
221 |
lpr checks f and p formats for printable files |
|
|
222 |
check_for_protocol_violations R bool false |
|
|
223 |
check for RFC1179 protocol violations |
|
|
224 |
chooser D str load balance queue destination chooser program |
|
|
225 |
chooser_interval D num 10 |
|
|
226 |
load balance queue does checks for a |
|
|
227 |
destination queue available at this interval |
|
|
228 |
chooser_routine D bool false |
|
|
229 |
use the user provided chooser routine for this queue |
|
|
230 |
class_in_status A bool true |
|
|
231 |
show class name in lpq status rather than priority |
|
|
232 |
cm A str NULL comment identifying printer (LPQ) |
|
|
233 |
config_file A str /etc/lprng/lpd.conf |
|
|
234 |
location of LPRng configuration information. Compile |
|
|
235 |
time option only - see allow_getenv. |
|
|
236 |
connect_grace A num 0 |
|
|
237 |
time between jobs to allow printer recovery |
|
|
238 |
connect_interval A num 10 |
|
|
239 |
time between open or connection attempts |
|
|
240 |
connect_timeout A num 10 |
|
|
241 |
timeout value for connection or open |
|
|
242 |
control_file_line_order D str NULL |
|
|
243 |
Put the control file lines in a specific order |
|
|
244 |
control_filter D str NULL |
|
|
245 |
Filter for control file. Used when sending job to remote |
|
|
246 |
spool queue. |
|
|
247 |
create_files D bool false |
|
|
248 |
create log, debug, etc., files automatically |
|
|
249 |
db A str NULL LPD debug options when serving this queue. |
|
|
250 |
See lf (log file) entry as well. |
|
|
251 |
default_format R str f |
|
|
252 |
default format for printing jobs |
|
|
253 |
default_permission D str A |
|
|
254 |
default permission for operation |
|
|
255 |
default_printer A str lp |
|
|
256 |
default printer for printing jobs |
|
|
257 |
default_priority R str A |
|
|
258 |
default priority for printing jobs |
|
|
259 |
default_remote_host A str localhost |
|
|
260 |
default remote host for printing operations |
|
|
261 |
default_tmp_dir A str /tmp |
|
|
262 |
default temporary directory |
|
|
263 |
destinations D str NULL |
|
|
264 |
names of printers that lpq/lprm should talk to |
|
|
265 |
find a job that has been processed by a router |
|
|
266 |
script (see README.routing) |
|
|
267 |
df D str NULL tex data filter (DVI format) |
|
|
268 |
done_jobs D num 1 |
|
|
269 |
retain status for last N jobs |
|
|
270 |
done_jobs_max_age num 0 |
|
|
271 |
remove status older than N seconds (0 - no removal) |
|
|
272 |
exit_linger_timeout A num 10 |
|
|
273 |
socket SO_LINGER timeout value |
|
|
274 |
fd D bool false if true, no forwarded jobs accepted |
|
|
275 |
ff D str ``f'' string to send for a form feed (see INITIALIZATION) |
|
|
276 |
filter D str NULL |
|
|
277 |
default filter to use for printing file |
|
|
278 |
filter_ld_path D str (see source) |
|
|
279 |
the LD_LIBARY_PATH environment variable value for filters |
|
|
280 |
filter_options D str (see source code) |
|
|
281 |
when bk flag clear, options for non OF print filters |
|
|
282 |
filter_path D str (default '/bin:/usr/bin') |
|
|
283 |
the PATH environment variable value for filters |
|
|
284 |
filter_poll_interval D num 30 |
|
|
285 |
interval to poll OF filter |
|
|
286 |
filter_stderr_to_status_file D bool false |
|
|
287 |
set the filter STDERR to the status file and do |
|
|
288 |
no report errors in the queue status file. |
|
|
289 |
fo D bool false print a form feed when device is opened |
|
|
290 |
force_fqdn_hostname A bool FALSE |
|
|
291 |
Force a fully qualified host name in control file |
|
|
292 |
force_ipadddr_hostname A bool FALSE |
|
|
293 |
Force the IP address of the host to be used for the |
|
|
294 |
hostname in control file |
|
|
295 |
force_localhost A bool TRUE |
|
|
296 |
Forces the clients programs (lpr, lpc, etc.) |
|
|
297 |
to send all print jobs and requests to the server running |
|
|
298 |
on the localhost entry for action. This flag effectively |
|
|
299 |
forces BSD LPR behaviour. |
|
|
300 |
force_lpq_status D str NULL |
|
|
301 |
Specifies a list of LPQ formats and hosts which get status |
|
|
302 |
returned in this format. For example |
|
|
303 |
force_lpq_status=s=pc*;l=mac* will cause hosts whose |
|
|
304 |
FQDN matches pc* to get short status and those which |
|
|
305 |
match mac* to get long format. |
|
|
306 |
force_queuename A str NULL |
|
|
307 |
When :qq: flag or use_queuename configuration is enabled, |
|
|
308 |
specifies the queuename to be used for control file Q |
|
|
309 |
information. |
|
|
310 |
ff_separator D bool false |
|
|
311 |
need form feeds to separate job files |
|
|
312 |
fq D bool false print a form feed when device is closed |
|
|
313 |
full_time D bool detailed time format specification in log messages |
|
|
314 |
fx A str NULL valid output filter formats |
|
|
315 |
i.e. ``flp'' would allow f, l, and p |
|
|
316 |
default is to allow all formats |
|
|
317 |
gf D str NULL graph data filter (plot (3X) format) |
|
|
318 |
generate_banner D bool false |
|
|
319 |
generate a banner when forwarding job |
|
|
320 |
group D str daemon LPD server group id for execution |
|
|
321 |
hl D bool false print banner after job instead of before |
|
|
322 |
if D str NULL filter command, run on a per-file basis |
|
|
323 |
ignore_requested_user_priority D bool false |
|
|
324 |
Ignore the requested user priority when ordering jobs. |
|
|
325 |
Prevents students... um... users from queue jumping. |
|
|
326 |
ipv6 A bool false Use IPV6 |
|
|
327 |
keepalive A bool true |
|
|
328 |
set socket SO_KEEPALIVE option |
|
|
329 |
kerberos_keytab D str /etc/lpd.keytab |
|
|
330 |
Kerberos lpd server keytab file |
|
|
331 |
kerberos_life D str NULL |
|
|
332 |
Kerberos lpd server key lifetime |
|
|
333 |
kerberos_renew D str NULL |
|
|
334 |
Kerberos lpd server key renewal time |
|
|
335 |
kerberos_server_principle D str NULL |
|
|
336 |
Kerberos remote lpd server principle |
|
|
337 |
kerberos_service D str lpr |
|
|
338 |
Kerberos service used in principle requests |
|
|
339 |
la D bool true write local printer accounting (if af is set) |
|
|
340 |
ld D str NULL leader string printed on printer open (see INITIALIZATION) |
|
|
341 |
lf D str ``log'' error and debugging log file (LPD) |
|
|
342 |
lk D bool false lock the lp device to force arbitration |
|
|
343 |
lockfile D str /var/spool/lpd/lpd |
|
|
344 |
lpd lock file (used only in lpd.conf). |
|
|
345 |
The lpd_port port value is appended |
|
|
346 |
to the lockfile value to provide a unique lockfile |
|
|
347 |
even when different versions of LPRng are running |
|
|
348 |
on the same system. |
|
|
349 |
logger_destination D str NULL |
|
|
350 |
destination for logging information. Format is |
|
|
351 |
host%port |
|
|
352 |
logger_max_size D num 1024 |
|
|
353 |
logger file maximum size in K |
|
|
354 |
logger_path D str NULL |
|
|
355 |
logger file pathname |
|
|
356 |
logger_timeout D num 0 |
|
|
357 |
logger connection timeout. 0 is no timeout. |
|
|
358 |
longnumber D bool false |
|
|
359 |
use 6 digit job numbers |
|
|
360 |
lp D str NULL device name or pipe to send output to |
|
|
361 |
lpd_bounce A bool FALSE |
|
|
362 |
Forces lpd to filter jobs and then forward them |
|
|
363 |
as a single file |
|
|
364 |
(See Bounce Queues) |
|
|
365 |
lpd_force_poll A bool FALSE |
|
|
366 |
Forces lpd to periodically poll lpd queues. |
|
|
367 |
lpd_poll_time A num 600 |
|
|
368 |
After this amount of idle time, lpd will poll queues |
|
|
369 |
lpd_port D str printer |
|
|
370 |
format is [[ipaddr%]port. If the ipaddr is present |
|
|
371 |
then the lpd listening socket is bound to the specified |
|
|
372 |
ip address and port only, otherwise it is bound to all |
|
|
373 |
interfaces. If the port value is not a number then the |
|
|
374 |
then the getservbyname() system call is used to get the |
|
|
375 |
port number. |
|
|
376 |
lpd_printcap_path D str (see source) |
|
|
377 |
printcap path for lpd, used instead of printcap path |
|
|
378 |
(configuration value only) |
|
|
379 |
lpr_bounce R bool true |
|
|
380 |
Forces lpr to filter jobs and then send them. |
|
|
381 |
(See Bounce Queues) |
|
|
382 |
lpr_bsd R bool false |
|
|
383 |
when set, LPR -m will not take argument, but will use |
|
|
384 |
$USER value for return mail address. |
|
|
385 |
mail_from D str NULL |
|
|
386 |
specifies the user part of email From: address |
|
|
387 |
mail_operator_on_error D str NULL |
|
|
388 |
send mail to this user when LPD encounters printing error. |
|
|
389 |
max_connect_interval A num 60 |
|
|
390 |
maximum time between connection attempts |
|
|
391 |
max_log_file_size D num 0 |
|
|
392 |
maximum log file size in K bytes (0 is unlimited) |
|
|
393 |
spool queue log file truncated to min_log_file_size |
|
|
394 |
when value is nonzero and limited exceeded. |
|
|
395 |
max_servers_active D num 0 |
|
|
396 |
maximum servers that LPD will allow to be active at one |
|
|
397 |
time. 0 selects the system default, which is usually |
|
|
398 |
pretty small, perhaps 10. (configuration value only). |
|
|
399 |
max_status_line D num 79 maximum number of characters on an LPQ status line |
|
|
400 |
max_status_size D num 10 maximum size (Kbytes) of status file |
|
|
401 |
mc R num 1 maximum copies allowed |
|
|
402 |
min_log_file_size D num 0 minimum size (Kbytes) of log file |
|
|
403 |
min_status_size D num 2 minimum size (Kbytes) of status file |
|
|
404 |
minfree D str 0 |
|
|
405 |
minimum space (in K) for spool directory |
|
|
406 |
ml R num 32 minimum printable characters for printable check |
|
|
407 |
ms_time_resolution D bool false |
|
|
408 |
log time in milliseconds |
|
|
409 |
mx R num 0 maximum job size in K, 0 = unlimited |
|
|
410 |
nb D num 0 if non-zero, do a nonblocking open on lp device |
|
|
411 |
nf D str NULL DITROFF data filter |
|
|
412 |
network_connect_grace A num 0 |
|
|
413 |
time between attempts to send jobs to spooler |
|
|
414 |
Useful when dealing with network printer using LPD |
|
|
415 |
interface to allow a bit of time between jobs. |
|
|
416 |
nline_after_file D bool false |
|
|
417 |
put the N (filename) after the data file information |
|
|
418 |
in the control file. Use to handle systems that want |
|
|
419 |
it that way. |
|
|
420 |
of D str NULL output filter, run once for all output |
|
|
421 |
(used for banner printing, form feeds between files) |
|
|
422 |
of_filter_options D str (see source code) |
|
|
423 |
when bk flag clear, options for OF print filters |
|
|
424 |
oh A str NULL Specific printcap entry for host; |
|
|
425 |
(printcap entry ignored unless IP address of host and |
|
|
426 |
entry value match. Entry is used first to do glob |
|
|
427 |
style match against the host's fully qualified domain name, |
|
|
428 |
and then interpreted as a general IP address) |
|
|
429 |
order_routine D bool false |
|
|
430 |
use a user provided routine to generate queue order |
|
|
431 |
information. |
|
|
432 |
originate_port A str 512 1023 |
|
|
433 |
when originating a connection, use ports in this range. |
|
|
434 |
pass_env A str PGPPASS,PGPPATH |
|
|
435 |
if not the LPD server, sanitize and put these variables |
|
|
436 |
in a filter environment variable list. |
|
|
437 |
perms_path A str /etc/lprng/lpd.perms |
|
|
438 |
location of perms file (used in lpd.conf) |
|
|
439 |
pl D num 66 page length (in lines) |
|
|
440 |
pr D str ``/bin/pr'' pr program for p format |
|
|
441 |
prefix_o_to_z D bool false |
|
|
442 |
prefix the control file O line to the control file |
|
|
443 |
Z line. |
|
|
444 |
prefix_z D str NULL |
|
|
445 |
prefix the specified options to the control file |
|
|
446 |
Z line. |
|
|
447 |
prefix_z_to_o D bool false |
|
|
448 |
prefix the control file Z line to the control file |
|
|
449 |
O line. |
|
|
450 |
printcap_path A str /etc/lprng/printcap |
|
|
451 |
location of printcap file (only in lpd.conf) |
|
|
452 |
ps A str ''status'' printer status file name |
|
|
453 |
pw D num 132 page width (in characters) |
|
|
454 |
px D num 0 page width in pixels (horizontal) |
|
|
455 |
py D num 0 page length in pixels (vertical) |
|
|
456 |
qq A bool false LPR - puts in the queue name (Q entry) |
|
|
457 |
in the job control file when spooled or transferred. |
|
|
458 |
LPD - when receiving or transferring a job, |
|
|
459 |
if the queue name (Q entry) in the job control |
|
|
460 |
file is not present, puts in the queue name. |
|
|
461 |
queue_control_file D str control.%P |
|
|
462 |
name of the queue control file |
|
|
463 |
queue_lock_file D str %P |
|
|
464 |
name of the queue lock file |
|
|
465 |
queue_status_file D str status.%P |
|
|
466 |
name of the queue status file |
|
|
467 |
queue_unspooler_file D str unspooler.%P |
|
|
468 |
name of the queue unspooler status file |
|
|
469 |
remote_support A str NULL |
|
|
470 |
if non-null, specifies allowed operations to remote queue. |
|
|
471 |
R=lpr, M=lprm, Q=lpq, V = lpq -v, C=lpc. For example, |
|
|
472 |
remote_support=RM would only allow LPR and LPRM operations. |
|
|
473 |
remove_z D str null |
|
|
474 |
remove these options from the control file Z line |
|
|
475 |
report_server_as A str NULL |
|
|
476 |
use the str value as the name of the server when reporting |
|
|
477 |
LPQ or LPC status. |
|
|
478 |
require_explicit_q Require a queue to be specified, do not use default |
|
|
479 |
queue from printcap. |
|
|
480 |
retry_econnrefused A bool true |
|
|
481 |
if set, retry a connection to a remote system when an |
|
|
482 |
ECONNREFUSED error is returned. |
|
|
483 |
retry_nolink D bool true |
|
|
484 |
if LPD is sending a job or opening a device for |
|
|
485 |
printing and the value is true, then the connection or |
|
|
486 |
device open is repeated indefinately. |
|
|
487 |
return_short_status D str NULL |
|
|
488 |
Some legacy (non-LPRng) LPQ programs expect 'short' status |
|
|
489 |
to be returned. This option allows you to specify which hosts |
|
|
490 |
will get it. The value is a list of hosts and/or IPaddresses |
|
|
491 |
and masks to which the LPD server will provide short status. |
|
|
492 |
For example: return_short_status=192.8.0.0/16 will make LPD |
|
|
493 |
return short status to all requests from hosts in subnet |
|
|
494 |
192.8.0.0. (See short_status_length) |
|
|
495 |
reuse_addr A bool false |
|
|
496 |
if set, use SO_REUSEADDR on outgoing connection ports. |
|
|
497 |
This reduces the problems with exhausting port numbers. |
|
|
498 |
(usually only in lpd.conf) |
|
|
499 |
reverse_lpq_status D str NULL |
|
|
500 |
When a lpq status request arrives from one of the specified |
|
|
501 |
hosts or IP addresses, then the LPQ status format is inverted. |
|
|
502 |
For example, if reverse_lpq_status=host*,127.0.0.0/8, |
|
|
503 |
then when a LONG status request arrives from host1 or from |
|
|
504 |
ip address 127.0.0.1, the SHORT status will be returned. |
|
|
505 |
reverse_priority_order D bool false |
|
|
506 |
Make highest priority A, lowest Z |
|
|
507 |
rf D str NULL filter for printing FORTRAN style text files |
|
|
508 |
rg A str NULL (restrict to group members) |
|
|
509 |
Restrict use of queue to users which are members of |
|
|
510 |
specified groups. |
|
|
511 |
rm A str NULL remote-queue machine (hostname) (with rp) |
|
|
512 |
router D str NULL script that dynamically re-routes a job |
|
|
513 |
(see README.routing) |
|
|
514 |
rp A str NULL remote-queue printer name (with rm) |
|
|
515 |
rw D bool false open the printer for reading and writing |
|
|
516 |
safe_chars D str NULL |
|
|
517 |
additional safe characters for control file contents |
|
|
518 |
save_on_error D bool false |
|
|
519 |
Save job when an error occurs to allow post-mortem |
|
|
520 |
diagnostics or reprinting. This should only be set on |
|
|
521 |
print queues. It is also a diagnostic aid. |
|
|
522 |
save_when_done D bool false |
|
|
523 |
Save job when done (printed, transferred) to allow |
|
|
524 |
retry at a later time. This should only be set on |
|
|
525 |
print queues. It is also a diagnostic aid. |
|
|
526 |
sb D bool false short banner (one line only) |
|
|
527 |
sd A str NULL spool directory (only ONE printer per directory!) |
|
|
528 |
send_block_format A bool false |
|
|
529 |
Use the LPRng extended 'block job' job transmission |
|
|
530 |
method to send a job to a remote site. |
|
|
531 |
send_data_first A bool false send data files then control files |
|
|
532 |
when sending a job to a remote host. |
|
|
533 |
send_failure_action D str |
|
|
534 |
__ |
|
|
535 |
!!ENTRIES BY FUNCTION |
|
|
536 |
|
|
|
537 |
|
|
|
538 |
See the alphabetical listing for detailed |
|
|
539 |
information. |
|
|
540 |
|
|
|
541 |
|
|
|
542 |
__Filters and Page Formats |
|
|
543 |
__Xf D str NULL output filter for format X (used by lpd) |
|
|
544 |
'filter' sets default filter |
|
|
545 |
cf D str NULL cifplot data filter |
|
|
546 |
control_filter D str NULL |
|
|
547 |
Filter for control file. Used when sending job to remote |
|
|
548 |
spool queue. |
|
|
549 |
df D str NULL tex data filter (DVI format) |
|
|
550 |
direct_read D bool false |
|
|
551 |
if true, filters are given direct access to file. |
|
|
552 |
This means no progress indication possible. |
|
|
553 |
fx A str NULL valid output filter formats |
|
|
554 |
i.e. ``flp'' would allow f, l, and p |
|
|
555 |
default is to allow all formats |
|
|
556 |
gf D str NULL graph data filter (plot (3X) format) |
|
|
557 |
if D str NULL filter command, run on a per-file basis |
|
|
558 |
lpd_bounce R bool false |
|
|
559 |
Forces lpd to filter jobs and then forward them. |
|
|
560 |
(See Bounce Queues) |
|
|
561 |
lpr_bounce R bool false |
|
|
562 |
Forces lpr to filter jobs and then send them. |
|
|
563 |
(See Bounce Queues) |
|
|
564 |
nf D str NULL DITROFF data filter |
|
|
565 |
of D str NULL output filter, run once for all output |
|
|
566 |
pl D num 66 page length (in lines) |
|
|
567 |
pr D str ``/bin/pr'' pr program for p format |
|
|
568 |
pw D num 132 page width (in characters) |
|
|
569 |
px D num 0 page width in pixels (horizontal) |
|
|
570 |
py D num 0 page length in pixels (vertical) |
|
|
571 |
rf D str NULL filter for printing FORTRAN style text files |
|
|
572 |
translate_format D str NULL |
|
|
573 |
translate job format (similar to tr(1) utility) |
|
|
574 |
only valid when transferring to remote spool queue. |
|
|
575 |
Example: translate_format=pfml |
|
|
576 |
p format changed to f, m format to l |
|
|
577 |
tf D str NULL troff data filter (C/A/T phototypesetter) |
|
|
578 |
vf D str NULL (Versatek) raster image filter |
|
|
579 |
__Banners |
|
|
580 |
__ab D bool false always print banner, ignore lpr -h option |
|
|
581 |
be D str banner printing program for end (overrides bp, hl) |
|
|
582 |
bp D str banner printing program (use hl to print banner at end) |
|
|
583 |
bs D str banner printing program for start (overrides bp, hl) |
|
|
584 |
hl D bool false print banner after job instead of before |
|
|
585 |
sb D bool false short banner (one line only) |
|
|
586 |
sh D bool false suppress headers and/or banner page, overrides ab |
|
|
587 |
__Accounting |
|
|
588 |
__ae D str accounting format for end of job or a program to run |
|
|
589 |
to record accounting information (see also af, la, ar |
|
|
590 |
and Accounting). |
|
|
591 |
af D str NULL name of accounting file (see also la, ar) |
|
|
592 |
ar D bool true write remote transfer accounting (if af, and as/ae set) |
|
|
593 |
as D str accounting format for start of job or a program to run |
|
|
594 |
to record accounting information (see also af, la, ar |
|
|
595 |
and Accounting). |
|
|
596 |
la D bool true write local printer accounting (if af is set) |
|
|
597 |
__Queue control |
|
|
598 |
__ah D bool false auto-hold - job held until explicitly released |
|
|
599 |
bk R bool false backwards-compatible: be strictly RFC-compliant |
|
|
600 |
bkf R bool false backwards-compatible filter: use Berkeley filter options |
|
|
601 |
bqfilter D bool false if a bounce queue (sends jobs to remote site) |
|
|
602 |
then when bqfilter true and a format filter is specified, |
|
|
603 |
sends data files through format filter before transfer. |
|
|
604 |
See also 'qq'. |
|
|
605 |
cd D str NULL control information directory for LPD server |
|
|
606 |
cm A str NULL comment identifying printer (LPQ) |
|
|
607 |
fd D bool false if true, no forwarded jobs accepted |
|
|
608 |
lf D str ``log'' error and debugging log file (LPD) |
|
|
609 |
longnumber D bool false |
|
|
610 |
use 6 digit job numbers |
|
|
611 |
mc R num 1 maximum copies allowed |
|
|
612 |
ml R num 32 minimum printable characters for printable check |
|
|
613 |
minfree D str 0 minimum space (Kb) to be left in spool filesystem |
|
|
614 |
You can also use nnnM for nnn megabytes. |
|
|
615 |
mx R num 0 maximum job size (1Kb blocks, 0 = unlimited) |
|
|
616 |
ps A str ''status'' printer status file name |
|
|
617 |
nw A bool false spool dir is on an NFS file system |
|
|
618 |
(take precautions when reading/writing files) |
|
|
619 |
qq A bool false place queue information in control file. See |
|
|
620 |
alphabetical for details. |
|
|
621 |
rm A str NULL remote-queue machine (hostname) (with rp) |
|
|
622 |
rp A str NULL remote-queue printer name (with rm) |
|
|
623 |
sd A str NULL spool directory (only ONE printer per directory!) |
|
|
624 |
ss D str NULL name of queue that server serves (with sv) |
|
|
625 |
sv D str NULL names of servers for queue (with ss) |
|
|
626 |
sc R bool false suppress multiple copies |
|
|
627 |
use_auth A str NULL authentication to use |
|
|
628 |
use_date A bool true add date line ('D') to control file |
|
|
629 |
use_identifier R bool true |
|
|
630 |
add job identifier lines ('A') in the control file |
|
|
631 |
use_shorthost R bool false use only the hostname for job control |
|
|
632 |
and data file names. Host information in job file |
|
|
633 |
will still be fully qualified domain name. |
|
|
634 |
__Connection and Interface to Printer |
|
|
635 |
__db A num 0 debug level when using this printer |
|
|
636 |
connect_interval A num 10 |
|
|
637 |
time between open or connection attempts |
|
|
638 |
connect_timeout A num 10 |
|
|
639 |
timeout value for connection or open |
|
|
640 |
(0 is infinite number) |
|
|
641 |
ff D str ``f'' string to send for a form feed (see INITIALIZATION) |
|
|
642 |
fo D bool false print a form feed when device is opened |
|
|
643 |
fq D bool false print a form feed when device is closed |
|
|
644 |
ld D str NULL leader string printed on printer open (see INITIALIZATION) |
|
|
645 |
lp D str NULL device name or pipe to send output to |
|
|
646 |
lk D bool false lock the lp device to force arbitration |
|
|
647 |
max_connect_interval A num 60 |
|
|
648 |
maximum time between connection attempts |
|
|
649 |
nb D num 0 if non-zero, do a nonblocking open on lp device |
|
|
650 |
retry_econnrefused A bool true |
|
|
651 |
if set, retry a connection to a remote system when an |
|
|
652 |
ECONNREFUSED error is returned. |
|
|
653 |
retry_nolink D bool true |
|
|
654 |
if LPD is sending a job or opening a device for |
|
|
655 |
printing and the value is true, then the connection or |
|
|
656 |
device open is repeated indefinately. |
|
|
657 |
rs D num 300 number of seconds between spool queue status scans |
|
|
658 |
rt D num 3 number of times to try printing (0=infinite). |
|
|
659 |
rw D bool false open the printer for reading and writing |
|
|
660 |
save_on_error D bool false |
|
|
661 |
See above. |
|
|
662 |
save_when_done D bool false |
|
|
663 |
See above. |
|
|
664 |
send_failure_action D str remove |
|
|
665 |
See above. |
|
|
666 |
send_try alias for rt |
|
|
667 |
sf D bool true suppress form feed separators between job files |
|
|
668 |
socket_linger A num 10 |
|
|
669 |
if nonzero, forces a SO_LINGER operation to be done |
|
|
670 |
on all TCP/IP connections. This usually corrects a problem |
|
|
671 |
with missing last data transmissions to remote hosts. |
|
|
672 |
tr D str NULL trailer string to print when queue empties |
|
|
673 |
__Serial Line Setup |
|
|
674 |
__br D num none if lp is a tty, set the baud rate (see ty) |
|
|
675 |
stty D str NULL stty commands to set output line characteristics |
|
|
676 |
alias is sy, ms |
|
|
677 |
xs D num 0 like `xc' but set bits (see STTY) |
|
|
678 |
__Miscellaneous |
|
|
679 |
__all A str NULL a list of all printers; (see ALL PRINTERS) |
|
|
680 |
destinations D str NULL |
|
|
681 |
names of printers that lpq/lprm should talk to find |
|
|
682 |
a job that has been processed by a router script |
|
|
683 |
(see README.routing) |
|
|
684 |
forward_auth D str NULL |
|
|
685 |
server to server authentication type, e.g. pgp, kerberos |
|
|
686 |
force_localhost A bool TRUE |
|
|
687 |
Forces the clients programs (lpr, lpc, etc.) |
|
|
688 |
to send all print jobs and requests to the server running |
|
|
689 |
on the localhost entry for action. This flag effectively |
|
|
690 |
forces BSD LPR behaviour. |
|
|
691 |
force_queuename A str NULL |
|
|
692 |
See above. |
|
|
693 |
logger_destination D str NULL |
|
|
694 |
destination for logging information. Format is |
|
|
695 |
host[[%port][[,(TCP|UDP)] |
|
|
696 |
oh D str NULL Specific printcap entry for host. See above. |
|
|
697 |
remote_support A str RMQC |
|
|
698 |
if non-null, specifies allowed operations to remote queue. |
|
|
699 |
R=lpr, M=lprm, Q=lpq, C=lpc |
|
|
700 |
router D str NULL script that dynamically re-routes a job |
|
|
701 |
(see README.routing) |
|
|
702 |
server A bool false printcap entry for server only |
|
|
703 |
server_auth_command D str NULL |
|
|
704 |
authentication command for server to use. |
|
|
705 |
tc A str NULL reference to a printcap entry to include as part of |
|
|
706 |
the current entry. |
|
|
707 |
use_auth D str NULL |
|
|
708 |
client to server authentication type, e.g. pgp, kerberos |
|
|
709 |
user_auth_command R str NULL |
|
|
710 |
authentication command for user (client program) |
|
|
711 |
!!FILTERS |
|
|
712 |
|
|
|
713 |
|
|
|
714 |
By convention, all output filter names have the form |
|
|
715 |
__Xf,__ where __X__ is the lower case letter |
|
|
716 |
corresponding to the lpr formatting option. The |
|
|
717 |
__filter__ option can specify a default filter for job |
|
|
718 |
files. |
|
|
719 |
|
|
|
720 |
|
|
|
721 |
The __of__ filter is started for each job and is used to |
|
|
722 |
print the banner page and any FF separators between |
|
|
723 |
individual files of the job. It is sent a special stop |
|
|
724 |
sequence by the lpd server, and must suspend operations |
|
|
725 |
until sent a SIGCONT signal. A file or job filter is run |
|
|
726 |
separately for each file; at the end of the job the |
|
|
727 |
__of__ filter is restarted and used to print the trailing |
|
|
728 |
banner (if any) and FF separators. |
|
|
729 |
|
|
|
730 |
|
|
|
731 |
Filters are invoked with a standard set of options defined |
|
|
732 |
by the bk_filter_options (backwards compatible), |
|
|
733 |
bk_of_filter_options (backwards compatible OF filter), and |
|
|
734 |
filter_options configuration variables. See the lpd(8) |
|
|
735 |
manual page for details. If the first characters of the |
|
|
736 |
filter specification are -$, i.e.- Xf=-$ filter, then the |
|
|
737 |
command line options are not added. Currently, the options |
|
|
738 |
are: |
|
|
739 |
|
|
|
740 |
|
|
|
741 |
bk_filter_options $P $w $l $x $y $F $c $L $i $J $C $0n $0h $-a |
|
|
742 |
bk_of_filter_options $w $l $x $y |
|
|
743 |
filter_options $C $F $H $J $L $P $Q $R $Z $a $c $d \ |
|
|
744 |
$e $f $h $i $j $k $l $n $s $w $x $y $-a |
|
|
745 |
!!SPOOL QUEUES |
|
|
746 |
|
|
|
747 |
|
|
|
748 |
Printcap entries which have a spool directory value (sd) are |
|
|
749 |
called spool queues. Jobs sent to a printer with a spool |
|
|
750 |
queue are place in the spool directory. When checking the |
|
|
751 |
spool queue for jobs, the server will check to see if there |
|
|
752 |
is a printcap file in the directory with the name |
|
|
753 |
__printcap.__host. If there is, the additional printcap |
|
|
754 |
information is processed and used by the |
|
|
755 |
server. |
|
|
756 |
|
|
|
757 |
|
|
|
758 |
If the spool directory is NFS exported, then remote hosts |
|
|
759 |
can manipulate the spool entries directly; this can have |
|
|
760 |
catastrophic effects, especially in systems where the NFS |
|
|
761 |
implementation has defects. The printcap information is |
|
|
762 |
particularly vulnerable to exploitation, as well as symbolic |
|
|
763 |
links, jobs which cannot be removed, etc. |
|
|
764 |
!!LOCAL PRINTERS |
|
|
765 |
|
|
|
766 |
|
|
|
767 |
Local printers have an __lp__ entry, which is the device |
|
|
768 |
that output should be sent to, usually a serial port tty. |
|
|
769 |
PLP supplements this by using the lp field to indicate a |
|
|
770 |
remote printer, or by allowing communication with the |
|
|
771 |
printer using a separate program, known as an |
|
|
772 |
''lp-pipe,'' instead of a serial line. If the printcap |
|
|
773 |
__lp__ entry contains a string of the form |
|
|
774 |
__printer@host,__ jobs are forwarded to the specified |
|
|
775 |
remote printer on the host. If the printcap __lp__ entry |
|
|
776 |
contains a string of the form __| command args__ , the |
|
|
777 |
command __command__ is run, with the arguments __args |
|
|
778 |
.__ This can be used to communicate with printers |
|
|
779 |
connected to network terminal servers, some TCP/IP-capable |
|
|
780 |
printers, and just about anything you can hack up a |
|
|
781 |
communication program for. Read the PLP Manual for more |
|
|
782 |
details. |
|
|
783 |
!!STTY OPTIONS |
|
|
784 |
|
|
|
785 |
|
|
|
786 |
The __stty__ printcap parameter recognises a set of |
|
|
787 |
stty(1) options that can be used to set serial line |
|
|
788 |
characteristics for the printer. However, due to the |
|
|
789 |
differences between implementations of UNIX, there are |
|
|
790 |
several sets of __ty__ options supported. Invoke |
|
|
791 |
lpd(8) with the ``-v'' command-line option to see |
|
|
792 |
which set your installation is using. |
|
|
793 |
|
|
|
794 |
|
|
|
795 |
Systems using the ''sgtty'' tty manipulation interface |
|
|
796 |
may use the following stty(1) options: |
|
|
797 |
|
|
|
798 |
|
|
|
799 |
bs0 bs1 [[-]cbreak cooked cr0 |
|
|
800 |
cr1 cr2 cr3 [[-]decctlq [[-]echo |
|
|
801 |
[[-]even ff0 ff1 [[-]lcase [[-]litout |
|
|
802 |
nl0 nl1 nl2 nl3 [[-]nl |
|
|
803 |
[[-]noflsh new [[-]nohang old [[-]odd |
|
|
804 |
[[-]raw start stop tab0 tab1 |
|
|
805 |
tab2 [[-]tabs [[-]tandem tek ti700 |
|
|
806 |
[[-]tilde tn300 tty33 tty37 vt05 |
|
|
807 |
[[-]evenp [[-]oddp [[-]pass8 |
|
|
808 |
Systems using ''termio'' may use the following options: |
|
|
809 |
|
|
|
810 |
|
|
|
811 |
[[-]ignbrk [[-]brkint [[-]ignpar [[-]parmrk [[-]inpck |
|
|
812 |
[[-]istrip [[-]inlcr [[-]igncr [[-]icrnl [[-]iuclc |
|
|
813 |
[[-]ixon [[-]ixany [[-]ixoff [[-]decctlq [[-]tandem |
|
|
814 |
[[-]imaxbel [[-]opost [[-]olcuc [[-]onlcr [[-]ocrnl |
|
|
815 |
[[-]onocr [[-]onlret [[-]ofill [[-]ofdel [[-]cstopb |
|
|
816 |
[[-]cread [[-]parenb [[-]parodd [[-]hupcl [[-]clocal |
|
|
817 |
[[-]loblk [[-]parity [[-]evenp [[-]oddp [[-]stopb |
|
|
818 |
[[-]hup [[-]crtscts [[-]isig [[-]noisig [[-]icanon |
|
|
819 |
[[-]cbreak [[-]xcase [[-]echo [[-]echoe [[-]echok |
|
|
820 |
[[-]crterase [[-]lfkc [[-]echonl [[-]noflsh [[-]tostop |
|
|
821 |
[[-]echoctl [[-]ctlecho [[-]echoprt [[-]prterase [[-]echoke |
|
|
822 |
[[-]crtkill [[-]lcase [[-]nl [[-]litout [[-]pass8 |
|
|
823 |
[[-]raw [[-]sane [[-]cooked [[-]nopost fill |
|
|
824 |
nl0 nl1 cr0 cr1 cr2 |
|
|
825 |
cr3 tab0 tab1 tab2 tab3 |
|
|
826 |
bs0 bs1 vt0 vt1 ff0 |
|
|
827 |
ff1 cs5 cs6 cs7 cs8 |
|
|
828 |
nul-fill del-fill -tabs |
|
|
829 |
And systems using ''termios'' may use the following options: |
|
|
830 |
|
|
|
831 |
|
|
|
832 |
[[-]ignbrk [[-]brkint [[-]ignpar [[-]parmrk [[-]inpck |
|
|
833 |
[[-]istrip [[-]inlcr [[-]igncr [[-]icrnl [[-]iuclc |
|
|
834 |
[[-]ixon [[-]ixany [[-]ixoff [[-]imaxbel [[-]pass8 |
|
|
835 |
[[-]opost [[-]olcuc [[-]onlcr [[-]ocrnl [[-]onocr |
|
|
836 |
[[-]onlret [[-]ofill [[-]ofdel [[-]tabs nl0 |
|
|
837 |
nl1 cr0 cr1 cr2 cr3 |
|
|
838 |
tab0 tab1 tab2 tab3 bs0 |
|
|
839 |
bs1 vt0 vt1 ff0 ff1 |
|
|
840 |
cs5 cs6 cs7 cs8 [[-]cstopb |
|
|
841 |
[[-]cread [[-]parenb [[-]parodd [[-]hupcl [[-]clocal |
|
|
842 |
[[-]crtscts [[-]evenp [[-]parity [[-]oddp [[-]pass8 |
|
|
843 |
[[-]isig [[-]icanon [[-]xcase [[-]echo [[-]echoe |
|
|
844 |
[[-]echok [[-]echonl [[-]noflsh [[-]tostop [[-]iexten |
|
|
845 |
[[-]echoctl [[-]ctlecho [[-]echoprt [[-]prterase [[-]echoke |
|
|
846 |
[[-]crtkill [[-]flusho [[-]pendin |
|
|
847 |
The __fc__ , __fs__ , __xc__ , and __xs__ printcap entries are obsolete, and if present with non-zero values will abort print job processing. |
|
|
848 |
!!INITIALIZATION |
|
|
849 |
|
|
|
850 |
|
|
|
851 |
Many printers require an initialization string to be sent to |
|
|
852 |
them in order to configure their operation. The leader (ld) |
|
|
853 |
and trailer (tr) strings are sent at the start and end of |
|
|
854 |
job processing. These strings are interpreted using the C |
|
|
855 |
language conventions for character representation: nnn is |
|
|
856 |
replaced with a character with the value nnn, n with a new |
|
|
857 |
line, r with a carriage return, and so forth. |
|
|
858 |
!!ALL PRINTERS |
|
|
859 |
|
|
|
860 |
|
|
|
861 |
The LPRng software has the capability to use a remote |
|
|
862 |
database for obtaining printcap and other information. One |
|
|
863 |
of the difficulties arises when a list of all printers |
|
|
864 |
available is needed. By convention, the special printer name |
|
|
865 |
__all__ is reserved for this information; the __all__ |
|
|
866 |
field is a list of printers separated by spaces or |
|
|
867 |
punctuation. For example: |
|
|
868 |
|
|
|
869 |
|
|
|
870 |
#all printers |
|
|
871 |
all:all=lp1,lp2,lp3,lp4 |
|
|
872 |
!!ACCOUNTING |
|
|
873 |
|
|
|
874 |
|
|
|
875 |
Accounting in the LPRng package has evolved over time to |
|
|
876 |
accommodate new requirements. The general approach is to use |
|
|
877 |
either a simple __log to file__ method in which the |
|
|
878 |
accounting information is written to a log file or a more |
|
|
879 |
complex __log to program__ method in which the accounting |
|
|
880 |
information is written to a program. The information and |
|
|
881 |
method and actions taken are specified by the following |
|
|
882 |
entries: |
|
|
883 |
|
|
|
884 |
|
|
|
885 |
:as - start of job accounting |
|
|
886 |
:ae - end of job accounting |
|
|
887 |
:af - default job accounting |
|
|
888 |
:achk - used accounting for authorization. |
|
|
889 |
The value of the :as and :ae options are either a string which is used as the accounting information or a program which is executed to log or save the accounting information. If a program is executed then the value of the :af entry is ignored and the program is run to record the job accounting information. For example: |
|
|
890 |
|
|
|
891 |
|
|
|
892 |
# string for information logging |
|
|
893 |
:as=jobend $H $n $P $k $b $t |
|
|
894 |
:ae=jobstart $H $n $P $k $b $t |
|
|
895 |
:as=|/usr/local/libexec/logjobstart $H $n $P $k $b $t |
|
|
896 |
:ae=|/usr/local/libexec/logjobend $H $n $P $k $b $t |
|
|
897 |
If the :as or :ae value is a string then the :af information is used to record the accounting information: |
|
|
898 |
|
|
|
899 |
|
|
|
900 |
af=|/path - run program, :as or :ae written to |
|
|
901 |
program STDIN |
|
|
902 |
af=host%port - tcp/ip connection to port on host, |
|
|
903 |
:as or :ae written to connection |
|
|
904 |
af=path - treat path as a file pathname, |
|
|
905 |
if file exists append :as or :ae |
|
|
906 |
to file. |
|
|
907 |
If the :achk flag is set then this is modified as follows. |
|
|
908 |
If the :as entry specifies a program or :af entry specifies a |
|
|
909 |
program or remote host (i.e. - logging using program) then |
|
|
910 |
after accounting information has been written to the |
|
|
911 |
program or connection a response will be read from the program |
|
|
912 |
STDOUT or the connection. |
|
|
913 |
This reponse is expected to be an ASCII string. |
|
|
914 |
If the line is blank or starts with ACCEPT then the job will be printed, |
|
|
915 |
HOLD will hold the job, REMOVE will remove the job, |
|
|
916 |
and ABORT or a non-recognizable response will cause printing to be aborted. |
|
|
917 |
If the output is written to a program then the exit status |
|
|
918 |
of the program can be used as well. |
|
|
919 |
If the program exits with nonzero status then the |
|
|
920 |
exit code controls the disposition: |
|
|
921 |
JHOLD, JREMOVE, and JABORT will hold, remove, |
|
|
922 |
or abort the job respectively. |
|
|
923 |
If the exit status is 0, then |
|
|
924 |
the filter's STDOUT will be read and processed as described above. |
|
|
925 |
!!BOUNCE QUEUES AND PRINT FORMATS |
|
|
926 |
|
|
|
927 |
|
|
|
928 |
If the lp option value has the format __:lp=pr@host__ or |
|
|
929 |
job forwarding is specified by __:rp=pr:rm=host__ then |
|
|
930 |
the normal operation is simple to store and forward the |
|
|
931 |
print jobs. If filters are specified then the job files are |
|
|
932 |
first filtered and then the output of the filters is sent to |
|
|
933 |
the destination. For historical reasons, a spool queue that |
|
|
934 |
does filtering and forwarding is called a ''bounce |
|
|
935 |
queue''. The __bounce_queue_format__ (default 'f') |
|
|
936 |
specifies the output for the filtered files. If this is not |
|
|
937 |
desireable the __translate_format__ option can be used to |
|
|
938 |
specify a format. The option has the form SdSdSdN, where S |
|
|
939 |
is the original format and d is the final format. If none of |
|
|
940 |
the formats match and there is an odd number of formats then |
|
|
941 |
the last one is used. For example, __pfmlf__ would |
|
|
942 |
convert formats p to f, m to l, and v to f. |
|
|
943 |
|
|
|
944 |
|
|
|
945 |
The :lpd_bounce flag concatenate the output of the filters |
|
|
946 |
and the result will be sent as a single job file to the |
|
|
947 |
destination. This facility is useful when handling legacy |
|
|
948 |
print spooler applications that do not understand the |
|
|
949 |
RFC1179 copy, etc., options. The first letter of the |
|
|
950 |
__bounce_queue_format__ (default 'f') is used as the |
|
|
951 |
output file format. |
|
|
952 |
|
|
|
953 |
|
|
|
954 |
The __lpr_bounce__ printcap flag can be used to cause LPR |
|
|
955 |
to do bounce queue filtering in exactly the same manner as |
|
|
956 |
the server. This should be used with caution as missing |
|
|
957 |
filters on the client system can cause unexpected |
|
|
958 |
behaviour. |
|
|
959 |
!!KERBEROS, PGP, AND OTHER AUTHENTICATION METHODS |
|
|
960 |
|
|
|
961 |
|
|
|
962 |
LPRng supports built in kerberos authentication. To enable |
|
|
963 |
this, the LPD protocol has been extended to provide a way to |
|
|
964 |
transfer authenticated and/or encrypted jobs and commands. |
|
|
965 |
The details are covered in other LPRng |
|
|
966 |
documentation. |
|
|
967 |
!!FILES |
|
|
968 |
|
|
|
969 |
|
|
|
970 |
The files used by LPRng are set by values in the printer |
|
|
971 |
configuration file. The following are a commonly used set of |
|
|
972 |
default values. |
|
|
973 |
|
|
|
974 |
|
|
|
975 |
/etc/lprng/lpd.conf LPRng configuration file |
|
|
976 |
${HOME}/.printcap user printer description file |
|
|
977 |
/etc/lprng/printcap printer description file |
|
|
978 |
/etc/lprng/lpd.perms permissions |
|
|
979 |
/var/run/lprng/lpd lock file for queue control |
|
|
980 |
/var/spool/lpd spool directories |
|
|
981 |
/var/spool/lpd/QUEUE/control queue control |
|
|
982 |
/var/spool/lpd/QUEUE/log trace or debug log file |
|
|
983 |
/var/spool/lpd/QUEUE/acct accounting file |
|
|
984 |
/var/spool/lpd/QUEUE/status status file |
|
|
985 |
!!SEE ALSO |
|
|
986 |
|
|
|
987 |
|
|
|
988 |
lpd.conf(5), lpc(8), lpd(8), checkpc(8), lpr(1), lpq(1), |
|
|
989 |
lprm(1), lpd.perms(5), pr(1). |
|
|
990 |
!!DIAGNOSTICS |
|
|
991 |
|
|
|
992 |
|
|
|
993 |
Most of the diagnostics are self explanatory. |
|
|
994 |
If you are puzzled over the exact cause of failure, |
|
|
995 |
set the debugging level on (-D5) and run again. |
|
|
996 |
The debugging information will |
|
|
997 |
help you to pinpoint the exact cause of failure. |
|
|
998 |
!!HISTORY |
|
|
999 |
|
|
|
1000 |
|
|
|
1001 |
LPRng is a enhanced printer spooler system with |
|
|
1002 |
functionality similar to the Berkeley LPR software. The |
|
|
1003 |
LPRng mailing list is lprng@lprng.com; subscribe by sending |
|
|
1004 |
mail to lprng-request@lprng.com with the word subscribe in |
|
|
1005 |
the body. The software is available from |
|
|
1006 |
ftp://ftp.lprng.com/pub/LPRng. |
|
|
1007 |
!!AUTHOR |
|
|
1008 |
|
|
|
1009 |
|
|
|
1010 |
Patrick Powell |
|
|
1011 |
---- |