]> git.ipfire.org Git - thirdparty/cups.git/blame_incremental - doc/help/spec-ipp.html
Update all references to OS X to macOS.
[thirdparty/cups.git] / doc / help / spec-ipp.html
... / ...
CommitLineData
1<!DOCTYPE HTML>
2<html>
3<!-- SECTION: Specifications -->
4<head>
5 <title>CUPS Implementation of IPP</title>
6 <meta name='keywords' content='Programming, Internet Printing Protocol'>
7 <LINK REL="STYLESHEET" TYPE="text/css" HREF="../cups-printable.css">
8</head>
9<body>
10<!--
11 IPP specification for CUPS.
12
13 Copyright 2007-2016 by Apple Inc.
14 Copyright 1997-2007 by Easy Software Products.
15
16 These coded instructions, statements, and computer programs are the
17 property of Apple Inc. and are protected by Federal copyright
18 law. Distribution and use rights are outlined in the file "LICENSE.txt"
19 which should have been included with this file. If this file is
20 file is missing or damaged, see the license at "http://www.cups.org/".
21-->
22
23<H1 CLASS="title">CUPS Implementation of IPP</H1>
24
25<h2 class='title'><a name='INTRODUCTION'>Introduction</a></h2>
26
27<p>CUPS implements <a href="http://ftp.pwg.org/pub/pwg/standards/std-ipp20-20151030-5100.12.pdf">IPP/2.1</a> and the operations and attributes defined in the following specifications:</p>
28
29<ul>
30
31 <li><a href="http://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext10-20101030-5100.11.pdf">PWG 5100.11: IPP Job and Printer Extensions - Set 2 (JPS2)</a> (all operations plus the "job-creation-attributes-supported", "job-ids", "job-password", "job-password-encryption", "media-col-database", and "which-jobs" attributes)</li>
32
33 <li><a href="http://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext3v10-20120727-5100.13.pdf">PWG 5100.13: IPP Job and Printer Extensions - Set 3 (JPS3)</a> (all operations/attributes required for IPP Everywhere except "printer-geo-location" and "printer-icc-profiles")</li>
34
35 <li><a href="http://ftp.pwg.org/pub/pwg/candidates/cs-ippeve10-20130128-5100.14.pdf">PWG 5100.14: IPP Everywhere</a> (conforming to the Client and most of the Printer requirements)</li>
36
37 <li><a href="http://ftp.pwg.org/pub/pwg/candidates/cs-ippfaxout10-20140618-5100.15.pdf">PWG 5100.15: IPP FaxOut Service</a> (for facsimile queues)</li>
38
39 <li><a href="http://ftp.pwg.org/pub/pwg/candidates/cs-ipptrans10-20131108-5100.16.pdf">PWG 5100.16: IPP Transaction-Based Printing Extensions</a></li>
40
41 <li><a href="http://tools.ietf.org/html/rfc3998">RFC 3998: IPP Job and Printer Administrative Operations</a> (Disable-Printer, Enable-Printer, Hold-New-Jobs, and Release-Held-New-Jobs operations)</li>
42
43 <li><a href="http://tools.ietf.org/html/rfc7472">RFC 7472: IPP over HTTPS Transport Binding and 'ipps' URI Scheme</a></li>
44
45</ul>
46
47<p>CUPS also provides 17 new operations and many new attributes to support multiple IPP printers and printer classes on a single host.</p>
48
49<h3 class='title'><a name='IPP_URIS'>IPP URIs</a></h3>
50
51<p>CUPS supports the "http", "https", "ipp", and "ipps" schemes. The following resource names are used:</p>
52
53<dl>
54
55 <dt><tt>scheme://hostname:port/</tt></dt>
56
57 <dd>Can be used for all "get" operations and for server subscriptions.</dd>
58
59 <dt><tt>scheme://hostname:port/admin/</tt></dt>
60
61 <dd>Used for all administrative operations.</dd>
62
63 <dt><tt>scheme://hostname:port/classes/name</tt></dt>
64
65 <dd>Specifies a printer class.</dd>
66
67 <dt><tt>scheme://hostname:port/jobs/id</tt></dt>
68
69 <dd>Specifies a job.</dd>
70
71 <dt><tt>scheme://hostname:port/printers/name</tt></dt>
72
73 <dd>Specifies a printer.</dd>
74
75</dl>
76
77<p>So a typical printer URI would be "ipp://foo.example.com/printers/LaserJet". In addition, the CUPS scheduler also supports (when enabled) normal browser access via "http://foo.example.com:port/" and "https://foo.example.com:port/".</p>
78
79<h3 class='title'><a name='IPP_OPERATIONS'>CUPS IPP Operations</a></h3>
80
81<p>CUPS provides 17 vendor extension operations in addition to most of the standard IPP and registered extension operations:</p>
82
83<div class='table'><table align='center' border='1' width='80%'
84summary='Supported Operations'>
85<thead>
86<tr>
87 <TH VALIGN="TOP">Operation Name</th>
88 <TH VALIGN="TOP">CUPS</th>
89 <TH VALIGN="TOP">Code</th>
90 <TH VALIGN="TOP">Brief Description</th>
91</tr>
92</thead>
93<tbody>
94<tr>
95 <td>Print-Job</td>
96 <td>1.0</td>
97 <td>0x0002</td>
98 <td>Print a file.</td>
99</tr>
100<tr>
101 <td>Validate-Job</td>
102 <td>1.0</td>
103 <td>0x0004</td>
104 <td>Validate job attributes.</td>
105</tr>
106<tr>
107 <td>Create-Job</td>
108 <td>1.1</td>
109 <td>0x0005</td>
110 <td>Create a print job.</td>
111</tr>
112<tr>
113 <td>Send-Document</td>
114 <td>1.1</td>
115 <td>0x0006</td>
116 <td>Send a file for a print job.</td>
117</tr>
118<tr>
119 <td><a href='#CANCEL_JOB'>Cancel-Job</a></td>
120 <td>1.0</td>
121 <td>0x0008</td>
122 <td>Cancel a print job.</td>
123</tr>
124<tr>
125 <td>Get-Job-Attributes</td>
126 <td>1.0</td>
127 <td>0x0009</td>
128 <td>Get job attributes.</td>
129</tr>
130<tr>
131 <td>Get-Jobs</td>
132 <td>1.0</td>
133 <td>0x000A</td>
134 <td>Get all jobs.</td>
135</tr>
136<tr>
137 <td>Get-Printer-Attributes</td>
138 <td>1.0</td>
139 <td>0x000B</td>
140 <td>Get printer attributes.</td>
141</tr>
142<tr>
143 <td>Hold-Job</td>
144 <td>1.1</td>
145 <td>0x000C</td>
146 <td>Hold a job for printing.</td>
147</tr>
148<tr>
149 <td>Release-Job</td>
150 <td>1.1</td>
151 <td>0x000D</td>
152 <td>Release a job for printing.</td>
153</tr>
154<tr>
155 <td>Restart-Job</td>
156 <td>1.1</td>
157 <td>0x000E</td>
158 <td>Restarts a print job.</td>
159</tr>
160<tr>
161 <td>Pause-Printer</td>
162 <td>1.0</td>
163 <td>0x0010</td>
164 <td>Pause printing on a printer.</td>
165</tr>
166<tr>
167 <td>Resume-Printer</td>
168 <td>1.0</td>
169 <td>0x0011</td>
170 <td>Resume printing on a printer.</td>
171</tr>
172<tr>
173 <td><a href='#PURGE_JOBS'>Purge-Jobs</a></td>
174 <td>1.0</td>
175 <td>0x0012</td>
176 <td>Purge all jobs.</td>
177</tr>
178<tr>
179 <td>Set-Printer-Attributes</td>
180 <td>1.4</td>
181 <td>0x0013</td>
182 <td>Set attributes for a printer.</td>
183</tr>
184<tr>
185 <td>Set-Job-Attributes</td>
186 <td>1.1</td>
187 <td>0x0014</td>
188 <td>Set attributes for a pending or held job.</td>
189</tr>
190<tr>
191 <td><a href='#CREATE_PRINTER_SUBSCRIPTION'>Create-Printer-Subscription</a></td>
192 <td>1.2</td>
193 <td>0x0016</td>
194 <td>Creates a subscription associated with a printer or the server.</td>
195</tr>
196<tr>
197 <td>Create-Job-Subscription</td>
198 <td>1.2</td>
199 <td>0x0017</td>
200 <td>Creates a subscription associated with a job.</td>
201</tr>
202<tr>
203 <td>Get-Subscription-Attributes</td>
204 <td>1.2</td>
205 <td>0x0018</td>
206 <td>Gets the attributes for a subscription.</td>
207</tr>
208<tr>
209 <td>Get-Subscriptions</td>
210 <td>1.2</td>
211 <td>0x0019</td>
212 <td>Gets the attributes for zero or more subscriptions.</td>
213</tr>
214<tr>
215 <td>Renew-Subscription</td>
216 <td>1.2</td>
217 <td>0x001A</td>
218 <td>Renews a subscription.</td>
219</tr>
220<tr>
221 <td>Cancel-Subscription</td>
222 <td>1.2</td>
223 <td>0x001B</td>
224 <td>Cancels a subscription.</td>
225</tr>
226<tr>
227 <td>Get-Notifications</td>
228 <td>1.2</td>
229 <td>0x001C</td>
230 <td>Get notification events for <tt>ippget</tt> subscriptions.</td>
231</tr>
232<tr>
233 <td>Enable-Printer</td>
234 <td>1.2</td>
235 <td>0x0022</td>
236 <td>Accepts jobs on a printer.</td>
237</tr>
238<tr>
239 <td>Disable-Printer</td>
240 <td>1.2</td>
241 <td>0x0023</td>
242 <td>Rejects jobs on a printer.</td>
243</tr>
244<tr>
245 <td>Hold-New-Jobs</td>
246 <td>1.4</td>
247 <td>0x0025</td>
248 <td>Hold new jobs by default.</td>
249</tr>
250<tr>
251 <td>Release-Held-New-Jobs</td>
252 <td>1.4</td>
253 <td>0x0026</td>
254 <td>Releases all jobs that were previously held.</td>
255</tr>
256<tr>
257 <td>Cancel-Jobs</td>
258 <td>1.5</td>
259 <td>0x0038</td>
260 <td>Cancel all jobs (administrator).</td>
261</tr>
262<tr>
263 <td>Cancel-My-Jobs</td>
264 <td>1.5</td>
265 <td>0x0039</td>
266 <td>Cancel all jobs (user).</td>
267</tr>
268<tr>
269 <td>Close-Job</td>
270 <td>1.5</td>
271 <td>0x003b</td>
272 <td>Close a created job.</td>
273</tr>
274<tr>
275 <td><a href='#CUPS_GET_DEFAULT'>CUPS-Get-Default</a></td>
276 <td>1.0</td>
277 <td>0x4001</td>
278 <td>Get the default destination.</td>
279</tr>
280<tr>
281 <td><a href='#CUPS_GET_PRINTERS'>CUPS-Get-Printers</a></td>
282 <td>1.0</td>
283 <td>0x4002</td>
284 <td>Get all of the available printers.</td>
285</tr>
286<tr>
287 <td><a href='#CUPS_ADD_MODIFY_PRINTER'>CUPS-Add-Modify-Printer</a></td>
288 <td>1.0</td>
289 <td>0x4003</td>
290 <td>Add or modify a printer.</td>
291</tr>
292<tr>
293 <td><a href='#CUPS_DELETE_PRINTER'>CUPS-Delete-Printer</a></td>
294 <td>1.0</td>
295 <td>0x4004</td>
296 <td>Delete a printer.</td>
297</tr>
298<tr>
299 <td><a href='#CUPS_GET_CLASSES'>CUPS-Get-Classes</a></td>
300 <td>1.0</td>
301 <td>0x4005</td>
302 <td>Get all of the available printer classes.</td>
303</tr>
304<tr>
305 <td><a href='#CUPS_ADD_MODIFY_CLASS'>CUPS-Add-Modify-Class</a></td>
306 <td>1.0</td>
307 <td>0x4006</td>
308 <td>Add or modify a printer class.</td>
309</tr>
310<tr>
311 <td><a href='#CUPS_DELETE_CLASS'>CUPS-Delete-Class</a></td>
312 <td>1.0</td>
313 <td>0x4007</td>
314 <td>Delete a printer class.</td>
315</tr>
316<tr>
317 <td>CUPS-Accept-Jobs</td>
318 <td>1.0</td>
319 <td>0x4008</td>
320 <td>Accept jobs on a printer or printer class. This operation is deprecated - use the Enable-Printer operation instead.</td>
321</tr>
322<tr>
323 <td>CUPS-Reject-Jobs</td>
324 <td>1.0</td>
325 <td>0x4009</td>
326 <td>Reject jobs on a printer or printer class. This operation is deprecated - use the Disable-Printer operation instead.</td>
327</tr>
328<tr>
329 <td><a href='#CUPS_SET_DEFAULT'>CUPS-Set-Default</a></td>
330 <td>1.0</td>
331 <td>0x400A</td>
332 <td>Set the default destination.</td>
333</tr>
334<tr>
335 <td><a href='#CUPS_GET_DEVICES'>CUPS-Get-Devices</a></td>
336 <td>1.1</td>
337 <td>0x400B</td>
338 <td>Get all of the available devices.</td>
339</tr>
340<tr>
341 <td><a href='#CUPS_GET_PPDS'>CUPS-Get-PPDs</a></td>
342 <td>1.1</td>
343 <td>0x400C</td>
344 <td>Get all of the available PPDs.</td>
345</tr>
346<tr>
347 <td><a href='#CUPS_MOVE_JOB'>CUPS-Move-Job</a></td>
348 <td>1.1</td>
349 <td>0x400D</td>
350 <td>Move a job to a different printer.</td>
351</tr>
352<tr>
353 <td><a href='#CUPS_AUTHENTICATE_JOB'>CUPS-Authenticate-Job</a></td>
354 <td>1.2</td>
355 <td>0x400E</td>
356 <td>Authenticate a job for printing.</td>
357</tr>
358<tr>
359 <td><a href='#CUPS_GET_PPD'>CUPS-Get-PPD</a></td>
360 <td>1.3</td>
361 <td>0x400F</td>
362 <td>Get a PPD file.</td>
363</tr>
364<tr>
365 <td><a href='#CUPS_GET_DOCUMENT'>CUPS-Get-Document</a></td>
366 <td>1.4</td>
367 <td>0x4027</td>
368 <td>Get a document file from a job.</td>
369</tr>
370<tr>
371 <td><a href='#CUPS_CREATE_LOCAL_PRINTER'>CUPS-Create-Local-Printer</a></td>
372 <td>2.2</td>
373 <td>0x4028</td>
374 <td>Creates a local (temporary) print queue pointing to a remote IPP Everywhere printer.</td>
375</tr>
376</tbody>
377</table></div>
378
379<h2 class='title'><a name='OPERATIONS'>Operations</a></h2>
380
381<p>The following sections describe the operations supported by CUPS. In the interest of brevity, operations which use only the standard IPP attributes are not described.
382
383
384<h3 class='title'><a name='CANCEL_JOB'>Cancel Job Operation (Extension)</a></h3>
385
386<p>The Cancel-Job operation (0x0008) cancels the specified job. CUPS 1.4 added support for the <tt>purge-job (boolean)</tt> operation attribute that (if 'true') removes all history and document files for the job as well.</p>
387
388
389<h3 class='title'><a name='PURGE_JOBS'>Purge-Jobs Operation</a></h3>
390
391<p>The Purge-Jobs operation (0x0012) cancels all of the jobs on a given destination and optionally removes all history and document files for the jobs as well. CUPS 1.2 added support for the <tt>purge-job (boolean)</tt> operation attribute that (if 'false') retains all history and document files for the canceled jobs.</p>
392
393<blockquote><b>Note:</b>
394 <p>The Cancel-Jobs and Cancel-My-Jobs operations should be used instead of Purge-Jobs.</p>
395</blockquote>
396
397
398
399<h3 class='title'><span class='info'>CUPS 1.2/macOS 10.5</span><a
400name='CREATE_PRINTER_SUBSCRIPTION'>Create-Printer-Subscription</a></h3>
401
402<p>The Create-Printer-Subscription operation (0x0016) creates a subscription for printer or server event notifications. CUPS provides several additional events in addition to the standard events in the IPP notifications specification. CUPS adds the following <tt>notify-events (1setOf type2 keyword)</tt> values:<p>
403
404<ul>
405
406 <li><tt>printer-added</tt> - Get notified whenever a printer or class is added</li>
407
408 <li><tt>printer-deleted</tt> - Get notified whenever a printer or class is deleted</li>
409
410 <li><tt>printer-modified</tt> - Get notified whenever a printer or class is modified</li>
411
412 <li><tt>server-audit</tt> - Get notified when a security condition occurs</li>
413
414 <li><tt>server-restarted</tt> - Get notified when the server is restarted</li>
415
416 <li><tt>server-started</tt> - Get notified when the server is started</li>
417
418 <li><tt>server-stopped</tt> - Get notified when the server is stopped</li>
419
420</ul>
421
422
423<h3 class='title'><a name='CUPS_GET_DEFAULT'>CUPS-Get-Default Operation</a></h3>
424
425<p>The CUPS-Get-Default operation (0x4001) returns the default printer URI and attributes.
426
427<h4>CUPS-Get-Default Request</h4>
428
429<p>The following groups of attributes are supplied as part of the CUPS-Get-Default request:
430
431<p>Group 1: Operation Attributes
432
433<dl>
434
435 <dt>Natural Language and Character Set:
436
437 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of the IPP Model and Semantics document.
438
439 <dt>"requested-attributes" (1setOf keyword):
440
441 <dd>The client OPTIONALLY supplies a set of attribute names and/or attribute group names in whose values the requester is interested. If the client omits this attribute, the server responds as if this attribute had been supplied with a value of 'all'.
442
443</dl>
444
445<h4>CUPS-Get-Default Response</h4>
446
447<p>The following groups of attributes are send as part of the CUPS-Get-Default Response:
448
449<p>Group 1: Operation Attributes
450
451<dl>
452
453 <dt>Natural Language and Character Set:
454
455 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of the IPP Model and Semantics document.
456
457 <dt>Status Message:
458
459 <dd>The standard response status message.
460
461</dl>
462
463<p>Group 2: Printer Object Attributes
464
465<dl>
466
467 <dt>The set of requested attributes and their current values.
468
469</dl>
470
471<h3 class='title'><a name='CUPS_GET_PRINTERS'>CUPS-Get-Printers Operation</a></h3>
472
473<p>The CUPS-Get-Printers operation (0x4002) returns the printer attributes for every printer known to the system. This may include printers that are not served directly by the server.
474
475<h4>CUPS-Get-Printers Request</h4>
476
477<p>The following groups of attributes are supplied as part of the CUPS-Get-Printers request:
478
479<p>Group 1: Operation Attributes
480
481<dl>
482
483 <dt>Natural Language and Character Set:
484
485 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of the IPP Model and Semantics document.
486
487 <dt>"first-printer-name" (name(127)): <span class='info'>CUPS 1.2/macOS 10.5</span>
488
489 <dd>The client OPTIONALLY supplies this attribute to select the first printer that is returned.
490
491 <dt>"limit" (integer (1:MAX)):
492
493 <dd>The client OPTIONALLY supplies this attribute limiting the number of printers that are returned.
494
495 <dt>"printer-id" (integer(0:65535)): <span class='info'>CUPS 2.2</span>
496
497 <dd>The client OPTIONALLY supplies this attribute to select which printer is returned.
498
499 <dt>"printer-location" (text(127)): <span class='info'>CUPS 1.1.7</span>
500
501 <dd>The client OPTIONALLY supplies this attribute to select which printers are returned.
502
503 <dt>"printer-type" (type2 enum): <span class='info'>CUPS 1.1.7</span>
504
505 <dd>The client OPTIONALLY supplies a printer type enumeration to select which printers are returned.
506
507 <dt>"printer-type-mask" (type2 enum): <span class='info'>CUPS 1.1.7</span>
508
509 <dd>The client OPTIONALLY supplies a printer type mask enumeration to select which bits are used in the "printer-type" attribute.
510
511 <dt>"requested-attributes" (1setOf keyword):
512
513 <dd>The client OPTIONALLY supplies a set of attribute names and/or attribute group names in whose values the requester is interested. If the client omits this attribute, the server responds as if this attribute had been supplied with a value of 'all'.
514
515 <dt>"requested-user-name" (name(127)): <span class='info'>CUPS 1.2/macOS 10.5</span>
516
517 <dd>The client OPTIONALLY supplies a user name that is used to filter the returned printers.
518
519</dl>
520
521<h4>CUPS-Get-Printers Response</h4>
522
523<p>The following groups of attributes are send as part of the CUPS-Get-Printers Response:
524
525<p>Group 1: Operation Attributes
526
527<dl>
528
529 <dt>Natural Language and Character Set:
530
531 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of the IPP Model and Semantics document.
532
533 <dt>Status Message:
534
535 <dd>The standard response status message.
536
537</dl>
538
539<p>Group 2: Printer Object Attributes
540
541<dl>
542
543 <dt>The set of requested attributes and their current values for each printer.
544
545</dl>
546
547
548<h3 class='title'><a name='CUPS_ADD_MODIFY_PRINTER'>CUPS-Add-Modify-Printer Operation</a></h3>
549
550<p>The CUPS-Add-Modify-Printer operation (0x4003) adds a new printer or modifies an existing printer on the system.
551
552<h4>CUPS-Add-Modify-Printer Request</h4>
553
554<p>The following groups of attributes are supplied as part of the CUPS-Add-Modify-Printer request:
555
556<p>Group 1: Operation Attributes
557
558<dl>
559
560 <dt>Natural Language and Character Set:
561
562 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of the IPP Model and Semantics document.
563
564 <dt>"printer-uri" (uri):
565
566 <dd>The client MUST supply a URI for the specified printer.
567
568</dl>
569
570<p>Group 2: Printer Object Attributes
571
572<dl>
573
574 <dt>"auth-info-required" (1setOf type2 keyword): <span class='info'>CUPS 1.3/macOS 10.5</span>
575
576 <dd>The client OPTIONALLY supplies one or more authentication keywords that are required to communicate with the printer/remote queue.
577
578 <dt>"job-sheets-default" (1setOf name(127)): <span class='info'>CUPS 1.1.7</span>
579
580 <dd>The client OPTIONALLY supplies one or two banner page names that are printed before and after files in a job. The reserved name "none" is used to specify that no banner page should be printed.
581
582 <dt>"device-uri" (uri):
583
584 <dd>The client OPTIONALLY supplies a device URI for the specified printer.
585
586 <dt>"port-monitor" (name(127)):
587
588 <dd>The client OPTIONALLY supplies a port monitor name for the specified printer.
589
590 <dt>"ppd-name" (name(127)):
591
592 <dd>The client OPTIONALLY supplies a PPD name for the specified printer.
593
594 <dt>"printer-is-accepting-jobs" (boolean):
595
596 <dd>The client OPTIONALLY supplies this boolean attribute indicating whether the printer object should accept new jobs.
597
598 <dt>"printer-info" (text(127)):
599
600 <dd>The client OPTIONALLY supplies this attribute indicating the printer information string.
601
602 <dt>"printer-location" (text(127)):
603
604 <dd>The client OPTIONALLY supplies this attribute indicating a textual location of the printer.
605
606 <dt>"printer-more-info" (uri):
607
608 <dd>The client OPTIONALLY supplies this attribute indicating a URI for additional printer information.
609
610 <dt>"printer-state" (type2 enum):
611
612 <dd>The client OPTIONALLY supplies this attribute indicating the initial/current state of the printer. Only the 'idle(3)' and 'stopped(5)' enumerations are recognized.
613
614 <dt>"printer-state-message" (text(MAX)):
615
616 <dd>The client OPTIONALLY supplies this attribute indicating a textual reason for the current printer state.
617
618 <dt>"requesting-user-name-allowed" (1setof name(127) | delete)
619 <br><i>OR</i>
620 <br>"requesting-user-name-denied" (1setof name(127) | delete):
621
622 <dd>The client OPTIONALLY supplies one of these attributes to specify an access control list for incoming print jobs. To allow all users access to a printer, use the delete tag for the attribute value.
623
624</dl>
625
626<p>The CUPS-Add-Modify-Printer request can optionally be followed by a PPD file to be used for the printer. The "ppd-name" attribute overrides any file that is attached to the end of the request with a local CUPS PPD file.
627
628<h4>CUPS-Add-Modify-Printer Response</h4>
629
630<p>The following groups of attributes are send as part of the
631CUPS-Add-Modify-Printer Response:
632
633<p>Group 1: Operation Attributes
634
635<dl>
636
637 <dt>Natural Language and Character Set:
638
639 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of the IPP Model and Semantics document.
640
641 <dt>Status Message:
642
643 <dd>The standard response status message.
644
645</dl>
646
647
648<h3 class='title'><a name='CUPS_DELETE_PRINTER'>CUPS-Delete-Printer Operation</a></h3>
649
650<p>The CUPS-Delete-Printer operation (0x4004) removes an existing printer from the system.
651
652<h4>CUPS-Delete-Printer Request</h4>
653
654<p>The following groups of attributes are supplied as part of the CUPS-Delete-Printer request:
655
656<p>Group 1: Operation Attributes
657
658<dl>
659
660 <dt>Natural Language and Character Set:
661
662 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of the IPP Model and Semantics document.
663
664 <dt>"printer-uri" (uri):
665
666 <dd>The client MUST supply a URI for the specified printer.
667
668</dl>
669
670<h4>CUPS-Delete-Printer Response</h4>
671
672<p>The following groups of attributes are send as part of the CUPS-Delete-Printer Response:
673
674<p>Group 1: Operation Attributes
675
676<dl>
677
678 <dt>Natural Language and Character Set:
679
680 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of the IPP Model and Semantics document.
681
682 <dt>Status Message:
683
684 <dd>The standard response status message.
685
686</dl>
687
688
689<h3 class='title'><a name='CUPS_GET_CLASSES'>CUPS-Get-Classes Operation</a></h3>
690
691<p>The CUPS-Get-Classes operation (0x4005) returns the printer attributes for every printer class known to the system. This may include printer classes that are not served directly by the server.
692
693<h4>CUPS-Get-Classes Request</h4>
694
695<p>The following groups of attributes are supplied as part of the CUPS-Get-Classes request:
696
697<p>Group 1: Operation Attributes
698
699<dl>
700
701 <dt>Natural Language and Character Set:
702
703 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of the IPP Model and Semantics document.
704
705 <dt>"first-printer-name" (name(127)): <span class='info'>CUPS 1.2/macOS 10.5</span>
706
707 <dd>The client OPTIONALLY supplies this attribute to select the first printer that is returned.
708
709 <dt>"limit" (integer (1:MAX)):
710
711 <dd>The client OPTIONALLY supplies this attribute limiting the number of printer classes that are returned.
712
713 <dt>"printer-location" (text(127)): <span class='info'>CUPS 1.1.7</span>
714
715 <dd>The client OPTIONALLY supplies this attribute to select which printer classes are returned.
716
717 <dt>"printer-type" (type2 enum): <span class='info'>CUPS 1.1.7</span>
718
719 <dd>The client OPTIONALLY supplies a printer type enumeration to select which printer classes are returned.
720
721 <dt>"printer-type-mask" (type2 enum): <span class='info'>CUPS 1.1.7</span>
722
723 <dd>The client OPTIONALLY supplies a printer type mask enumeration to select which bits are used in the "printer-type" attribute.
724
725 <dt>"requested-attributes" (1setOf keyword):
726
727 <dd>The client OPTIONALLY supplies a set of attribute names and/or attribute group names in whose values the requester is interested. If the client omits this attribute, the server responds as if this attribute had been supplied with a value of 'all'.
728
729 <dt>"requested-user-name" (name(127)): <span class='info'>CUPS 1.2/macOS 10.5</span>
730
731 <dd>The client OPTIONALLY supplies a user name that is used to filter the returned printers.
732
733</dl>
734
735<h4>CUPS-Get-Classes Response</h4>
736
737<p>The following groups of attributes are send as part of the CUPS-Get-Classes Response:
738
739<p>Group 1: Operation Attributes
740
741<dl>
742
743 <dt>Natural Language and Character Set:
744
745 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of the IPP Model and Semantics document.
746
747 <dt>Status Message:
748
749 <dd>The standard response status message.
750
751</dl>
752
753<p>Group 2: Printer Class Object Attributes
754
755<dl>
756
757 <dt>The set of requested attributes and their current values for each printer class.
758
759</dl>
760
761<h3 class='title'><a name='CUPS_ADD_MODIFY_CLASS'>CUPS-Add-Modify-Class Operation</a></h3>
762
763<p>The CUPS-Add-Modify-Class operation (0x4006) adds a new printer class or modifies and existing printer class on the system.
764
765<h4>CUPS-Add-Modify-Class Request</h4>
766
767<p>The following groups of attributes are supplied as part of the CUPS-Add-Modify-Class request:
768
769<p>Group 1: Operation Attributes
770
771<dl>
772
773 <dt>Natural Language and Character Set:
774
775 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of the IPP Model and Semantics document.
776
777 <dt>"printer-uri" (uri):
778
779 <dd>The client MUST supply a URI for the specified printer class.
780
781</dl>
782
783<p>Group 2: Printer Object Attributes
784
785<dl>
786
787 <dt>"auth-info-required" (1setOf type2 keyword): <span class='info'>CUPS 1.3/macOS 10.5</span>
788
789 <dd>The client OPTIONALLY supplies one or more authentication keywords that are required to communicate with the printer/remote queue.
790
791 <dt>"member-uris" (1setof uri):
792
793 <dd>The client OPTIONALLY supplies the "member-uris" set specifying the printers and printer classes that are part of the class.
794
795 <dt>"printer-is-accepting-jobs" (boolean):
796
797 <dd>The client OPTIONALLY supplies this boolean attribute indicating whether the class object should accept new jobs.
798
799 <dt>"printer-info" (text(127)):
800
801 <dd>The client OPTIONALLY supplies this attribute indicating the printer information string.
802
803 <dt>"printer-location" (text(127)):
804
805 <dd>The client OPTIONALLY supplies this attribute indicating a textual location of the class.
806
807 <dt>"printer-more-info" (uri):
808
809 <dd>The client OPTIONALLY supplies this attribute indicating a URI for additional class information.
810
811 <dt>"printer-state" (type2 enum):
812
813 <dd>The client OPTIONALLY supplies this attribute indicating the initial/current state of the class. Only the 'idle(3)' and 'stopped(5)' enumerations are recognized.
814
815 <dt>"printer-state-message" (text(MAX)):
816
817 <dd>The client OPTIONALLY supplies this attribute indicating a textual reason for the current class state.
818
819 <dt>"requesting-user-name-allowed" (1setof name(127))
820 <br><i>OR</i>
821 <br>"requesting-user-name-denied" (1setof name(127)):
822
823 <dd>The client OPTIONALLY supplies one of these attributes to specify an access control list for incoming print jobs. To allow all users access to a class, use the delete tag for the attribute value.
824
825</dl>
826
827<h4>CUPS-Add-Modify-Class Response</h4>
828
829<p>The following groups of attributes are send as part of the CUPS-Add-Modify-Class Response:
830
831<p>Group 1: Operation Attributes
832
833<dl>
834
835 <dt>Natural Language and Character Set:
836
837 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of the IPP Model and Semantics document.
838
839 <dt>Status Message:
840
841 <dd>The standard response status message.
842
843</dl>
844
845
846<h3 class='title'><a name='CUPS_DELETE_CLASS'>CUPS-Delete-Class Operation</a></h3>
847
848<p>The CUPS-Delete-Class operation (0x4007) removes an existing printer class from the system.
849
850<h4>CUPS-Delete-Class Request</h4>
851
852<p>The following groups of attributes are supplied as part of the CUPS-Delete-Class request:
853
854<p>Group 1: Operation Attributes
855
856<dl>
857
858 <dt>Natural Language and Character Set:
859
860 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of the IPP Model and Semantics document.
861
862 <dt>"printer-uri" (uri):
863
864 <dd>The client MUST supply a URI for the specified printer class.
865
866</dl>
867
868<h4>CUPS-Delete-Class Response</h4>
869
870<p>The following groups of attributes are send as part of the CUPS-Delete-Class Response:
871
872<p>Group 1: Operation Attributes
873
874<dl>
875
876 <dt>Natural Language and Character Set:
877
878 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of the IPP Model and Semantics document.
879
880 <dt>Status Message:
881
882 <dd>The standard response status message.
883
884</dl>
885
886
887<h3 class='title'><a name='CUPS_SET_DEFAULT'>CUPS-Set-Default Operation</a></h3>
888
889<p>The CUPS-Set-Default operation (0x400A) sets the default printer destination for all clients when a resource name of "/printers" is specified.
890
891<h4>CUPS-Set-Default Request</h4>
892
893<p>The following groups of attributes are supplied as part of the CUPS-Set-Default request:
894
895<p>Group 1: Operation Attributes
896
897<dl>
898
899 <dt>Natural Language and Character Set:
900
901 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of the IPP Model and Semantics document.
902
903 <dt>"printer-uri" (uri):
904
905 <dd>The client MUST supply a URI for the specified printer or printer class.
906
907</dl>
908
909<h4>CUPS-Set-Default Response</h4>
910
911<p>The following groups of attributes are send as part of the CUPS-Set-Default Response:
912
913<p>Group 1: Operation Attributes
914
915<dl>
916
917 <dt>Natural Language and Character Set:
918
919 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of the IPP Model and Semantics document.
920
921 <dt>Status Message:
922
923 <dd>The standard response status message.
924
925</dl>
926
927
928<h3 class='title'><span class='info'>Deprecated</span><a name='CUPS_GET_DEVICES'>CUPS-Get-Devices Operation</a></h3>
929
930<p>The CUPS-Get-Devices operation (0x400B) returns all of the supported device-uri's for the server.</p>
931
932<h4>CUPS-Get-Devices Request</h4>
933
934<p>The following groups of attributes are supplied as part of the CUPS-Get-Devices request:
935
936<p>Group 1: Operation Attributes
937
938<dl>
939
940 <dt>Natural Language and Character Set:
941
942 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of the IPP Model and Semantics document.
943
944 <dt>"device-class" (type1 keyword):
945
946 <dd>The client OPTIONALLY supplies a device class keyword to select which devices are returned.
947
948 <dt>"exclude-schemes" (1setOf name): <span class='info'>CUPS 1.4/macOS 10.6</span>
949
950 <dd>The client OPTIONALLY supplies a set of scheme names that the requestor does not want to discover. If the client omits this attribute, the server responds with devices of all schemes specified by the "include-schemes" attribute.
951
952 <dt>"include-schemes" (1setOf name): <span class='info'>CUPS 1.4/macOS 10.6</span>
953
954 <dd>The client OPTIONALLY supplies a set of scheme names that the requestor wants to discover. If the client omits this attribute, the server responds with devices of all schemes except those specified by the "exclude-schemes" attribute.
955
956 <dt>"limit" (integer (1:MAX)):
957
958 <dd>The client OPTIONALLY supplies this attribute limiting the number of devices that are returned.
959
960 <dt>"requested-attributes" (1setOf keyword):
961
962 <dd>The client OPTIONALLY supplies a set of attribute names and/or attribute group names in whose values the requester is interested. If the client omits this attribute, the server responds as if this attribute had been supplied with a value of 'all'.
963
964 <dt>"timeout" (integer (1:MAX)): <span class='info'>CUPS 1.4/macOS 10.6</span>
965
966 <dd>The client OPTIONALLY supplies this attribute to limit the duration of the lookup. The default timeout is 15 seconds.
967
968</dl>
969
970<h4>CUPS-Get-Devices Response</h4>
971
972<p>The following groups of attributes are send as part of the CUPS-Get-Devices Response:
973
974<p>Group 1: Operation Attributes
975
976<dl>
977
978 <dt>Natural Language and Character Set:
979
980 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of the IPP Model and Semantics document.
981
982 <dt>Status Message:
983
984 <dd>The standard response status message.
985
986</dl>
987
988<p>Groups 2-N: Device Object Attributes (using printer-attributes-tag group)
989
990<dl>
991
992 <dt>The set of requested attributes and their current values for
993 each device.
994
995</dl>
996
997
998<h3 class='title'><span class='info'>Deprecated</span><a name='CUPS_GET_PPDS'>CUPS-Get-PPDs Operation</a></h3>
999
1000<p>The CUPS-Get-PPDs operation (0x400C) returns all of the locally available PPD files on the system.</p>
1001
1002<h4>CUPS-Get-PPDs Request</h4>
1003
1004<p>The following groups of attributes are supplied as part of the CUPS-Get-PPDs request:
1005
1006<p>Group 1: Operation Attributes
1007
1008<dl>
1009
1010 <dt>Natural Language and Character Set:
1011
1012 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of the IPP Model and Semantics document.
1013
1014 <dt>"exclude-schemes" (1setOf name): <span class='info'>CUPS 1.4/macOS 10.6</span>
1015
1016 <dd>The client OPTIONALLY supplies a set of scheme names that the requestor does not want to list. If the client omits this attribute, the server responds with PPDs of all schemes specified by the "include-schemes" attribute.
1017
1018 <dt>"include-schemes" (1setOf name): <span class='info'>CUPS 1.4/macOS 10.6</span>
1019
1020 <dd>The client OPTIONALLY supplies a set of scheme names that the requestor wants to list. If the client omits this attribute, the server responds with PPDs of all schemes except those specified by the "exclude-schemes" attribute.
1021
1022 <dt>"limit" (integer (1:MAX)):
1023
1024 <dd>The client OPTIONALLY supplies this attribute limiting the number of PPDs that are returned.
1025
1026 <dt>"ppd-make" (text(127)):
1027
1028 <dd>The client OPTIONALLY supplies a printer manufacturer to select which PPDs are returned.
1029
1030 <dt>"ppd-make-and-model" (text(127)): <span class='info'>CUPS 1.3/macOS 10.5</span>
1031
1032 <dd>The client OPTIONALLY supplies a make and model to select which PPDs are returned.
1033
1034 <dt>"ppd-model-number" (integer): <span class='info'>CUPS 1.3/macOS 10.5</span>
1035
1036 <dd>The client OPTIONALLY supplies a model number to select which PPDs are returned.
1037
1038 <dt>"ppd-natural-language" (naturalLanguage): <span class='info'>CUPS 1.3/macOS 10.5</span>
1039
1040 <dd>The client OPTIONALLY supplies a language to select which PPDs are returned.
1041
1042 <dt>"ppd-product" (text(127)): <span class='info'>CUPS 1.3/macOS 10.5</span>
1043
1044 <dd>The client OPTIONALLY supplies a PostScript product string to select which PPDs are returned.
1045
1046 <dt>"ppd-psversion" (text(127)): <span class='info'>CUPS 1.3/macOS 10.5</span>
1047
1048 <dd>The client OPTIONALLY supplies a PostScript version string to select which PPDs are returned.
1049
1050 <dt>"ppd-type" (type1 keyword): <span class='info'>CUPS 1.3/macOS 10.5</span>
1051
1052 <dd>The client OPTIONALLY supplies a driver type to select which PPDs are returned.
1053
1054 <dt>"requested-attributes" (1setOf keyword):
1055
1056 <dd>The client OPTIONALLY supplies a set of attribute names and/or attribute group names in whose values the requester is interested. If the client omits this attribute, the server responds as if this attribute had been supplied with a value of 'all'. Specify "ppd-make" to get a list of manufacturers.
1057
1058</dl>
1059
1060<h4>CUPS-Get-PPDs Response</h4>
1061
1062<p>The following groups of attributes are send as part of the
1063CUPS-Get-PPDs Response:
1064
1065<p>Group 1: Operation Attributes
1066
1067<dl>
1068
1069 <dt>Natural Language and Character Set:
1070
1071 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of the IPP Model and Semantics document.
1072
1073 <dt>Status Message:
1074
1075 <dd>The standard response status message.
1076
1077</dl>
1078
1079<p>Groups 2-N: PPD Attributes (using printer-attributes-tag group)
1080
1081<dl>
1082
1083 <dt>The set of requested attributes and their current values for each PPD file.
1084
1085</dl>
1086
1087
1088<h3 class='title'><span class='info'>CUPS 1.1</span><a name='CUPS_MOVE_JOB'>CUPS-Move-Job Operation</a></h3>
1089
1090<p>The CUPS-Move-Job operation (0x400D) moves an active print job or all print jobs for a printer to a different printer.</p>
1091
1092<h4>CUPS-Move-Job Request</h4>
1093
1094<p>The following groups of attributes are supplied as part of the CUPS-Move-Job request:
1095
1096<p>Group 1: Operation Attributes
1097
1098<dl>
1099
1100 <dt>Natural Language and Character Set:
1101
1102 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of the IPP Model and Semantics document.
1103
1104 <dt>"printer-uri" (uri)
1105 <br><i>OR</i>
1106 <dt>"printer-uri" (uri) and "job-id" (integer)
1107 <br><i>OR</i>
1108 <br>"job-uri" (uri):
1109
1110 <dd>The client MUST supply a URI for the specified printer, the URI for the specified printer and a job ID number, or the job URI.
1111
1112</dl>
1113
1114<p>Group 2: Job Template Attributes
1115
1116<dl>
1117
1118 <dt>"job-printer-uri" (uri):
1119
1120 <dd>The client MUST supply a URI for a printer on the same server.
1121
1122</dl>
1123
1124<h4>CUPS-Move-Job Response</h4>
1125
1126<p>The following groups of attributes are send as part of the CUPS-Move-Job Response:
1127
1128<p>Group 1: Operation Attributes
1129
1130<dl>
1131
1132 <dt>Status Message:
1133
1134 <dd>The standard response status message.
1135
1136 <dt>Natural Language and Character Set:
1137
1138 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of the IPP Model and Semantics document.
1139
1140</dl>
1141
1142<h3 class='title'><span class='info'>CUPS 1.2/macOS 10.5</span><a name='CUPS_AUTHENTICATE_JOB'>CUPS-Authenticate-Job Operation</a></h3>
1143
1144<p>The CUPS-Authenticate-Job operation (0x400E) authenticates a print job for printing, releasing the job if it is held. Typically this is used when printing to a remote server. The authentication information is passed in the HTTP request; the HTTP connection is normally encrypted for this type of request.</p>
1145
1146<h4>CUPS-Authenticate-Job Request</h4>
1147
1148<p>The following groups of attributes are supplied as part of the CUPS-Authenticate-Job request:
1149
1150<p>Group 1: Operation Attributes
1151
1152<dl>
1153
1154 <dt>Natural Language and Character Set:
1155
1156 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of the IPP Model and Semantics document.
1157
1158 <dt>"printer-uri" (uri) and "job-id" (integer)
1159 <br><i>OR</i>
1160 <br>"job-uri" (uri):
1161
1162 <dd>The client MUST supply a URI for the specified printer and a job ID number, or the job URI.
1163
1164</dl>
1165
1166<p>Group 2: Job Attributes
1167
1168<dl>
1169
1170 <dt>"auth-info" (1setOf text(MAX)): <span class='info'>CUPS 1.3/macOS 10.5</span>
1171
1172 <dd>The client OPTIONALLY supplies one or more authentication values as specified by the "auth-info-required" attribute.
1173
1174 <dt>"job-hold-until" (keyword | name(MAX)): <span class='info'>CUPS 1.3/macOS 10.5</span>
1175
1176 <dd>The client OPTIONALLY supplies a new job-hold-until value for the job. If specified and not the "no-hold" value, the job is held instead of released for printing.
1177
1178</dl>
1179
1180<h4>CUPS-Authenticate-Job Response</h4>
1181
1182<p>The following groups of attributes are send as part of the CUPS-Authenticate-Job Response:
1183
1184<p>Group 1: Operation Attributes
1185
1186<dl>
1187
1188 <dt>Natural Language and Character Set:
1189
1190 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of the IPP Model and Semantics document.
1191
1192 <dt>Status Message:
1193
1194 <dd>The standard response status message.
1195
1196</dl>
1197
1198<p>Group 2: Unsupported Attributes (status=client-eror-attributes-or-values-not-supported)
1199
1200<dl>
1201
1202 <dt>auth-info-required (1setOf Type2 keyword)
1203
1204 <dd>The required authentication information.
1205
1206</dl>
1207
1208
1209<h3 class='title'><span class='info'>Deprecated</span><a name='CUPS_GET_PPD'>CUPS-Get-PPD Operation</a></h3>
1210
1211<p>The CUPS-Get-PPD operation (0x400F) gets a PPD file from the server. The PPD file can be specified using a <tt>ppd-name</tt> returned by <a href='#CUPS_GET_PPDS'><tt>CUPS-Get-PPDs</tt></a> or using the <tt>printer-uri</tt> for a queue.</p>
1212
1213<p>If the PPD file is found, <tt>successful-ok</tt> is returned with the PPD file following the response data.</p>
1214
1215<p>If the PPD file cannot be served by the local server because the <tt>printer-uri</tt> attribute points to an external printer, a <tt>cups-see-other</tt> status is returned with the correct URI to use.</p>
1216
1217<p>If the PPD file does not exist, <tt>client-error-not-found</tt> is returned.</p>
1218
1219<h4>CUPS-Get-PPD Request</h4>
1220
1221<p>The following group of attributes is supplied as part of the CUPS-Get-PPD request:
1222
1223<p>Group 1: Operation Attributes
1224
1225<dl>
1226
1227 <dt>Natural Language and Character Set:
1228
1229 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of the IPP Model and Semantics document.
1230
1231 <dt>"printer-uri" (uri)
1232 <br><i>OR</i>
1233 <br>"ppd-name" (name(255)):
1234
1235 <dd>The client MUST supply a printer URI or PPD name.
1236
1237</dl>
1238
1239<h4>CUPS-Get-PPD Response</h4>
1240
1241<p>The following group of attributes is sent as part of the CUPS-Get-PPD Response:
1242
1243<p>Group 1: Operation Attributes
1244
1245<dl>
1246
1247 <dt>Natural Language and Character Set:
1248
1249 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of the IPP Model and Semantics document.
1250
1251 <dt>Status Message:
1252
1253 <dd>The standard response status message.
1254
1255 <dt>"printer-uri" (uri):
1256
1257 <dd>The printer that provides the actual PPD file when the status code is cups-see-other (0x280).
1258
1259</dl>
1260
1261<p>If the status code is <tt>successful-ok</tt>, the PPD file follows the end of the IPP response.</p>
1262
1263
1264<h3 class='title'><span class='info'>CUPS 1.4/macOS 10.6</span><a name='CUPS_GET_DOCUMENT'>CUPS-Get-Document Operation</a></h3>
1265
1266<p>The CUPS-Get-Document operation (0x4027) gets a document file from a job on the server. The document file is specified using the <tt>document-number</tt> and either the <tt>job-uri</tt> or <tt>printer-uri</tt> and <tt>job-id</tt> identifying the job.</p>
1267
1268<p>If the document file is found, <tt>successful-ok</tt> is returned with the document file following the response data.</p>
1269
1270<p>If the document file does not exist, <tt>client-error-not-found</tt> is returned.</p>
1271
1272<p>If the requesting user does not have access to the document file, <tt>client-error-not-authorized</tt> is returned.
1273
1274<h4>CUPS-Get-Document Request</h4>
1275
1276<p>The following group of attributes is supplied as part of the CUPS-Get-Document request:
1277
1278<p>Group 1: Operation Attributes
1279
1280<dl>
1281
1282 <dt>Natural Language and Character Set:
1283
1284 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of the IPP Model and Semantics document.
1285
1286 <dt>"printer-uri" (uri) and "job-id" (integer)
1287 <br><i>OR</i>
1288 <br>"job-uri" (uri):
1289
1290 <dd>The client MUST supply a printer URI and job ID or job URI.
1291
1292 <dt>"document-number" (integer(1:MAX)):
1293
1294 <dd>The client MUST supply a document number to retrieve. The <tt>document-count</tt> attribute for the job defines the maximum document number that can be specified. In the case of jobs with banners (<tt>job-sheets</tt> is not "none"), document number 1 will typically contain the start banner and document number N will typically contain the end banner.
1295
1296</dl>
1297
1298<h4>CUPS-Get-Document Response</h4>
1299
1300<p>The following group of attributes is sent as part of the CUPS-Get-Document Response:
1301
1302<p>Group 1: Operation Attributes
1303
1304<dl>
1305
1306 <dt>Natural Language and Character Set:
1307
1308 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of the IPP Model and Semantics document.
1309
1310 <dt>Status Message:
1311
1312 <dd>The standard response status message.
1313
1314 <dt>"document-format" (mimeType):
1315
1316 <dd>The format of the document file.
1317
1318 <dt>"document-number" (integer(1:MAX)):
1319
1320 <dd>The requested document number.
1321
1322 <dt>"document-name" (name(MAX)):
1323
1324 <dd>The name that was supplied with the document, if any.
1325
1326</dl>
1327
1328<p>If the status code is <tt>successful-ok</tt>, the document file follows the end of the IPP response.</p>
1329
1330
1331<h3 class='title'><a name='CUPS_CREATE_LOCAL_PRINTER'>CUPS-Create-Local-Printer</a></h3>
1332
1333<p>The CUPS-Create-Local-Printer operation (0x4028) creates a local (temporary) print queue pointing to a remote IPP Everywhere Printer. The queue will remain until the scheduler idle exits, is restarted, or the system is restarted or shutdown. Temporary print queues can be made permanent by an administrator by setting the "printer-is-shared" attribute to 'true'.</p>
1334
1335<p>At a minimum, the scheduler requires a name and URI for the Printer to add. When successful, the local "printer-uri" values are returned and may be used by the Client to submit Job Creation Requests, monitor for state changes, and so forth.</p>
1336
1337<p>If the named printer already exists, the scheduler will reject the request with the 'client-error-not-possible' status code.</p>
1338
1339<p>Access Rights: The authenticated user performing this operation MUST be a Local User of the system, and the request MUST be made over a local (domain socket or loopback interface) address. Otherwise, the request will be rejected with the 'client-error-forbidden' status code.</p>
1340
1341<h4>CUPS-Create-Local-Printer Request</h4>
1342
1343<p>The following group of attributes is supplied as part of the CUPS-Create-Local-Printer request:
1344
1345<p>Group 1: Operation Attributes
1346
1347<dl>
1348
1349 <dt>Natural Language and Character Set:
1350
1351 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.1 of the IPP Model and Semantics document.
1352
1353</dl>
1354
1355<p>Group 2: Printer Attributes
1356
1357<dl>
1358
1359 <dt>"printer-name" (name(127)):
1360
1361 <dd>The Client MUST supply this attribute which provides the name for the new Printer.
1362
1363 <dt>"device-uri" (uri):
1364
1365 <dd>The Client MUST supply this attribute which provides an "ipp" or "ipps" URI pointing to an IPP Everywhere Printer.
1366
1367 <dt>"printer-device-id" (text(1023)):
1368
1369 <dd>The Client OPTIONALLY supplies this attribute which provides the IEEE 1284 device ID for the new Printer.
1370
1371 <dt>"printer-geo-location" (uri):
1372
1373 <dd>The Client OPTIONALLY supplies this attribute which provides the geo-location of the new Printer as a "geo" URI.
1374
1375 <dt>"printer-info" (text(127)):
1376
1377 <dd>The Client OPTIONALLY supplies this attribute which provides the description for the new Printer.
1378
1379 <dt>"printer-location" (text(127)):
1380
1381 <dd>The Client OPTIONALLY supplies this attribute which provides the location of the new Printer.
1382
1383</dl>
1384
1385<h4>CUPS-Create-Local-Printer Response</h4>
1386
1387<p>The following group of attributes is sent as part of the CUPS-Create-Local-Printer Response:
1388
1389<p>Group 1: Operation Attributes
1390
1391<dl>
1392
1393 <dt>Natural Language and Character Set:
1394
1395 <dd>The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2 of the IPP Model and Semantics document.
1396
1397 <dt>Status Message:
1398
1399 <dd>The standard response status message.
1400
1401</dl>
1402
1403<p>Group 2: Printer Attributes
1404
1405<dl>
1406
1407 <dt>"printer-id" (integer(0:65535)):
1408
1409 <dd>The numeric identifier for the created Printer.
1410
1411 <dt>"printer-is-accepting-jobs" (boolean):
1412
1413 <dd>Whether the created Printer is accepting jobs at the time of the response.
1414
1415 <dt>"printer-state" (type1 enum):
1416
1417 <dd>The state of the created Printer at the time of the response.
1418
1419 <dt>"printer-state-reasons" (1setOf type2 keyword):
1420
1421 <dd>The state keywords for the created Printer at the time of the response.
1422
1423 <dt>"printer-uri-supported" (1setOf uri):
1424
1425 <dd>The URIs for the created Printer.
1426
1427</dl>
1428
1429
1430<h2 class='title'><a name='ATTRIBUTES'>Attributes</a></h2>
1431
1432<p>CUPS provides many extension attributes to support multiple devices, PPD files, standard job filters, printers, and printer classes.</p>
1433
1434<h3 class='title'><a name='DEVICE_ATTRIBUTES'>Device Attributes</a><span class="info">Deprecated</span></h3>
1435
1436<p>Device attributes are returned by the CUPS-Get-Devices operation and enumerate all of the available hardware devices and network protocols that are supported by the server. Device attributes are reported in the printer-attributes-tag group.</p>
1437
1438<h4><a name="device-class">device-class (type2 keyword)</a><span class="info">Deprecated</span></h4>
1439
1440<p>The "device-class" attribute provides the class of device and can be one of the following:
1441
1442<ul>
1443
1444 <li>'file': A disk file.
1445
1446 <li>'direct': A parallel or fixed-rate serial data port,
1447 currently used for Centronics, IEEE-1284, and USB printer
1448 ports.
1449
1450 <li>'serial': A variable-rate serial port.
1451
1452 <li>'network': A network connection, typically via AppSocket, HTTP, IPP, LPD, or SMB/CIFS protocols.
1453
1454</ul>
1455
1456<h4><a name="device-id">device-id (text(1023))</a><span class="info">Deprecated</span></h4>
1457
1458<p>The "device-id" attribute provides the IEEE-1284 device ID string for the device.</p>
1459
1460<h4><a name="device-info">device-info (text(127))</a><span class="info">Deprecated</span></h4>
1461
1462<p>The "device-info" attribute specifies a human-readable string describing the device, e.g., 'Parallel Port #1'.
1463
1464<h4><a name="device-location">device-location (text(127))</a><span class="info">Deprecated</span></h4>
1465
1466<p>The "device-location" attribute specifies the physical location of the printer, e.g., '2nd Floor Computer Lab'.
1467
1468<h4><a name="device-make-and-model">device-make-and-model (text(127))</a><span class="info">Deprecated</span></h4>
1469
1470<p>The "device-make-and-model" attribute specifies a device identification string provided by the printer connected to the device. If the device or printer does not support identification then this attribute contains the string 'unknown'.
1471
1472<h4><a name="device-uri">device-uri (uri)</a></h4>
1473
1474<p>The "device-uri" attribute specifies a unique identifier for the device. The actual format of the "device-uri" string depends on the value of the "device-class" attribute:
1475
1476<ul>
1477
1478 <li>'file': The "device-uri" will be of the form 'file:///path/to/filename'.
1479
1480 <li>'direct': The "device-uri" will be of the form 'scheme:/dev/filename' or 'scheme://vendor/identifier', where scheme may be 'parallel' or 'usb' in the current implementation.
1481
1482 <li>'serial': The "device-uri" will be of the form 'serial:/dev/filename?baud=value+parity=value+flow=value'. The baud value is the data rate in bits per second; the supported values depend on the underlying hardware. The parity value can be one of "none", "even", or "odd". The flow value can be one of "none", "soft" (XON/XOFF handshaking), "hard" or "rts/cts" (RTS/CTS handshaking), or "dtrdsr" (DTR/DSR handshaking).
1483
1484 <p>The URI returned by CUPS-Get-Devices will contain the maximum baud rate supported by the device and the best type of flow control available ("soft" or "hard").
1485
1486 <li>'network': The "device-uri" will be of the form 'scheme://[username:password@]hostname[:port]/[resource]', where scheme may be "http", "https", "ipp", "lpd", "smb", or "socket" in the current implementation.
1487
1488 <p>The URI returned by CUPS-Get-Devices MAY only contain the scheme name ('scheme'). It is up to the client application to add the appropriate host and other information when adding a new printer.
1489
1490 <p>The URI returned by Get-Printer-Attributes and CUPS-Get-Printers has any username and password information stripped; the information is still stored and used by the server internally to perform any needed authentication.
1491
1492</ul>
1493
1494
1495<h3 class='title'><a name='JOB_ATTRIBUTES'>Job Attributes</a></h3>
1496
1497<h4><a name="auth-info">auth-info (1setOf text(MAX))</a><span class="info">CUPS 1.3/macOS 10.5</span></h4>
1498
1499<p>The "auth-info" attribute specifies the authentication information to use when printing to a remote device. The order and content of each text value is specifed by the <a href="#auth-info-required">auth-info-required</a> printer attribute.
1500
1501<h4><a name="job-cancel-after">job-cancel-after (integer(1:MAX))</a><span class='info'>CUPS 2.0</span></h4>
1502
1503<p>The "job-cancel-after" attribute provides the maximum number of seconds that are allowed for processing a job.</p>
1504
1505<h4><a name="job-hold-until">job-hold-until (keyword | name(MAX))</a><span class='info'>CUPS 1.1</span></h4>
1506
1507<p>The "job-hold-until" attribute specifies a hold time. In addition to the standard IPP/1.1 keyword names, CUPS supports name values of the form "HH:MM" and "HH:MM:SS" that specify a hold time. The hold time is in Universal Coordinated Time (UTC) and <i>not</i> in the local time zone. If the specified time is less than the current time, the job is held until the next day.
1508
1509<h4><a name="job-media-progress">job-media-progress (integer(0:100))</a><span class='info'>CUPS 1.4/macOS 10.6</span></h4>
1510
1511<p>The "job-media-progress" status attribute specifies the percentage of completion of the current page. It is only valid when the "job-state" attribute has the 'processing(5)' value.</p>
1512
1513<h4><a name="job-printer-state-message">job-printer-state-message (text(MAX))</a><span class='info'>CUPS 1.3/macOS 10.5</span></h4>
1514
1515<p>The "job-printer-state-message" status attribute provides the last known value of the "printer-state-message" attribute for the printer that processed (or is processing) the job.</p>
1516
1517<h4><a name="job-printer-state-reasons">job-printer-state-reasons (1setOf type2 keyword)</a><span class='info'>CUPS 1.3/macOS 10.5</span></h4>
1518
1519<p>The "job-printer-state-reasons" status attribute provides the last known value of the "printer-state-reasons" attribute for the printer that processed (or is processing) the job.</p>
1520
1521<h4><a name="job-sheets">job-sheets (1setof type3 keyword | name(MAX))</a><span class='info'>CUPS 1.1</span></h4>
1522
1523<p>The "job-sheets" attribute specifies one or two banner files that are printed before and after a job. The reserved value of "none" disables banner printing. The default value is stored in the "job-sheets-default" attribute.
1524
1525<p>If only one value is supplied, the banner file is printed before the job. If two values are supplied, the first value is used as the starting banner file and the second as the ending banner file.
1526
1527<h4><a name="job-originating-host-name">job-originating-host-name (name(MAX))</a><span class='info'>CUPS 1.1.5/macOS 10.2</span></h4>
1528
1529<p>The "job-originating-host-name" status attribute specifies the host from which the job was queued. The value will be the hostname or IP address of the client depending on whether hostname resolution is enabled. The localhost address (127.0.0.1) is <b>always</b> resolved to the name "localhost".
1530
1531<p>This attribute is read-only.
1532
1533<h4><a name="page-border">page-border (type2 keyword)</a><span class='info'>CUPS 1.1.15</span></h4>
1534
1535<p>The "page-border" attribute specifies whether a border is draw around each page. The following keywords are presently defined:
1536
1537<ul>
1538
1539 <li>'double': Two hairline borders are drawn</li>
1540
1541 <li>'double-thick': Two 1pt borders are drawn</li>
1542
1543 <li>'none': No border is drawn (default)</li>
1544
1545 <li>'single': A single hairline border is drawn</li>
1546
1547 <li>'single-thick': A single 1pt border is drawn</li>
1548
1549</ul>
1550
1551<h4><a name="page-set">page-set (type2 keyword)</a><span class="info">Deprecated</span></h4>
1552
1553<p>The "page-set" attribute specifies which pages to print in a file. The supported keywords are 'all', 'even', and 'odd'. The default value is 'all'.
1554
1555<h3 class='title'><a name='PPD_ATTRIBUTES'>PPD Attributes</a><span class="info">Deprecated</span></h3>
1556
1557<p>PPD attributes are returned in the printer-attributes-tag group.
1558
1559<h4><a name="ppd-device-id">ppd-device-id (text(127))</a><span class="info">Deprecated</span></h4>
1560
1561<p>The "ppd-device-id" attribute specifies the IEEE-1284 device ID string for the device described by the PPD file.</p>
1562
1563<h4><a name="ppd-make">ppd-make (text(127))</a><span class="info">Deprecated</span></h4>
1564
1565<p>The "ppd-make" attribute specifies the manufacturer of the printer (the Manufacturer attribute in the PPD file). If the manufacturer is not specified in the PPD file then an educated guess is made using the NickName attribute in the PPD file.
1566
1567<h4><a name="ppd-make-and-model">ppd-make-and-model (text(127))</a><span class="info">Deprecated</span></h4>
1568
1569<p>The "ppd-make-and-model" attribute specifies the manufacturer and model name of the PPD file (the NickName attribute in the PPD file). If the make and model is not specified in the PPD file then the ModelName or ShortNickName attributes are used instead.
1570
1571<h4><a name="ppd-model-number">ppd-model-number (integer)</a><span class="info">Deprecated</span></h4>
1572
1573<p>The "ppd-model-number" attribute provides the <tt>cupsModelNumber</tt> value from the PPD file.
1574
1575<h4><a name="ppd-name">ppd-name (name(255))</a><span class="info">Deprecated</span></h4>
1576
1577<p>The "ppd-name" attribute specifies either the PPD filename on the server relative to the model directory or a URI that maps to a specific driver interface in the driver directory. The forward slash (/) is used to delineate directories.
1578
1579<h4><a name="ppd-natural-language">ppd-natural-language (1setOf naturalLanguage)</a><span class="info">Deprecated</span></h4>
1580
1581<p>The "ppd-natural-language" attribute specifies the language encoding of the PPD file (the LanguageVersion attribute in the PPD file). If the language is unknown or undefined then "en" (English) is assumed.
1582
1583<h4><a name="ppd-product">ppd-product (1setOf text(127))</a><span class="info">Deprecated</span></h4>
1584
1585<p>The "ppd-product" attribute specifies the Product attribute values in the PPD file.
1586
1587<h4><a name="ppd-psversion">ppd-psversion (1setOf text(127))</a><span class="info">Deprecated</span></h4>
1588
1589<p>The "ppd-product" attribute specifies the PSVersion attribute values in the PPD file.
1590
1591<h4><a name="ppd-type">ppd-type (type1 keyword)</a><span class="info">Deprecated</span></h4>
1592
1593<p>The "ppd-type" attribute specifies the type of driver described by the PPD file:</p>
1594
1595<ul>
1596
1597 <li>'fax': A facsimile or multi-function device</li>
1598
1599 <li>'pdf': A PDF printer</li>
1600
1601 <li>'postscript': A PostScript printer (no filters)</li>
1602
1603 <li>'raster': A CUPS raster driver</li>
1604
1605 <li>'unknown': An unknown or hybrid driver</li>
1606
1607</ul>
1608
1609
1610<h3 class='title'><a name='PRINTER_ATTRIBUTES'>Printer Attributes</a></h3>
1611
1612<h4><a name="auth-info-required">auth-info-required (1setOf type2 keyword)</a><span class="info">CUPS 1.3/macOS 10.5</span></h4>
1613
1614<p>The "auth-info-required" attribute specifies the authentication information that is required for printing a job. The following keywords are recognized:</p>
1615
1616<ul>
1617
1618 <li>'domain': A domain name is required.</li>
1619
1620 <li>'none': No authentication is required - this keyword can only appear by itself.</li>
1621
1622 <li>'password': A password is required.</li>
1623
1624 <li>'username': A username is required.</li>
1625
1626</ul>
1627
1628<h4><a name="job-k-limit">job-k-limit (integer)</a><span class='info'>CUPS 1.1</span></h4>
1629
1630<p>The "job-k-limit" attribute specifies the maximum number of kilobytes that may be printed by a user, including banner files. The default value of 0 specifies that there is no limit.
1631
1632<h4><a name="job-page-limit">job-page-limit (integer)</a><span class='info'>CUPS 1.1</span></h4>
1633
1634<p>The "job-page-limit" attribute specifies the maximum number of pages that may be printed by a user, including banner files. The default value of 0 specifies that there is no limit.
1635
1636<h4><a name="job-quota-period">job-quota-period (integer)</a><span class='info'>CUPS 1.1</span></h4>
1637
1638<p>The "job-quota-period" attribute specifies the time period used for quota calculations, in seconds. The default value of 0 specifies that the limits apply to all jobs that have been printed by a user that are still known to the system.
1639
1640<h4><a name="marker-change-time">marker-change-time (integer)</a><span class='info'>CUPS 1.3/macOS 10.5</span></h4>
1641
1642<p>The "marker-change-time" status attribute specifies the "printer-up-time" value when the last change to the marker-colors, marker-levels, marker-message, marker-names, or marker-types attributes was made.</p>
1643
1644<h4><a name="marker-colors">marker-colors (1setof name(MAX))</a><span class='info'>CUPS 1.3/macOS 10.5</span></h4>
1645
1646<p>The "marker-colors" status attribute specifies the color(s) for each supply in the printer. It is only available when the driver provides supply levels. The color is either 'none' or one or more hex-encoded sRGB colors of the form '#RRGGBB'.</p>
1647
1648<h4><a name="marker-high-levels">marker-high-levels (1setof integer(0:100))</a><span class='info'>CUPS 1.4/macOS 10.6</span></h4>
1649
1650<p>The "marker-high-levels" status attribute specifies the supply levels that indicate a near-full condition. A value of 100 should be used for supplies that are consumed/emptied, e.g. ink cartridges.</p>
1651
1652<h4><a name="marker-levels">marker-levels (1setof integer(-3:100))</a><span class='info'>CUPS 1.3/macOS 10.5</span></h4>
1653
1654<p>The "marker-levels" status attribute specifies the current supply levels for the printer. It is only available when the driver provides supply levels. A value of -1 indicates the level is unavailable, -2 indicates unknown, and -3 indicates the level is unknown but has not yet reached capacity. Values from 0 to 100 indicate the corresponding percentage.</p>
1655
1656<h4><a name="marker-low-levels">marker-low-levels (1setof integer(0:100))</a><span class='info'>CUPS 1.4/macOS 10.6</span></h4>
1657
1658<p>The "marker-low-levels" status attribute specifies the supply levels that indicate a near-empty condition. A value of 0 should be used for supplies that are filled, e.g. waste ink tanks.</p>
1659
1660<h4><a name="marker-message">marker-message (text(MAX))</a><span class='info'>CUPS 1.4/macOS 10.6</span></h4>
1661
1662<p>The "marker-message" status attribute provides a human-readable status message for the current supply levels, e.g. "12 pages of ink remaining." It is only available when the driver provides supply levels.</p>
1663
1664<h4><a name="marker-names">marker-names (1setof name(MAX))</a><span class='info'>CUPS 1.3/macOS 10.5</span></h4>
1665
1666<p>The "marker-names" status attribute specifies the name(s) for each supply in the printer. It is only available when the driver provides supply levels.</p>
1667
1668<h4><a name="marker-types">marker-types (1setof type3 keyword)</a><span class='info'>CUPS 1.3/macOS 10.5</span></h4>
1669
1670<p>The "marker-types" status attribute specifies the type(s) of each supply in the printer. It is only available when the driver provides supply levels. The following (RFC 3805) types are currently supported:</p>
1671
1672<ul>
1673
1674 <li>'toner'</li>
1675
1676 <li>'waste-toner'</li>
1677
1678 <li>'ink'</li>
1679
1680 <li>'ink-cartridge'</li>
1681
1682 <li>'ink-ribbon'</li>
1683
1684 <li>'waste-ink'</li>
1685
1686 <li>'opc'</li>
1687
1688 <li>'developer'</li>
1689
1690 <li>'fuser-oil'</li>
1691
1692 <li>'solid-wax'</li>
1693
1694 <li>'ribbon-wax'</li>
1695
1696 <li>'waste-wax'</li>
1697
1698 <li>'fuser'</li>
1699
1700 <li>'corona-wire'</li>
1701
1702 <li>'fuser-oil-wick'</li>
1703
1704 <li>'cleaner-unit'</li>
1705
1706 <li>'fuser-cleaning-pad'</li>
1707
1708 <li>'transfer-unit'</li>
1709
1710 <li>'toner-cartridge'</li>
1711
1712 <li>'fuser-oiler'</li>
1713
1714 <li>'water'</li>
1715
1716 <li>'waste-water'</li>
1717
1718 <li>'binding-supply'</li>
1719
1720 <li>'banding-supply'</li>
1721
1722 <li>'stiching-wire'</li>
1723
1724 <li>'shrink-wrap'</li>
1725
1726 <li>'paper-wrap'</li>
1727
1728 <li>'staples'</li>
1729
1730 <li>'inserts'</li>
1731
1732 <li>'covers'</li>
1733
1734</ul>
1735
1736<h4><a name="port-monitor">port-monitor" (name(127))</a><span class="info">Deprecated</span></h4>
1737
1738<p>The "port-monitor" attribute specifies the port monitor to use when printing to this printer. The default port monitor is 'none'.
1739
1740<h4><a name="port-monitor-supported">port-monitor-supported" (1setOf name(127))</a><span class="info">Deprecated</span></h4>
1741
1742<p>The "port-monitor-supported" attribute specifies the available port monitors.
1743
1744<h4><a name="printer-commands">printer-commands (1setOf Type3 keyword)</a><span class='info'>Deprecated</span></h4>
1745
1746<p>The "printer-commands" attribute specifies the commands that are supported by the CUPS command file filter. The keyword 'none' indicates that no commands are supported.</p>
1747
1748<h4><a name="printer-dns-sd-name">printer-dns-sd-name (name(MAX) | noValue)</a><span class='info'>CUPS 1.4/macOS 10.6</span></h4>
1749
1750<p>The "printer-dns-sd-name" attribute specifies the registered DNS-SD service name for the printer. If the printer is not being shared using this protocol, "printer-dns-sd-name" will have the no-value value.</p>
1751
1752<h4><a name="printer-id">printer-id (integer(0:65535)</a><span class="info">CUPS 2.2</span></h4>
1753
1754<p>The "printer-id" status attribute provides a unique integer identifying the printer. It is used when only an IP address and integer are provided for identifying a print queue.</p>
1755
1756<h4><a name="printer-type">printer-type (type2 enum)</a></h4>
1757
1758<p>The "printer-type" status attribute specifies printer type and capability bits for the printer or class. The default value is computed from internal state information and the PPD file for the printer. The following bits are defined:</p>
1759
1760<div class='table'><table align='center' border='1' width='80%' summary='Printer Type Bits'>
1761<thead>
1762<tr>
1763 <th>Bit</th>
1764 <th>Description</th>
1765</tr>
1766</thead>
1767<tbody>
1768<tr>
1769 <td>0x00000001</td>
1770 <td>Is a printer class.</td>
1771</tr>
1772<tr>
1773 <td>0x00000002</td>
1774 <td>Is a remote destination.</td>
1775</tr>
1776<tr>
1777 <td>0x00000004</td>
1778 <td>Can print in black.</td>
1779</tr>
1780<tr>
1781 <td>0x00000008</td>
1782 <td>Can print in color.</td>
1783</tr>
1784<tr>
1785 <td>0x00000010</td>
1786 <td>Can print on both sides of the page in hardware.</td>
1787</tr>
1788<tr>
1789 <td>0x00000020</td>
1790 <td>Can staple output.</td>
1791</tr>
1792<tr>
1793 <td>0x00000040</td>
1794 <td>Can do fast copies in hardware.</td>
1795</tr>
1796<tr>
1797 <td>0x00000080</td>
1798 <td>Can do fast copy collation in hardware.</td>
1799</tr>
1800<tr>
1801 <td>0x00000100</td>
1802 <td>Can punch output.</td>
1803</tr>
1804<tr>
1805 <td>0x00000200</td>
1806 <td>Can cover output.</td>
1807</tr>
1808<tr>
1809 <td>0x00000400</td>
1810 <td>Can bind output.</td>
1811</tr>
1812<tr>
1813 <td>0x00000800</td>
1814 <td>Can sort output.</td>
1815</tr>
1816<tr>
1817 <td>0x00001000</td>
1818 <td>Can handle media up to US-Legal/A4.</td>
1819</tr>
1820<tr>
1821 <td>0x00002000</td>
1822 <td>Can handle media from US-Legal/A4 to ISO-C/A2.</td>
1823</tr>
1824<tr>
1825 <td>0x00004000</td>
1826 <td>Can handle media larger than ISO-C/A2.</td>
1827</tr>
1828<tr>
1829 <td>0x00008000</td>
1830 <td>Can handle user-defined media sizes.</td>
1831</tr>
1832<tr>
1833 <td>0x00010000</td>
1834 <td>Is an implicit (server-generated) class.</td>
1835</tr>
1836<tr>
1837 <td>0x00020000</td>
1838 <td>Is the a default printer on the network.</td>
1839</tr>
1840<tr>
1841 <td>0x00040000</td>
1842 <td>Is a facsimile device.</td>
1843</tr>
1844<tr>
1845 <td>0x00080000</td>
1846 <td>Is rejecting jobs.</td>
1847</tr>
1848<tr>
1849 <td>0x00100000</td>
1850 <td>Delete this queue.</td>
1851</tr>
1852<tr>
1853 <td>0x00200000</td>
1854 <td>Queue is not shared.</td>
1855</tr>
1856<tr>
1857 <td>0x00400000</td>
1858 <td>Queue requires authentication.</td>
1859</tr>
1860<tr>
1861 <td>0x00800000</td>
1862 <td>Queue supports CUPS command files.</td>
1863</tr>
1864<tr>
1865 <td>0x01000000</td>
1866 <td>Queue was automatically discovered and added.</td>
1867</tr>
1868<tr>
1869 <td>0x02000000</td>
1870 <td>Queue is a scanner with no printing capabilities.</td>
1871</tr>
1872<tr>
1873 <td>0x04000000</td>
1874 <td>Queue is a printer with scanning capabilities.</td>
1875</tr>
1876<tr>
1877 <td>0x08000000</td>
1878 <td>Queue is a printer with 3D capabilities.</td>
1879</tr>
1880</tbody>
1881</table></div>
1882
1883<h4>printer-type-mask (type2 enum)<span class='info'>CUPS 1.1</span></h4>
1884
1885<p>The "printer-type-mask" attribute is used to choose printers or classes with the CUPS-Get-Printers and CUPS-Get-Classes operations. The bits are defined identically to the printer-type attribute and default to all 1's.
1886
1887<h4>requesting-user-name-allowed (1setof name(127))<span class='info'>CUPS 1.1</span></h4>
1888
1889<p>The "requesting-user-name-allowed" attribute lists all of the users that are allowed to access a printer or class. Either this attribute or the "requesting-user-name-denied" attribute will be defined, but not both.
1890
1891<h4>requesting-user-name-denied (1setof name(127))<span class='info'>CUPS 1.1</span></h4>
1892
1893<p>The "requesting-user-name-denied" attribute lists all of the users that are not allowed to access a printer or class. Either this attribute or the "requesting-user-name-allowed" attribute will be defined, but not both.
1894
1895<h3 class='title'><a name='CLASS_ATTRIBUTES'>Printer Class Attributes</a></h3>
1896
1897<p>Printer class attributes are placed in the printer-attributes-tag group.</p>
1898
1899<h4>member-names (1setof name(127))</h4>
1900
1901<p>The "member-names" attribute specifies the "printer-name" attributes for each the member printer and class. Each name corresponds to the same element of the "member-uris" attribute.
1902
1903<h4>member-uris (1setof uri)</h4>
1904
1905<p>The "member-uris" attribute specifies the "printer-uri-supported" values for each member printer and class. Each URI corresponds to the same element of the "member-names" attribute.
1906
1907</body>
1908</html>