|
|
1.1 root 1: .\" Copyright (c) 1983 The Regents of the University of California.
2: .\" All rights reserved.
3: .\"
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) 3/7/89
17: .\"
18: .NH 1
19: Output filter specifications
20: .PP
21: The filters supplied with 4.3BSD
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
31: file for logging errors or \fIsyslogd\fP may be used for logging errors.
32: A filter must return a 0 exit
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.
39: This signal can be trapped by filters that need
40: to do cleanup operations such as
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
48: \fIfilter\fP \fB\-w\fPwidth \fB\-l\fPlength
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
64: are to be passed uninterpreted to the printer (when using the
65: .B \-l
66: option of
67: .I lpr
68: to print the file).
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.