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