2 .\" "$Id: backend.man 4884 2005-12-16 01:02:42Z mike $"
4 .\" Backend man page for the Common UNIX Printing System (CUPS).
6 .\" Copyright 1997-2005 by Easy Software Products.
8 .\" These coded instructions, statements, and computer programs are the
9 .\" property of Easy Software Products and are protected by Federal
10 .\" copyright law. Distribution and use rights are outlined in the file
11 .\" "LICENSE.txt" which should have been included with this file. If this
12 .\" file is missing or damaged please contact Easy Software Products
15 .\" Attn: CUPS Licensing Information
16 .\" Easy Software Products
17 .\" 44141 Airport View Drive, Suite 204
18 .\" Hollywood, Maryland 20636 USA
20 .\" Voice: (301) 373-9600
21 .\" EMail: cups-info@cups.org
22 .\" WWW: http://www.cups.org
24 .TH backend 1 "Common UNIX Printing System" "15 December 2005" "Easy Software Products"
27 backend \- cups backend transmission interfaces
33 job user title num-copies options [
38 The CUPS backend interface provides a standard method for sending
39 document files to different physical interfaces.
42 Backends must be capable of reading from a filename on the
43 command-line or from the standard input, copying the standard
44 input to a temporary file if required by the physical interface.
47 The command name (argv[0]) is set to the device URI of the
48 destination printer. Starting with CUPS 1.1.22, any
49 authentication information in argv[0] will be removed, so
50 backend developers are urged to use the DEVICE_URI environment
51 variable whenever authentication information is required.
54 Backchannel data from the device should be relayed to the job
55 filters by writing to file descriptor 3. The CUPS API includes
56 the \fIcupsBackchannelWrite\fR function for this purpose.
59 When run with no arguments, the backend should list the devices
60 and schemes it supports or is advertising to stdout. The output
61 consists of zero or more lines consisting of any of the following
65 device-class scheme "Unknown" "device-info"
66 device-class device-uri "device-make-and-model" "device-info"
67 device-class device-uri "device-make-and-model" "device-info" "device-id"
71 The \fIdevice-class\fR field is one of the following values:
76 The device-uri refers to a specific direct-access device with no
77 options, such as a parallel, USB, or SCSI device.
82 The device-uri refers to a file on disk.
87 The device-uri refers to a networked device and conforms to the
88 general form for network URIs.
93 The device-uri refers to a serial device with configurable baud
94 rate and other options. If the device-uri contains a baud value,
95 it represents the maximum baud rate supported by the device.
98 The \fIscheme\fR field provides the URI scheme that is supported
99 by the backend. Backends should use this form only when the
100 backend supports any URI using that scheme. The \fIdevice-uri\fR
101 field specifies the full URI to use when communicating with the
105 The \fIdevice-make-and-model\fR field specifies the make and
106 model of the device, e.g. "Acme Foojet 2000". If the make and
107 model is not known, you must report "Unknown".
110 The \fIdevice-info\fR field specifies additional information
111 about the device. Typically this includes the make and model
112 along with the port number or network address, e.g. "Acme Foojet
116 The optional \fIdevice-id\fR field specifies the IEEE-1284 device
117 ID string for the device, which is used to select a matching
121 The following exit codes are defined for backends:
126 The print file was successfully transmitted to the device or
130 1 (CUPS_BACKEND_FAILED)
132 The print file was not successfully transmitted to the device or
133 remote server. The scheduler will respond to this by canceling
134 the job, retrying the job, or stopping the queue depending on the
135 state of the error-policy attribute.
138 2 (CUPS_BACKEND_CANCEL)
140 The print file was not successfully transmitted because one or
141 more attributes are not supported. The scheduler will respond to
142 this by canceling the job.
145 3 (CUPS_BACKEND_HOLD)
147 The print file was not successfully transmitted because it cannot
148 be printed at this time. The scheduler will respond to this by
152 4 (CUPS_BACKEND_STOP)
154 The print file was not successfully transmitted because it cannot
155 be printed at this time. The scheduler will respond to this by
159 5 (CUPS_BACKEND_AUTH_REQUIRED)
161 The print file was not successfully transmitted because valid
162 authentication information is required. The scheduler will
163 respond to this by holding the job and adding the
164 authentication-required job-reasons keyword.
167 All other exit code values are reserved.
170 Messages sent to stderr are generally logged to
171 printer-state-message attribute and the current ErrorLog. Each
172 line begins with a standard prefix:
177 Sets the printer-state-message attribute and adds the specified
178 message to the current ErrorLog using the "alert" log level.
181 ATTR: attribute=value [attribute=value]
183 Sets the named job attribute(s). Typically this will be used to
184 set the job-remote-id attribute.
189 Sets the printer-state-message attribute and adds the specified
190 message to the current ErrorLog using the "critical" log level.
195 Sets the printer-state-message attribute and adds the specified
196 message to the current ErrorLog using the "debug" log level.
201 Sets the printer-state-message attribute and adds the specified
202 message to the current ErrorLog using the "debug2" log level.
207 Sets the printer-state-message attribute and adds the specified
208 message to the current ErrorLog using the "emergency" log level.
213 Sets the printer-state-message attribute and adds the specified
214 message to the current ErrorLog using the "error" log level.
219 Sets the printer-state-message attribute. If the current LogLevel
220 is set to "debug2", also adds the specified message to the
221 current ErrorLog using the "info" log level.
226 Sets the printer-state-message attribute and adds the specified
227 message to the current ErrorLog using the "notice" log level.
230 PAGE: page-number #-copies
234 Adds an entry to the current PageLog. The first form adds
235 #-copies to the job-media-sheets-completed attribute. The second
236 form sets the job-media-sheets-completed attribute to #-pages.
239 STATE: printer-state-reason [printer-state-reason ...]
241 STATE: + printer-state-reason [printer-state-reason ...]
243 STATE: - printer-state-reason [printer-state-reason ...]
245 Sets, adds, or removes printer-state-reason keywords to the
246 current queue. Typically this is used to indicate media, ink, and
247 toner conditions on a printer.
252 Sets the printer-state-message attribute and adds the specified
253 message to the current ErrorLog using the "warning" log level.
255 .SH ENVIRONMENT VARIABLES
256 The following environment variables are defined by the CUPS
257 server when executing the backend:
262 The default text character set, typically utf-8.
267 When a job is submitted to a printer class, contains the name of
268 the destination printer class. Otherwise this environment
269 variable will not be set.
274 The MIME type associated with the file (e.g.
275 application/postscript).
280 The directory where data files can be found.
285 The root directory of the server.
290 The device-uri associated with the printer; this is provided for
291 shell scripts which may not be able to get the passed argv[0]
292 string and for backends that require any authentication
293 information which is not included in argv[0].
298 The default language locale (typically C or en).
303 The standard execution path for external programs that may be run by
309 The full pathname of the PostScript Printer Description (PPD)
310 file for this printer.
315 The name of the printer.
320 The recommended amount of memory to use for Raster Image
326 The name and version number of the server (typically CUPS/1.1).
331 The timezone of the server.
336 The user executing the backend, typically root; consult the
337 cupsd.conf file for the current setting.
342 http://localhost:631/help
345 Copyright 1993-2005 by Easy Software Products, All Rights Reserved.
347 .\" End of "$Id: backend.man 4884 2005-12-16 01:02:42Z mike $".