Commit | Line | Data |
---|---|---|
772c33c0 KB |
1 | .\" Copyright (c) 1983 The Regents of the University of California. |
2 | .\" All rights reserved. | |
9d2e3471 | 3 | .\" |
772c33c0 KB |
4 | .\" Redistribution and use in source and binary forms are permitted |
5 | .\" provided that the above copyright notice and this paragraph are | |
6 | .\" duplicated in all such forms and that any documentation, | |
7 | .\" advertising materials, and other materials related to such | |
8 | .\" distribution and use acknowledge that the software was developed | |
9 | .\" by the University of California, Berkeley. The name of the | |
10 | .\" University may not be used to endorse or promote products derived | |
11 | .\" from this software without specific prior written permission. | |
12 | .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR | |
13 | .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED | |
14 | .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | |
15 | .\" | |
16 | .\" @(#)5.t 6.5 (Berkeley) %G% | |
9d2e3471 KM |
17 | .\" |
18 | .NH 1 | |
19 | Output filter specifications | |
20 | .PP | |
98c1ea89 | 21 | The filters supplied with 4.3BSD |
9d2e3471 KM |
22 | handle printing and accounting for most common |
23 | line printers, the Benson-Varian, the wide (36") and | |
24 | narrow (11") Versatec printer/plotters. For other devices or accounting | |
25 | methods, it may be necessary to create a new filter. | |
26 | .PP | |
27 | Filters are spawned by \fIlpd\fP | |
28 | with their standard input the data to be printed, and standard output | |
29 | the printer. The standard error is attached to the | |
30 | .B lf | |
98c1ea89 JB |
31 | file for logging errors or \fIsyslogd\fP may be used for logging errors. |
32 | A filter must return a 0 exit | |
9d2e3471 KM |
33 | code if there were no errors, 1 if the job should be reprinted, |
34 | and 2 if the job should be thrown away. | |
35 | When \fIlprm\fP | |
36 | sends a kill signal to the \fIlpd\fP process controlling | |
37 | printing, it sends a SIGINT signal | |
38 | to all filters and descendents of filters. | |
1c460ca9 JB |
39 | This signal can be trapped by filters that need |
40 | to do cleanup operations such as | |
9d2e3471 KM |
41 | deleting temporary files. |
42 | .PP | |
43 | Arguments passed to a filter depend on its type. | |
44 | The | |
45 | .B of | |
46 | filter is called with the following arguments. | |
47 | .DS | |
dde7aeb0 | 48 | \fIfilter\fP \fB\-w\fPwidth \fB\-l\fPlength |
9d2e3471 KM |
49 | .DE |
50 | The \fIwidth\fP and \fIlength\fP values come from the | |
51 | .B pw | |
52 | and | |
53 | .B pl | |
54 | entries in the printcap database. | |
55 | The | |
56 | .B if | |
57 | filter is passed the following parameters. | |
58 | .DS | |
59 | \fIfilter\fP [\|\fB\-c\fP\|] \fB\-w\fPwidth \fB\-l\fPlength \fB\-i\fPindent \fB\-n\fP login \fB\-h\fP host accounting_file | |
60 | .DE | |
61 | The | |
62 | .B \-c | |
63 | flag is optional, and only supplied when control characters | |
1c460ca9 | 64 | are to be passed uninterpreted to the printer (when using the |
9d2e3471 KM |
65 | .B \-l |
66 | option of | |
67 | .I lpr | |
1c460ca9 | 68 | to print the file). |
9d2e3471 KM |
69 | The |
70 | .B \-w | |
71 | and | |
72 | .B \-l | |
73 | parameters are the same as for the | |
74 | .B of | |
75 | filter. | |
76 | The | |
77 | .B \-n | |
78 | and | |
79 | .B \-h | |
80 | parameters specify the login name and host name of the job owner. | |
81 | The last argument is the name of the accounting file from | |
82 | .IR printcap . | |
83 | .PP | |
84 | All other filters are called with the following arguments: | |
85 | .DS | |
86 | \fIfilter\fP \fB\-x\fPwidth \fB\-y\fPlength \fB\-n\fP login \fB\-h\fP host accounting_file | |
87 | .DE | |
88 | The | |
89 | .B \-x | |
90 | and | |
91 | .B \-y | |
92 | options specify the horizontal and vertical page | |
93 | size in pixels (from the | |
94 | .B px | |
95 | and | |
96 | .B py | |
97 | entries in the printcap file). | |
98 | The rest of the arguments are the same as for the | |
99 | .B if | |
100 | filter. |