Load cups into easysw/current.
[thirdparty/cups.git] / doc / ipp.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
2 <HTML>
3 <HEAD>
4 <TITLE>CUPS Implementation of IPP</TITLE>
5 <META NAME="author" CONTENT="Easy Software Products">
6 <META NAME="copyright" CONTENT="Copyright 1997-2003 All Rights Reserved">
7 <META NAME="docnumber" CONTENT="CUPS-IPP-1.2">
8 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
9 <STYLE TYPE="text/css"><!--
10 BODY { font-family: serif }
11 H1 { font-family: sans-serif }
12 H2 { font-family: sans-serif }
13 H3 { font-family: sans-serif }
14 H4 { font-family: sans-serif }
15 H5 { font-family: sans-serif }
16 H6 { font-family: sans-serif }
17 SUB { font-size: smaller }
18 SUP { font-size: smaller }
19 PRE { font-family: monospace }
20 --></STYLE>
21 </HEAD>
22 <BODY>
23 <CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="431" HEIGHT="511"><BR>
24 <H1>CUPS Implementation of IPP</H1></A><BR>
25 CUPS-IPP-1.2<BR>
26 Easy Software Products<BR>
27 Copyright 1997-2003 All Rights Reserved<BR>
28 </CENTER>
29 <HR>
30 <H1 ALIGN="CENTER"><A NAME="CONTENTS">Table of Contents</A></H1>
31 <BR>
32 <BR><B><A HREF="#1">1 Scope</A></B>
33 <UL>
34 <LI><A HREF="#1_1">1.1 Identification</A></LI>
35 <LI><A HREF="#1_2">1.2 System Overview</A></LI>
36 <LI><A HREF="#1_3">1.3 Document Overview</A></LI>
37 </UL>
38 <B><A HREF="#2">2 References</A></B>
39 <UL>
40 <LI><A HREF="#2_1">2.1 CUPS Documentation</A></LI>
41 <LI><A HREF="#2_2">2.2 Other Documents</A></LI>
42 </UL>
43 <B><A HREF="#3">3 Overview</A></B>
44 <UL>
45 <LI><A HREF="#3_1">3.1 IPP URIs</A></LI>
46 <LI><A HREF="#3_2">3.2 CUPS IPP Operations</A></LI>
47 </UL>
48 <B><A HREF="#4">4 Operations</A></B>
49 <UL>
50 <LI><A HREF="#4_1">4.1 Print-Job Operation</A></LI>
51 <UL>
52 <LI><A HREF="#4_1_1">4.1.1 Print-Job Request</A></LI>
53 <LI><A HREF="#4_1_2">4.1.2 Print-Job Response</A></LI>
54 </UL>
55 <LI><A HREF="#4_2">4.2 Create-Job Operation</A></LI>
56 <UL>
57 <LI><A HREF="#4_2_1">4.2.1 Create-Job Request</A></LI>
58 <LI><A HREF="#4_2_2">4.2.2 Create-Job Response</A></LI>
59 </UL>
60 <LI><A HREF="#4_3">4.3 Set-Job-Attributes Operation</A></LI>
61 <UL>
62 <LI><A HREF="#4_3_1">4.3.1 Set-Job-Attributes Request</A></LI>
63 <LI><A HREF="#4_3_2">4.3.2 Set-Job-Attributes Response</A></LI>
64 </UL>
65 <LI><A HREF="#4_4">4.4 CUPS-Get-Default Operation</A></LI>
66 <UL>
67 <LI><A HREF="#4_4_1">4.4.1 CUPS-Get-Default Request</A></LI>
68 <LI><A HREF="#4_4_2">4.4.2 CUPS-Get-Default Response</A></LI>
69 </UL>
70 <LI><A HREF="#4_5">4.5 CUPS-Get-Printers Operation</A></LI>
71 <UL>
72 <LI><A HREF="#4_5_1">4.5.1 CUPS-Get-Printers Request</A></LI>
73 <LI><A HREF="#4_5_2">4.5.2 CUPS-Get-Printers Response</A></LI>
74 </UL>
75 <LI><A HREF="#4_6">4.6 CUPS-Add-Modify-Printer Operation</A></LI>
76 <UL>
77 <LI><A HREF="#4_6_1">4.6.1 CUPS-Add-Modify-Printer Request</A></LI>
78 <LI><A HREF="#4_6_2">4.6.2 CUPS-Add-Modify-Printer Response</A></LI>
79 </UL>
80 <LI><A HREF="#4_7">4.7 CUPS-Delete-Printer Operation</A></LI>
81 <UL>
82 <LI><A HREF="#4_7_1">4.7.1 CUPS-Delete-Printer Request</A></LI>
83 <LI><A HREF="#4_7_2">4.7.2 CUPS-Delete-Printer Response</A></LI>
84 </UL>
85 <LI><A HREF="#4_8">4.8 CUPS-Get-Classes Operation</A></LI>
86 <UL>
87 <LI><A HREF="#4_8_1">4.8.1 CUPS-Get-Classes Request</A></LI>
88 <LI><A HREF="#4_8_2">4.8.2 CUPS-Get-Classes Response</A></LI>
89 </UL>
90 <LI><A HREF="#4_9">4.9 CUPS-Add-Modify-Class Operation</A></LI>
91 <UL>
92 <LI><A HREF="#4_9_1">4.9.1 CUPS-Add-Modify-Class Request</A></LI>
93 <LI><A HREF="#4_9_2">4.9.2 CUPS-Add-Modify-Class Response</A></LI>
94 </UL>
95 <LI><A HREF="#4_10">4.10 CUPS-Delete-Class Operation</A></LI>
96 <UL>
97 <LI><A HREF="#4_10_1">4.10.1 CUPS-Delete-Class Request</A></LI>
98 <LI><A HREF="#4_10_2">4.10.2 CUPS-Delete-Class Response</A></LI>
99 </UL>
100 <LI><A HREF="#4_11">4.11 CUPS-Accept-Jobs Operation</A></LI>
101 <UL>
102 <LI><A HREF="#4_11_1">4.11.1 CUPS-Accept-Jobs Request</A></LI>
103 <LI><A HREF="#4_11_2">4.11.2 CUPS-Accept-Jobs Response</A></LI>
104 </UL>
105 <LI><A HREF="#4_12">4.12 CUPS-Reject-Jobs Operation</A></LI>
106 <UL>
107 <LI><A HREF="#4_12_1">4.12.1 CUPS-Reject-Jobs Request</A></LI>
108 <LI><A HREF="#4_12_2">4.12.2 CUPS-Reject-Jobs Response</A></LI>
109 </UL>
110 <LI><A HREF="#4_13">4.13 CUPS-Set-Default Operation</A></LI>
111 <UL>
112 <LI><A HREF="#4_13_1">4.13.1 CUPS-Set-Default Request</A></LI>
113 <LI><A HREF="#4_13_2">4.13.2 CUPS-Set-Default Response</A></LI>
114 </UL>
115 <LI><A HREF="#4_14">4.14 CUPS-Get-Devices Operation</A></LI>
116 <UL>
117 <LI><A HREF="#4_14_1">4.14.1 CUPS-Get-Devices Request</A></LI>
118 <LI><A HREF="#4_14_2">4.14.2 CUPS-Get-Devices Response</A></LI>
119 </UL>
120 <LI><A HREF="#4_15">4.15 CUPS-Get-PPDs Operation</A></LI>
121 <UL>
122 <LI><A HREF="#4_15_1">4.15.1 CUPS-Get-PPDs Request</A></LI>
123 <LI><A HREF="#4_15_2">4.15.2 CUPS-Get-PPDs Response</A></LI>
124 </UL>
125 <LI><A HREF="#4_16">4.16 CUPS-Move-Job Operation</A></LI>
126 <UL>
127 <LI><A HREF="#4_16_1">4.16.1 CUPS-Move-Job Request</A></LI>
128 <LI><A HREF="#4_16_2">4.16.2 CUPS-Move-Job Response</A></LI>
129 </UL>
130 </UL>
131 <B><A HREF="#5">5 Attributes</A></B>
132 <UL>
133 <LI><A HREF="#5_1">5.1 Device Attributes</A></LI>
134 <UL>
135 <LI><A HREF="#5_1_1">5.1.1 device-class (type2 keyword)</A></LI>
136 <LI><A HREF="#5_1_2">5.1.2 device-info (text(127))</A></LI>
137 <LI><A HREF="#5_1_3">5.1.3 device-make-and-model (text(127))</A></LI>
138 <LI><A HREF="#5_1_4">5.1.4 device-uri (uri)</A></LI>
139 </UL>
140 <LI><A HREF="#5_2">5.2 Job Template Attributes</A></LI>
141 <UL>
142 <LI><A HREF="#5_2_1">5.2.1 blackplot (boolean)</A></LI>
143 <LI><A HREF="#5_2_2">5.2.2 brightness (integer(0:200))</A></LI>
144 <LI><A HREF="#5_2_3">5.2.3 columns (integer(1:4))</A></LI>
145 <LI><A HREF="#5_2_4">5.2.4 cpi (type2 enum)</A></LI>
146 <LI><A HREF="#5_2_5">5.2.5 fitplot (boolean)</A></LI>
147 <LI><A HREF="#5_2_6">5.2.6 gamma (integer(1:10000))</A></LI>
148 <LI><A HREF="#5_2_7">5.2.7 hue (integer(-180:180))</A></LI>
149 <LI><A HREF="#5_2_8">5.2.8 job-billing (text(MAX))</A></LI>
150 <LI><A HREF="#5_2_9">5.2.9 job-hold-until (keyword | name(MAX))</A></LI>
151 <LI><A HREF="#5_2_10">5.2.10 job-sheets (1setof type3 keyword |
152  name(MAX))</A></LI>
153 <LI><A HREF="#5_2_11">5.2.11 job-originating-host-name (name(MAX))</A></LI>
154 <LI><A HREF="#5_2_12">5.2.12 lpi (type2 enum)</A></LI>
155 <LI><A HREF="#5_2_13">5.2.13 natural-scaling (integer(1:1000))</A></LI>
156 <LI><A HREF="#5_2_14">5.2.14 number-up-layout (type2 keyword)</A></LI>
157 <LI><A HREF="#5_2_15">5.2.15 page-border (type2 keyword)</A></LI>
158 <LI><A HREF="#5_2_16">5.2.16 page-bottom (integer(0:MAX))</A></LI>
159 <LI><A HREF="#5_2_17">5.2.17 page-label (text(MAX))</A></LI>
160 <LI><A HREF="#5_2_18">5.2.18 page-left (integer(0:MAX))</A></LI>
161 <LI><A HREF="#5_2_19">5.2.19 page-right (integer(0:MAX))</A></LI>
162 <LI><A HREF="#5_2_20">5.2.20 page-set (type2 keyword)</A></LI>
163 <LI><A HREF="#5_2_21">5.2.21 page-top (integer(0:MAX))</A></LI>
164 <LI><A HREF="#5_2_22">5.2.22 penwidth (integer(0:MAX))</A></LI>
165 <LI><A HREF="#5_2_23">5.2.23 position (type2 keyword)</A></LI>
166 <LI><A HREF="#5_2_24">5.2.24 ppi (integer(1:MAX))</A></LI>
167 <LI><A HREF="#5_2_25">5.2.25 prettyprint (boolean)</A></LI>
168 <LI><A HREF="#5_2_26">5.2.26 saturation (integer(0:200))</A></LI>
169 <LI><A HREF="#5_2_27">5.2.27 scaling (integer(1:1000))</A></LI>
170 <LI><A HREF="#5_2_28">5.2.28 wrap (boolean)</A></LI>
171 </UL>
172 <LI><A HREF="#5_3">5.3 PPD Attributes</A></LI>
173 <UL>
174 <LI><A HREF="#5_3_1">5.3.1 ppd-natural-language (naturalLanguage)</A></LI>
175 <LI><A HREF="#5_3_2">5.3.2 ppd-make (text(127))</A></LI>
176 <LI><A HREF="#5_3_3">5.3.3 ppd-make-and-model (text(127))</A></LI>
177 <LI><A HREF="#5_3_4">5.3.4 ppd-name (name(255))</A></LI>
178 </UL>
179 <LI><A HREF="#5_4">5.4 Printer Attributes</A></LI>
180 <UL>
181 <LI><A HREF="#5_4_1">5.4.1 job-k-limit (integer)</A></LI>
182 <LI><A HREF="#5_4_2">5.4.2 job-page-limit (integer)</A></LI>
183 <LI><A HREF="#5_4_3">5.4.3 job-quota-period (integer)</A></LI>
184 <LI><A HREF="#5_4_4">5.4.4 job-sheets-supported (1setof type3 keyword |
185  name(MAX))</A></LI>
186 <LI><A HREF="#5_4_5">5.4.5 printer-type (type2 enum)</A></LI>
187 <LI><A HREF="#5_4_6">5.4.6 printer-type-mask (type2 enum)</A></LI>
188 <LI><A HREF="#5_4_7">5.4.7 requesting-user-name-allowed (1setof
189  name(127))</A></LI>
190 <LI><A HREF="#5_4_8">5.4.8 requesting-user-name-denied (1setof
191  name(127))</A></LI>
192 </UL>
193 <LI><A HREF="#5_5">5.5 Printer Class Attributes</A></LI>
194 <UL>
195 <LI><A HREF="#5_5_1">5.5.1 member-names (1setof name(127))</A></LI>
196 <LI><A HREF="#5_5_2">5.5.2 member-uris (1setof uri)</A></LI>
197 </UL>
198 </UL>
199 <B><A HREF="#6">A Glossary</A></B>
200 <UL>
201 <LI><A HREF="#6_1">A.1 Terms</A></LI>
202 <LI><A HREF="#6_2">A.2 Acronyms</A></LI>
203 </UL>
204 <HR>
205 <H1><A NAME="1">1 Scope</A></H1>
206 <H2><A NAME="1_1">1.1 Identification</A></H2>
207 <P>This document provides an overview of the Internet Printing Protocol
208  (&quot;IPP&quot;) version 1.1 as implemented in the Common UNIX Printing System
209  (&quot;CUPS&quot;) version 1.2.</P>
210 <H2><A NAME="1_2">1.2 System Overview</A></H2>
211 <P>CUPS provides a portable printing layer for UNIX&reg;-based operating
212  systems. It has been developed by<A HREF="http://www.easysw.com"> Easy
213  Software Products</A> to promote a standard printing solution for all
214  UNIX vendors and users. CUPS provides the System V and Berkeley
215  command-line interfaces.</P>
216 <P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for
217  managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
218  Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
219  also supported with reduced functionality. CUPS adds network printer
220  browsing and PostScript Printer Description (&quot;PPD&quot;) based printing
221  options to support real-world printing under UNIX.</P>
222 <P>CUPS also includes a customized version of GNU Ghostscript (currently
223  based off GNU Ghostscript 5.50) and an image file RIP that are used to
224  support non-PostScript printers. Sample drivers for HP and EPSON
225  printers are included that use these filters.</P>
226 <H2><A NAME="1_3">1.3 Document Overview</A></H2>
227 <P>This document is organized into the following sections:</P>
228 <UL>
229 <LI><A HREF="#1">1 - Scope</A></LI>
230 <LI><A HREF="#2">2 - References</A></LI>
231 <LI><A HREF="#3">3 - Overview</A></LI>
232 <LI><A HREF="#4">4 - Operations</A></LI>
233 <LI><A HREF="#5">5 - Attributes</A></LI>
234 <LI><A HREF="#6">A - Glossary</A></LI>
235 </UL>
236 <H1><A NAME="2">2 References</A></H1>
237 <H2><A NAME="2_1">2.1 CUPS Documentation</A></H2>
238 <P>The following CUPS documentation is referenced by this document:</P>
239 <UL>
240 <LI>CUPS-CMP-1.2: CUPS Configuration Management Plan</LI>
241 <LI>CUPS-IDD-1.2: CUPS System Interface Design Description</LI>
242 <LI>CUPS-IPP-1.2: CUPS Implementation of IPP</LI>
243 <LI>CUPS-SAM-1.2.x: CUPS Software Administrators Manual</LI>
244 <LI>CUPS-SDD-1.2: CUPS Software Design Description</LI>
245 <LI>CUPS-SPM-1.2.x: CUPS Software Programming Manual</LI>
246 <LI>CUPS-SSR-1.2: CUPS Software Security Report</LI>
247 <LI>CUPS-STP-1.2: CUPS Software Test Plan</LI>
248 <LI>CUPS-SUM-1.2.x: CUPS Software Users Manual</LI>
249 <LI>CUPS-SVD-1.2: CUPS Software Version Description</LI>
250 </UL>
251 <H2><A NAME="2_2">2.2 Other Documents</A></H2>
252 <P>The following non-CUPS documents are referenced by this document:</P>
253 <UL>
254 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
255 Adobe PostScript Printer Description File Format Specification, Version
256  4.3.</A></LI>
257 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
258 Adobe PostScript Language Reference, Third Edition.</A></LI>
259 <LI>IPP: Job and Printer Set Operations</LI>
260 <LI>IPP/1.1: Encoding and Transport</LI>
261 <LI>IPP/1.1: Implementers Guide</LI>
262 <LI>IPP/1.1: Model and Semantics</LI>
263 <LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line Printer
264  Daemon Protocol</A></LI>
265 <LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design Goals
266  for an Internet Printing Protocol</A></LI>
267 <LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale
268  for the Structure of the Model and Protocol for the Internet Printing
269  Protocol</A></LI>
270 <LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping
271  between LPD and IPP Protocols</A></LI>
272 <LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext
273  Transfer Protocol -- HTTP/1.1</A></LI>
274 <LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP
275  Authentication: Basic and Digest Access</A> Authentication</LI>
276 </UL>
277 <H1><A NAME="3">3 Overview</A></H1>
278 <P>CUPS 1.1 implements IPP/1.1 and the operations and attributes defined
279  in the &quot;IPP: Job and Printer Set Operations&quot;, &quot;IPP/1.1: Output-bin
280  Attribute Extension&quot;, and &quot;IPP/1.1: finishings 'fold',' trim', and
281  'bale' attribute values extension&quot; specifications.</P>
282 <P>CUPS also provides 13 new operations and many new attributes to
283  support multiple IPP printers and printer classes on a single host.</P>
284 <H2><A NAME="3_1">3.1 IPP URIs</A></H2>
285 <P>CUPS supports both the &quot;http&quot; and &quot;ipp&quot; methods. The following
286  resource names are used:</P>
287 <DL>
288 <DT>method://hostname:port/</DT>
289 <DD>Can be used for all &quot;get&quot; operations.</DD>
290 <DT>method://hostname:port/admin</DT>
291 <DD>Used for all administrative operations.</DD>
292 <DT>method://hostname:port/classes/name</DT>
293 <DD>Specifies a printer class.</DD>
294 <DT>method://hostname:port/jobs/id</DT>
295 <DD>Specifies a job.</DD>
296 <DT>method://hostname:port/printers/name</DT>
297 <DD>Specifies a printer.</DD>
298 </DL>
299 <P>So a typical printer URI would be
300  &quot;ipp://foo.bar.com/printers/LaserJet&quot;.</P>
301 <P>In addition, the CUPS server also supports normal browser access to
302  &quot;method://hostname:port/admin/&quot;, &quot;method://hostname:port/classes/&quot;,
303  &quot;method://hostname:port/jobs/&quot;, and &quot;method://hostname:port/printers/&quot;
304  to view and manage resources on the server dynamically.</P>
305 <H2><A NAME="3_2">3.2 CUPS IPP Operations</A></H2>
306 <P>CUPS provides 13 extension operations in addition to most of the
307  standard IPP and registered extension operations:
308 <CENTER>
311 Code</TH><TH VALIGN="TOP">Brief Description</TH></TR>
313 0x0002</TD><TD VALIGN="TOP">Print a file.</TD></TR>
314 <TR><TD VALIGN="TOP">Validate-Job</TD><TD VALIGN="TOP">1.0</TD><TD VALIGN="TOP">
315 0x0004</TD><TD VALIGN="TOP">Validate job attributes.</TD></TR>
316 <TR><TD VALIGN="TOP">Create-Job</TD><TD VALIGN="TOP">1.2</TD><TD VALIGN="TOP">
317 0x0005</TD><TD VALIGN="TOP">Create a print job.</TD></TR>
318 <TR><TD VALIGN="TOP">Send-Document</TD><TD VALIGN="TOP">1.2</TD><TD VALIGN="TOP">
319 0x0006</TD><TD VALIGN="TOP">Send a file for a print job.</TD></TR>
320 <TR><TD VALIGN="TOP">Cancel-Job</TD><TD VALIGN="TOP">1.0</TD><TD VALIGN="TOP">
321 0x0008</TD><TD VALIGN="TOP">Cancel a print job.</TD></TR>
322 <TR><TD VALIGN="TOP">Get-Job-Attributes</TD><TD VALIGN="TOP">1.0</TD><TD VALIGN="TOP">
323 0x0009</TD><TD VALIGN="TOP">Get job attributes.</TD></TR>
325 0x000A</TD><TD VALIGN="TOP">Get all jobs.</TD></TR>
326 <TR><TD VALIGN="TOP">Get-Printer-Attributes</TD><TD VALIGN="TOP">1.0</TD><TD
327 VALIGN="TOP">0x000B</TD><TD VALIGN="TOP">Get printer attributes.</TD></TR>
329 0x000C</TD><TD VALIGN="TOP">Hold a job for printing.</TD></TR>
330 <TR><TD VALIGN="TOP">Release-Job</TD><TD VALIGN="TOP">1.2</TD><TD VALIGN="TOP">
331 0x000D</TD><TD VALIGN="TOP">Release a job for printing.</TD></TR>
332 <TR><TD VALIGN="TOP">Pause-Printer</TD><TD VALIGN="TOP">1.0</TD><TD VALIGN="TOP">
333 0x0010</TD><TD VALIGN="TOP">Pause printing on a printer.</TD></TR>
334 <TR><TD VALIGN="TOP">Resume-Printer</TD><TD VALIGN="TOP">1.0</TD><TD VALIGN="TOP">
335 0x0011</TD><TD VALIGN="TOP">Resume printing on a printer.</TD></TR>
336 <TR><TD VALIGN="TOP">Purge-Jobs</TD><TD VALIGN="TOP">1.0</TD><TD VALIGN="TOP">
337 0x0012</TD><TD VALIGN="TOP">Purge all jobs.</TD></TR>
338 <TR><TD VALIGN="TOP">Set-Job-Attributes</TD><TD VALIGN="TOP">1.2</TD><TD VALIGN="TOP">
339 0x0014</TD><TD VALIGN="TOP">Set attributes for a pending or held job.</TD>
340 </TR>
342 0x4001</TD><TD VALIGN="TOP">Get the default destination.</TD></TR>
344 0x4002</TD><TD VALIGN="TOP">Get all of the available printers.</TD></TR>
345 <TR><TD VALIGN="TOP">CUPS-Add-Modify-Printer</TD><TD VALIGN="TOP">1.0</TD><TD
346 VALIGN="TOP">0x4003</TD><TD VALIGN="TOP">Add or modify a printer.</TD></TR>
347 <TR><TD VALIGN="TOP">CUPS-Delete-Printer</TD><TD VALIGN="TOP">1.0</TD><TD
348 VALIGN="TOP">0x4004</TD><TD VALIGN="TOP">Delete a printer.</TD></TR>
350 0x4005</TD><TD VALIGN="TOP">Get all of the available printer classes.</TD>
351 </TR>
352 <TR><TD VALIGN="TOP">CUPS-Add-Modify-Class</TD><TD VALIGN="TOP">1.0</TD><TD
353 VALIGN="TOP">0x4006</TD><TD VALIGN="TOP">Add or modify a printer class.</TD>
354 </TR>
356 0x4007</TD><TD VALIGN="TOP">Delete a printer class.</TD></TR>
358 0x4008</TD><TD VALIGN="TOP">Accept jobs on a printer or printer class.</TD>
359 </TR>
361 0x4009</TD><TD VALIGN="TOP">Reject jobs on a printer or printer class.</TD>
362 </TR>
364 0x400A</TD><TD VALIGN="TOP">Set the default destination.</TD></TR>
366 0x400B</TD><TD VALIGN="TOP">Get all of the available devices.</TD></TR>
368 0x400C</TD><TD VALIGN="TOP">Get all of the available PPDs.</TD></TR>
370 0x400D</TD><TD VALIGN="TOP">Move a job to a different printer.</TD></TR>
371 </TABLE>
372 </CENTER>
373 </P>
374 <H1><A NAME="4">4 Operations</A></H1>
375 <P>The following sections describe the operations supported by CUPS. In
376  the interest of brevity, operations which use only the standard IPP
377  attributes are not described.</P>
378 <H2><A NAME="4_1">4.1 Print-Job Operation</A></H2>
379 <P>The Print-Job operation (0x0002) prints a file.</P>
380 <H3><A NAME="4_1_1">4.1.1 Print-Job Request</A></H3>
381 <P>The following groups of attributes are supplied as part of the
382  Print-Job request:</P>
383 <P>Group 1: Operation Attributes</P>
384 <UL>
385 <P>Natural Language and Character Set:</P>
386 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
387  as described in section of the IPP Model and Semantics
388  document.</P>
389 <P>&quot;printer-uri&quot; (uri):</P>
390 <P>The client MUST supply a URI for the specified printer.</P>
391 </UL>
392 <P>Group 2: Job Template Attributes</P>
393 <UL>
394 <P>&quot;job-billing&quot; (text(MAX)):</P>
395 <P><I>(CUPS 1.1 and higher)</I></P>
396 <P>The client OPTIONALLY supplies a billing string that is logged with
397  the page accounting information.</P>
398 <P>&quot;job-sheets&quot; (1setof type3 keyword | name(MAX)):</P>
399 <P><I>(CUPS 1.1 and higher)</I></P>
400 <P>The client OPTIONALLY supplies one or two banner pages that are
401  printed before and after any files in the print job. The name of &quot;none&quot;
402  is reserved to indicate that no banner page should be printed. If the
403  client does not specify this attribute then the value of the
404  &quot;job-sheets-default&quot; printer object attribute is used.</P>
405 <P><B>Note:</B> Standard IPP only allows specification of a single
406  job-sheets attribute value.</P>
407 <P>&quot;media&quot; (1setof type3 keyword | name(MAX)):</P>
408 <P>The client OPTIONALLY supplies one or more media attributes
409  specifying the size, type, source, and color of the output media. If
410  the client does not specify this attribute then the value of the
411  &quot;media-default&quot; printer object attribute is used.</P>
412 <P><B>Note:</B> Standard IPP only allows specification of a single media
413  attribute value.</P>
414 <P>Other Job Template Attributes</P>
415 </UL>
416 <P>The Print-Job request is followed by a file to be printed.</P>
417 <H3><A NAME="4_1_2">4.1.2 Print-Job Response</A></H3>
418 <P>The following groups of attributes are send as part of the Print-Job
419  Response:</P>
420 <P>Group 1: Operation Attributes</P>
421 <UL>
422 <P>Status Message:</P>
423 <P>The standard response status message.</P>
424 <P>Natural Language and Character Set:</P>
425 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
426  as described in section of the IPP Model and Semantics
427  document.</P>
428 </UL>
429 <P>Group 2: Job Attributes</P>
430 <UL>
431 <P>Standard Job Attributes</P>
432 </UL>
433 <H2><A NAME="4_2">4.2 Create-Job Operation</A></H2>
434 <P>The Create-Job operation (0x0005) creates a new, empty print job.</P>
435 <H3><A NAME="4_2_1">4.2.1 Create-Job Request</A></H3>
436 <P>The following groups of attributes are supplied as part of the
437  Create-Job request:</P>
438 <P>Group 1: Operation Attributes</P>
439 <UL>
440 <P>Natural Language and Character Set:</P>
441 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
442  as described in section of the IPP Model and Semantics
443  document.</P>
444 <P>&quot;printer-uri&quot; (uri):</P>
445 <P>The client MUST supply a URI for the specified printer.</P>
446 </UL>
447 <P>Group 2: Job Template Attributes</P>
448 <UL>
449 <P>&quot;job-billing&quot; (text(MAX)):</P>
450 <P><I>(CUPS 1.1 and higher)</I></P>
451 <P>The client OPTIONALLY supplies a billing string that is logged with
452  the page accounting information.</P>
453 <P>&quot;job-sheets&quot; (1setof type3 keyword | name(MAX)):</P>
454 <P><I>(CUPS 1.1 and higher)</I></P>
455 <P>The client OPTIONALLY supplies one or two banner pages that are
456  printed before and after any files in the print job. The name of &quot;none&quot;
457  is reserved to indicate that no banner page should be printed. If the
458  client does not specify this attribute then the value of the
459  &quot;job-sheets-default&quot; printer object attribute is used.</P>
460 <P><B>Note:</B> Standard IPP only allows specification of a single
461  job-sheets attribute value.</P>
462 <P>&quot;media&quot; (1setof type3 keyword | name(MAX)):</P>
463 <P>The client OPTIONALLY supplies one or more media attributes
464  specifying the size, type, source, and color of the output media. If
465  the client does not specify this attribute then the value of the
466  &quot;media-default&quot; printer object attribute is used.</P>
467 <P><B>Note:</B> Standard IPP only allows specification of a single media
468  attribute value.</P>
469 <P>Standard Job Template Attributes</P>
470 </UL>
471 <H3><A NAME="4_2_2">4.2.2 Create-Job Response</A></H3>
472 <P>The following groups of attributes are send as part of the Create-Job
473  Response:</P>
474 <P>Group 1: Operation Attributes</P>
475 <UL>
476 <P>Status Message:</P>
477 <P>The standard response status message.</P>
478 <P>Natural Language and Character Set:</P>
479 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
480  as described in section of the IPP Model and Semantics
481  document.</P>
482 </UL>
483 <P>Group 2: Job Attributes</P>
484 <UL>
485 <P>Standard Job Attributes</P>
486 </UL>
487 <H2><A NAME="4_3">4.3 Set-Job-Attributes Operation</A></H2>
488 <P>The Set-Job-Attributes operation (0x0014) changes the attributes of
489  an active (not completed) job.</P>
490 <H3><A NAME="4_3_1">4.3.1 Set-Job-Attributes Request</A></H3>
491 <P>The following groups of attributes are supplied as part of the
492  Set-Job-Attributes request:</P>
493 <P>Group 1: Operation Attributes</P>
494 <UL>
495 <P>Natural Language and Character Set:</P>
496 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
497  as described in section of the IPP Model and Semantics
498  document.</P>
499 <P>&quot;printer-uri&quot; (uri) and &quot;job-id&quot; (integer)</P>
500 <P><I>OR</I></P>
501 <P>&quot;job-uri&quot;:</P>
502 <P>The client MUST supply a URI for the specified printer and a job ID
503  number, or the job URI.</P>
504 </UL>
505 <P>Group 2: Job Template Attributes</P>
506 <UL>
507 <P>&quot;job-sheets&quot; (1setof type3 keyword | name(MAX)):</P>
508 <P><I>(CUPS 1.1 and higher)</I></P>
509 <P>The client OPTIONALLY supplies one or two banner pages that are
510  printed before and after any files in the print job. The name of &quot;none&quot;
511  is reserved to indicate that no banner page should be printed. If the
512  client does not specify this attribute then the value of the
513  &quot;job-sheets-default&quot; printer object attribute is used.</P>
514 <P><B>Note:</B> Standard IPP only allows specification of a single
515  job-sheets attribute value.</P>
516 <P>&quot;media&quot; (1setof type3 keyword | name(MAX)):</P>
517 <P>The client OPTIONALLY supplies one or more media attributes
518  specifying the size, type, source, and color of the output media. If
519  the client does not specify this attribute then the value of the
520  &quot;media-default&quot; printer object attribute is used.</P>
521 <P><B>Note:</B> Standard IPP only allows specification of a single media
522  attribute value.</P>
523 <P>Other Job Template Attributes</P>
524 </UL>
525 <H3><A NAME="4_3_2">4.3.2 Set-Job-Attributes Response</A></H3>
526 <P>The following groups of attributes are send as part of the
527  Set-Job-Attributes Response:</P>
528 <P>Group 1: Operation Attributes</P>
529 <UL>
530 <P>Status Message:</P>
531 <P>The standard response status message.</P>
532 <P>Natural Language and Character Set:</P>
533 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
534  as described in section of the IPP Model and Semantics
535  document.</P>
536 </UL>
537 <H2><A NAME="4_4">4.4 CUPS-Get-Default Operation</A></H2>
538 <P>The CUPS-Get-Default operation (0x4001) returns the default printer
539  URI and attributes.</P>
540 <H3><A NAME="4_4_1">4.4.1 CUPS-Get-Default Request</A></H3>
541 <P>The following groups of attributes are supplied as part of the
542  CUPS-Get-Default request:</P>
543 <P>Group 1: Operation Attributes</P>
544 <UL>
545 <P>Natural Language and Character Set:</P>
546 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
547  as described in section of the IPP Model and Semantics
548  document.</P>
549 <P>&quot;requested-attributes&quot; (1setOf keyword) :</P>
550 <P>The client OPTIONALLY supplies a set of attribute names and/or
551  attribute group names in whose values the requester is interested. If
552  the client omits this attribute, the server responds as if this
553  attribute had been supplied with a value of 'all'.</P>
554 </UL>
555 <H3><A NAME="4_4_2">4.4.2 CUPS-Get-Default Response</A></H3>
556 <P>The following groups of attributes are send as part of the
557  CUPS-Get-Default Response:</P>
558 <P>Group 1: Operation Attributes</P>
559 <UL>
560 <P>Status Message:</P>
561 <P>The standard response status message.</P>
562 <P>Natural Language and Character Set:</P>
563 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
564  as described in section of the IPP Model and Semantics
565  document.</P>
566 </UL>
567 <P>Group 2: Printer Object Attributes</P>
568 <UL>
569 <P>The set of requested attributes and their current values.</P>
570 </UL>
571 <H2><A NAME="4_5">4.5 CUPS-Get-Printers Operation</A></H2>
572 <P>The CUPS-Get-Printers operation (0x4002) returns the printer
573  attributes for every printer known to the system. This may include
574  printers that are not served directly by the server.</P>
575 <H3><A NAME="4_5_1">4.5.1 CUPS-Get-Printers Request</A></H3>
576 <P>The following groups of attributes are supplied as part of the
577  CUPS-Get-Printers request:</P>
578 <P>Group 1: Operation Attributes</P>
579 <UL>
580 <P>Natural Language and Character Set:</P>
581 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
582  as described in section of the IPP Model and Semantics
583  document.</P>
584 <P>&quot;limit&quot; (integer (1:MAX)):</P>
585 <P>The client OPTIONALLY supplies this attribute limiting the number of
586  printers that are returned.</P>
587 <P>&quot;printer-info&quot; (text(127)):</P>
588 <P><I>(CUPS 1.1 and higher)</I></P>
589 <P>The client OPTIONALLY supplies this attribute to select which
590  printers are returned.</P>
591 <P>&quot;printer-location&quot; (text(127)):</P>
592 <P><I>(CUPS 1.1 and higher)</I></P>
593 <P>The client OPTIONALLY supplies this attribute to select which
594  printers are returned.</P>
595 <P>&quot;printer-type&quot; (type2 enum):</P>
596 <P><I>(CUPS 1.1 and higher)</I></P>
597 <P>The client OPTIONALLY supplies a printer type enumeration to select
598  which printers are returned.</P>
599 <P>&quot;printer-type-mask&quot; (type2 enum):</P>
600 <P><I>(CUPS 1.1 and higher)</I></P>
601 <P>The client OPTIONALLY supplies a printer type mask enumeration to
602  select which bits are used in the &quot;printer-type&quot; attribute.</P>
603 <P>&quot;requested-attributes&quot; (1setOf keyword) :</P>
604 <P>The client OPTIONALLY supplies a set of attribute names and/or
605  attribute group names in whose values the requester is interested. If
606  the client omits this attribute, the server responds as if this
607  attribute had been supplied with a value of 'all'.</P>
608 </UL>
609 <H3><A NAME="4_5_2">4.5.2 CUPS-Get-Printers Response</A></H3>
610 <P>The following groups of attributes are send as part of the
611  CUPS-Get-Printers Response:</P>
612 <P>Group 1: Operation Attributes</P>
613 <UL>
614 <P>Status Message:</P>
615 <P>The standard response status message.</P>
616 <P>Natural Language and Character Set:</P>
617 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
618  as described in section of the IPP Model and Semantics
619  document.</P>
620 </UL>
621 <P>Group 2: Printer Object Attributes</P>
622 <UL>
623 <P>The set of requested attributes and their current values for each
624  printer.</P>
625 </UL>
626 <H2><A NAME="4_6">4.6 CUPS-Add-Modify-Printer Operation</A></H2>
627 <P>The CUPS-Add-Modify-Printer operation (0x4003) adds a new printer or
628  modifies an existing printer on the system.</P>
629 <H3><A NAME="4_6_1">4.6.1 CUPS-Add-Modify-Printer Request</A></H3>
630 <P>The following groups of attributes are supplied as part of the
631  CUPS-Add-Modify-Printer request:</P>
632 <P>Group 1: Operation Attributes</P>
633 <UL>
634 <P>Natural Language and Character Set:</P>
635 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
636  as described in section of the IPP Model and Semantics
637  document.</P>
638 <P>&quot;printer-uri&quot; (uri):</P>
639 <P>The client MUST supply a URI for the specified printer.</P>
640 </UL>
641 <P>Group 2: Printer Object Attributes</P>
642 <UL>
643 <P>&quot;banner-end-default&quot; (name(127)):</P>
644 <P><I>(CUPS 1.1 and higher)</I></P>
645 <P>The client OPTIONALLY supplies a banner page name that is printed
646  after files in a job. The reserved name &quot;none&quot; is used to specify that
647  no banner page should be printed.</P>
648 <P>&quot;banner-start-default&quot; (name(127)):</P>
649 <P><I>(CUPS 1.1 and higher)</I></P>
650 <P>The client OPTIONALLY supplies a banner page name that is printed
651  before files in a job. The reserved name &quot;none&quot; is used to specify that
652  no banner page should be printed.</P>
653 <P>&quot;device-uri&quot; (uri):</P>
654 <P>The client OPTIONALLY supplies a device URI for the specified
655  printer.</P>
656 <P>&quot;ppd-name&quot; (name(127)):</P>
657 <P>The client OPTIONALLY supplies a PPD name for the specified printer.</P>
658 <P>&quot;printer-is-accepting-jobs&quot; (boolean):</P>
659 <P>The client OPTIONALLY supplies this boolean attribute indicating
660  whether or not the printer object should accept new jobs.</P>
661 <P>&quot;printer-info&quot; (text(127)):</P>
662 <P>The client OPTIONALLY supplies this attribute indicating the printer
663  information string.</P>
664 <P>&quot;printer-location&quot; (text(127)):</P>
665 <P>The client OPTIONALLY supplies this attribute indicating a textual
666  location of the printer.</P>
667 <P>&quot;printer-more-info&quot; (uri):</P>
668 <P>The client OPTIONALLY supplies this attribute indicating a URI for
669  additional printer information.</P>
670 <P>&quot;printer-state&quot; (type2 enum):</P>
671 <P>The client OPTIONALLY supplies this attribute indicating the
672  initial/current state of the printer. Only the &quot;idle&quot; and &quot;stopped&quot;
673  enumerations are recognized.</P>
674 <P>&quot;printer-state-message&quot; (text(MAX)):</P>
675 <P>The client OPTIONALLY supplies this attribute indicating a textual
676  reason for the current printer state.</P>
677 <P>&quot;requesting-user-name-allowed&quot; (1setof name(127) | delete)</P>
678 <P><I>OR</I></P>
679 <P>&quot;requesting-user-name-denied&quot; (1setof name(127) | delete):</P>
680 <P>The client OPTIONALLY supplies one of these attributes to specify an
681  access control list for incoming print jobs. To allow all users access
682  to a printer, use the delete tag for the attribute value.</P>
683 </UL>
684 <P>The CUPS-Add-Modify-Printer request can optionally be followed by a
685  PPD file or System V interface script to be used for the printer. The
686  &quot;ppd-name&quot; attribute overrides any file that is attached to the end of
687  the request with a local CUPS PPD file.</P>
688 <H3><A NAME="4_6_2">4.6.2 CUPS-Add-Modify-Printer Response</A></H3>
689 <P>The following groups of attributes are send as part of the
690  CUPS-Add-Modify-Printer Response:</P>
691 <P>Group 1: Operation Attributes</P>
692 <UL>
693 <P>Status Message:</P>
694 <P>The standard response status message.</P>
695 <P>Natural Language and Character Set:</P>
696 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
697  as described in section of the IPP Model and Semantics
698  document.</P>
699 </UL>
700 <H2><A NAME="4_7">4.7 CUPS-Delete-Printer Operation</A></H2>
701 <P>The CUPS-Delete-Printer operation (0x4004) removes an existing
702  printer from the system.</P>
703 <H3><A NAME="4_7_1">4.7.1 CUPS-Delete-Printer Request</A></H3>
704 <P>The following groups of attributes are supplied as part of the
705  CUPS-Delete-Printer request:</P>
706 <P>Group 1: Operation Attributes</P>
707 <UL>
708 <P>Natural Language and Character Set:</P>
709 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
710  as described in section of the IPP Model and Semantics
711  document.</P>
712 <P>&quot;printer-uri&quot; (uri):</P>
713 <P>The client MUST supply a URI for the specified printer.</P>
714 </UL>
715 <H3><A NAME="4_7_2">4.7.2 CUPS-Delete-Printer Response</A></H3>
716 <P>The following groups of attributes are send as part of the
717  CUPS-Delete-Printer Response:</P>
718 <P>Group 1: Operation Attributes</P>
719 <UL>
720 <P>Status Message:</P>
721 <P>The standard response status message.</P>
722 <P>Natural Language and Character Set:</P>
723 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
724  as described in section of the IPP Model and Semantics
725  document.</P>
726 </UL>
727 <H2><A NAME="4_8">4.8 CUPS-Get-Classes Operation</A></H2>
728 <P>The CUPS-Get-Classes operation (0x4005) returns the printer
729  attributes for every printer class known to the system. This may
730  include printer classes that are not served directly by the server.</P>
731 <H3><A NAME="4_8_1">4.8.1 CUPS-Get-Classes Request</A></H3>
732 <P>The following groups of attributes are supplied as part of the
733  CUPS-Get-Classes request:</P>
734 <P>Group 1: Operation Attributes</P>
735 <UL>
736 <P>Natural Language and Character Set:</P>
737 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
738  as described in section of the IPP Model and Semantics
739  document.</P>
740 <P>&quot;limit&quot; (integer (1:MAX)):</P>
741 <P>The client OPTIONALLY supplies this attribute limiting the number of
742  printer classes that are returned.</P>
743 <P>&quot;printer-info&quot; (text(127)):</P>
744 <P><I>(CUPS 1.1 and higher)</I></P>
745 <P>The client OPTIONALLY supplies this attribute to select which printer
746  classes are returned.</P>
747 <P>&quot;printer-location&quot; (text(127)):</P>
748 <P><I>(CUPS 1.1 and higher)</I></P>
749 <P>The client OPTIONALLY supplies this attribute to select which printer
750  classes are returned.</P>
751 <P>&quot;printer-type&quot; (type2 enum):</P>
752 <P><I>(CUPS 1.1 and higher)</I></P>
753 <P>The client OPTIONALLY supplies a printer type enumeration to select
754  which printer classes are returned.</P>
755 <P>&quot;printer-type-mask&quot; (type2 enum):</P>
756 <P><I>(CUPS 1.1 and higher)</I></P>
757 <P>The client OPTIONALLY supplies a printer type mask enumeration to
758  select which bits are used in the &quot;printer-type&quot; attribute.</P>
759 <P>&quot;requested-attributes&quot; (1setOf keyword) :</P>
760 <P>The client OPTIONALLY supplies a set of attribute names and/or
761  attribute group names in whose values the requester is interested. If
762  the client omits this attribute, the server responds as if this
763  attribute had been supplied with a value of 'all'.</P>
764 </UL>
765 <H3><A NAME="4_8_2">4.8.2 CUPS-Get-Classes Response</A></H3>
766 <P>The following groups of attributes are send as part of the
767  CUPS-Get-Classes Response:</P>
768 <P>Group 1: Operation Attributes</P>
769 <UL>
770 <P>Status Message:</P>
771 <P>The standard response status message.</P>
772 <P>Natural Language and Character Set:</P>
773 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
774  as described in section of the IPP Model and Semantics
775  document.</P>
776 </UL>
777 <P>Group 2: Printer Class Object Attributes</P>
778 <UL>
779 <P>The set of requested attributes and their current values for each
780  printer class.</P>
781 </UL>
782 <H2><A NAME="4_9">4.9 CUPS-Add-Modify-Class Operation</A></H2>
783 <P>The CUPS-Add-Modify-Class operation (0x4006) adds a new printer class
784  or modifies and existing printer class on the system.</P>
785 <H3><A NAME="4_9_1">4.9.1 CUPS-Add-Modify-Class Request</A></H3>
786 <P>The following groups of attributes are supplied as part of the
787  CUPS-Add-Modify-Class request:</P>
788 <P>Group 1: Operation Attributes</P>
789 <UL>
790 <P>Natural Language and Character Set:</P>
791 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
792  as described in section of the IPP Model and Semantics
793  document.</P>
794 <P>&quot;printer-uri&quot; (uri):</P>
795 <P>The client MUST supply a URI for the specified printer class.</P>
796 </UL>
797 <P>Group 2: Printer Object Attributes</P>
798 <UL>
799 <P>&quot;member-uris&quot; (1setof uri):</P>
800 <P>The client OPTIONALLY supplies the &quot;member-uris&quot; set specifying the
801  printers and printer classes that are part of the class.</P>
802 <P>&quot;printer-is-accepting-jobs&quot; (boolean):</P>
803 <P>The client OPTIONALLY supplies this boolean attribute indicating
804  whether or not the class object should accept new jobs.</P>
805 <P>&quot;printer-info&quot; (text(127)):</P>
806 <P>The client OPTIONALLY supplies this attribute indicating the printer
807  information string.</P>
808 <P>&quot;printer-location&quot; (text(127)):</P>
809 <P>The client OPTIONALLY supplies this attribute indicating a textual
810  location of the class.</P>
811 <P>&quot;printer-more-info&quot; (uri):</P>
812 <P>The client OPTIONALLY supplies this attribute indicating a URI for
813  additional class information.</P>
814 <P>&quot;printer-state&quot; (type2 enum):</P>
815 <P>The client OPTIONALLY supplies this attribute indicating the
816  initial/current state of the class. Only the &quot;idle&quot; and &quot;stopped&quot;
817  enumerations are recognized.</P>
818 <P>&quot;printer-state-message&quot; (text(MAX)):</P>
819 <P>The client OPTIONALLY supplies this attribute indicating a textual
820  reason for the current class state.</P>
821 <P>&quot;requesting-user-name-allowed&quot; (1setof name(127))</P>
822 <P><I>OR</I></P>
823 <P>&quot;requesting-user-name-denied&quot; (1setof name(127)):</P>
824 <P>The client OPTIONALLY supplies one of these attributes to specify an
825  access control list for incoming print jobs. To allow all users access
826  to a class, use the delete tag for the attribute value.</P>
827 </UL>
828 <H3><A NAME="4_9_2">4.9.2 CUPS-Add-Modify-Class Response</A></H3>
829 <P>The following groups of attributes are send as part of the
830  CUPS-Add-Modify-Class Response:</P>
831 <P>Group 1: Operation Attributes</P>
832 <UL>
833 <P>Status Message:</P>
834 <P>The standard response status message.</P>
835 <P>Natural Language and Character Set:</P>
836 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
837  as described in section of the IPP Model and Semantics
838  document.</P>
839 </UL>
840 <H2><A NAME="4_10">4.10 CUPS-Delete-Class Operation</A></H2>
841 <P>The CUPS-Delete-Class operation (0x4007) removes an existing printer
842  class from the system.</P>
843 <H3><A NAME="4_10_1">4.10.1 CUPS-Delete-Class Request</A></H3>
844 <P>The following groups of attributes are supplied as part of the
845  CUPS-Delete-Class request:</P>
846 <P>Group 1: Operation Attributes</P>
847 <UL>
848 <P>Natural Language and Character Set:</P>
849 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
850  as described in section of the IPP Model and Semantics
851  document.</P>
852 <P>&quot;printer-uri&quot; (uri):</P>
853 <P>The client MUST supply a URI for the specified printer class.</P>
854 </UL>
855 <H3><A NAME="4_10_2">4.10.2 CUPS-Delete-Class Response</A></H3>
856 <P>The following groups of attributes are send as part of the
857  CUPS-Delete-Class Response:</P>
858 <P>Group 1: Operation Attributes</P>
859 <UL>
860 <P>Status Message:</P>
861 <P>The standard response status message.</P>
862 <P>Natural Language and Character Set:</P>
863 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
864  as described in section of the IPP Model and Semantics
865  document.</P>
866 </UL>
867 <H2><A NAME="4_11">4.11 CUPS-Accept-Jobs Operation</A></H2>
868 <P>The CUPS-Accept-Jobs operation (0x4008) sets the
869  &quot;printer-is-accepting-jobs&quot; attribute to true for the specified printer
870  or printer class.</P>
871 <H3><A NAME="4_11_1">4.11.1 CUPS-Accept-Jobs Request</A></H3>
872 <P>The following groups of attributes are supplied as part of the
873  CUPS-Accept-Jobs request:</P>
874 <P>Group 1: Operation Attributes</P>
875 <UL>
876 <P>Natural Language and Character Set:</P>
877 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
878  as described in section of the IPP Model and Semantics
879  document.</P>
880 <P>&quot;printer-uri&quot; (uri):</P>
881 <P>The client MUST supply a URI for the specified printer or printer
882  class.</P>
883 </UL>
884 <H3><A NAME="4_11_2">4.11.2 CUPS-Accept-Jobs Response</A></H3>
885 <P>The following groups of attributes are send as part of the
886  CUPS-Accept-Jobs Response:</P>
887 <P>Group 1: Operation Attributes</P>
888 <UL>
889 <P>Status Message:</P>
890 <P>The standard response status message.</P>
891 <P>Natural Language and Character Set:</P>
892 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
893  as described in section of the IPP Model and Semantics
894  document.</P>
895 </UL>
896 <H2><A NAME="4_12">4.12 CUPS-Reject-Jobs Operation</A></H2>
897 <P>The CUPS-Reject-Jobs operation (0x4009) sets
898  the&quot;printer-is-accepting-jobs&quot; attribute to false for the specified
899  printer or printer class.</P>
900 <H3><A NAME="4_12_1">4.12.1 CUPS-Reject-Jobs Request</A></H3>
901 <P>The following groups of attributes are supplied as part of the
902  CUPS-Reject-Jobs request:</P>
903 <P>Group 1: Operation Attributes</P>
904 <UL>
905 <P>Natural Language and Character Set:</P>
906 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
907  as described in section of the IPP Model and Semantics
908  document.</P>
909 <P>&quot;printer-uri&quot; (uri):</P>
910 <P>The client MUST supply a URI for the specified printer or printer
911  class.</P>
912 </UL>
913 <P>Group 2: Printer Object Attributes</P>
914 <UL>
915 <P>&quot;printer-state-message&quot; (text(MAX)):</P>
916 <P>The client OPTIONALLY supplies this attribute indicating a textual
917  reason for the current printer state.</P>
918 </UL>
919 <H3><A NAME="4_12_2">4.12.2 CUPS-Reject-Jobs Response</A></H3>
920 <P>The following groups of attributes are send as part of the
921  CUPS-Reject-Jobs Response:</P>
922 <P>Group 1: Operation Attributes</P>
923 <UL>
924 <P>Status Message:</P>
925 <P>The standard response status message.</P>
926 <P>Natural Language and Character Set:</P>
927 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
928  as described in section of the IPP Model and Semantics
929  document.</P>
930 </UL>
931 <H2><A NAME="4_13">4.13 CUPS-Set-Default Operation</A></H2>
932 <P>The CUPS-Set-Default operation (0x400A) sets the default printer
933  destination for all clients when a resource name of &quot;/printers&quot; is
934  specified.</P>
935 <H3><A NAME="4_13_1">4.13.1 CUPS-Set-Default Request</A></H3>
936 <P>The following groups of attributes are supplied as part of the
937  CUPS-Set-Default request:</P>
938 <P>Group 1: Operation Attributes</P>
939 <UL>
940 <P>Natural Language and Character Set:</P>
941 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
942  as described in section of the IPP Model and Semantics
943  document.</P>
944 <P>&quot;printer-uri&quot; (uri):</P>
945 <P>The client MUST supply a URI for the specified printer or printer
946  class.</P>
947 </UL>
948 <H3><A NAME="4_13_2">4.13.2 CUPS-Set-Default Response</A></H3>
949 <P>The following groups of attributes are send as part of the
950  CUPS-Set-Default Response:</P>
951 <P>Group 1: Operation Attributes</P>
952 <UL>
953 <P>Status Message:</P>
954 <P>The standard response status message.</P>
955 <P>Natural Language and Character Set:</P>
956 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
957  as described in section of the IPP Model and Semantics
958  document.</P>
959 </UL>
960 <H2><A NAME="4_14">4.14 CUPS-Get-Devices Operation</A></H2>
961 <P>The CUPS-Get-Devices operation (0x400B) returns all of the supported
962  device-uri's for the server (CUPS 1.1 and higher).</P>
963 <H3><A NAME="4_14_1">4.14.1 CUPS-Get-Devices Request</A></H3>
964 <P>The following groups of attributes are supplied as part of the
965  CUPS-Get-Devices request:</P>
966 <P>Group 1: Operation Attributes</P>
967 <UL>
968 <P>Natural Language and Character Set:</P>
969 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
970  as described in section of the IPP Model and Semantics
971  document.</P>
972 <P>&quot;device-class&quot; (type1 keyword):</P>
973 <P>The client OPTIONALLY supplies a device class keyword to select which
974  devices are returned.</P>
975 <P>&quot;limit&quot; (integer (1:MAX)):</P>
976 <P>The client OPTIONALLY supplies this attribute limiting the number of
977  devices that are returned.</P>
978 <P>&quot;requested-attributes&quot; (1setOf keyword) :</P>
979 <P>The client OPTIONALLY supplies a set of attribute names and/or
980  attribute group names in whose values the requester is interested. If
981  the client omits this attribute, the server responds as if this
982  attribute had been supplied with a value of 'all'.</P>
983 </UL>
984 <H3><A NAME="4_14_2">4.14.2 CUPS-Get-Devices Response</A></H3>
985 <P>The following groups of attributes are send as part of the
986  CUPS-Get-Devices Response:</P>
987 <P>Group 1: Operation Attributes</P>
988 <UL>
989 <P>Status Message:</P>
990 <P>The standard response status message.</P>
991 <P>Natural Language and Character Set:</P>
992 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
993  as described in section of the IPP Model and Semantics
994  document.</P>
995 </UL>
996 <P>Group 2: Device Object Attributes</P>
997 <UL>
998 <P>The set of requested attributes and their current values for each
999  device.</P>
1000 </UL>
1001 <H2><A NAME="4_15">4.15 CUPS-Get-PPDs Operation</A></H2>
1002 <P>The CUPS-Get-PPDs operation (0x400C) returns all of the locally
1003  available PPD files on the system (CUPS 1.1 and higher).</P>
1004 <H3><A NAME="4_15_1">4.15.1 CUPS-Get-PPDs Request</A></H3>
1005 <P>The following groups of attributes are supplied as part of the
1006  CUPS-Get-PPDs request:</P>
1007 <P>Group 1: Operation Attributes</P>
1008 <UL>
1009 <P>Natural Language and Character Set:</P>
1010 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
1011  as described in section of the IPP Model and Semantics
1012  document.</P>
1013 <P>&quot;limit&quot; (integer (1:MAX)):</P>
1014 <P>The client OPTIONALLY supplies this attribute limiting the number of
1015  PPDs that are returned.</P>
1016 <P>&quot;ppd-make&quot; (text(127)):</P>
1017 <P>The client OPTIONALLY supplies a printer manufacturer to select which
1018  PPDs are returned.</P>
1019 <P>&quot;requested-attributes&quot; (1setOf keyword) :</P>
1020 <P>The client OPTIONALLY supplies a set of attribute names and/or
1021  attribute group names in whose values the requester is interested. If
1022  the client omits this attribute, the server responds as if this
1023  attribute had been supplied with a value of 'all'.</P>
1024 </UL>
1025 <H3><A NAME="4_15_2">4.15.2 CUPS-Get-PPDs Response</A></H3>
1026 <P>The following groups of attributes are send as part of the
1027  CUPS-Get-PPDs Response:</P>
1028 <P>Group 1: Operation Attributes</P>
1029 <UL>
1030 <P>Status Message:</P>
1031 <P>The standard response status message.</P>
1032 <P>Natural Language and Character Set:</P>
1033 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
1034  as described in section of the IPP Model and Semantics
1035  document.</P>
1036 </UL>
1037 <P>Group 2: PPD Attributes</P>
1038 <UL>
1039 <P>The set of requested attributes and their current values for each PPD
1040  file.</P>
1041 </UL>
1042 <H2><A NAME="4_16">4.16 CUPS-Move-Job Operation</A></H2>
1043 <P>The CUPS-Move-Job operation (0x400D) moves an active print job to a
1044  different printer (CUPS 1.1 and higher).</P>
1045 <H3><A NAME="4_16_1">4.16.1 CUPS-Move-Job Request</A></H3>
1046 <P>The following groups of attributes are supplied as part of the
1047  CUPS-Move-Job request:</P>
1048 <P>Group 1: Operation Attributes</P>
1049 <UL>
1050 <P>Natural Language and Character Set:</P>
1051 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
1052  as described in section of the IPP Model and Semantics
1053  document.</P>
1054 <P>&quot;printer-uri&quot; (uri) and &quot;job-id&quot; (integer)</P>
1055 <P><I>OR</I></P>
1056 <P>&quot;job-uri&quot;:</P>
1057 <P>The client MUST supply a URI for the specified printer and a job ID
1058  number, or the job URI.</P>
1059 </UL>
1060 <P>Group 2: Job Template Attributes</P>
1061 <UL>
1062 <P>&quot;job-printer-uri&quot; (uri)</P>
1063 <P>The client MUST supply a URI for a printer on the same server.</P>
1064 </UL>
1065 <H3><A NAME="4_16_2">4.16.2 CUPS-Move-Job Response</A></H3>
1066 <P>The following groups of attributes are send as part of the
1067  CUPS-Move-Job Response:</P>
1068 <P>Group 1: Operation Attributes</P>
1069 <UL>
1070 <P>Status Message:</P>
1071 <P>The standard response status message.</P>
1072 <P>Natural Language and Character Set:</P>
1073 <P>The &quot;attributes-charset&quot; and &quot;attributes-natural-language&quot; attributes
1074  as described in section of the IPP Model and Semantics
1075  document.</P>
1076 </UL>
1077 <H1><A NAME="5">5 Attributes</A></H1>
1078 <P>CUPS provides many extension attributes to support multiple devices,
1079  PPD files, standard job filters, printers, and printer classes.</P>
1080 <H2><A NAME="5_1">5.1 Device Attributes</A></H2>
1081 <P>Device attributes are returned by the CUPS-Get-Devices operation and
1082  enumerate all of the available hardware devices and network protocols
1083  that are supported by the server.</P>
1084 <H3><A NAME="5_1_1">5.1.1 device-class (type2 keyword)</A></H3>
1085 <P>The device-class attribute specifies the class of device and can be
1086  one of the following:</P>
1087 <UL>
1088 <LI>&quot;file&quot; - a disk file.</LI>
1089 <LI>&quot;direct&quot; - a parallel or fixed-rate serial data port, currently used
1090  for Centronics, IEEE-1284, and USB printer ports.</LI>
1091 <LI>&quot;serial&quot; - a variable-rate serial port.</LI>
1092 <LI>&quot;network&quot; - a network connection, typically via AppSocket, HTTP,
1093  IPP, LPD, or SMB/CIFS protocols.</LI>
1094 </UL>
1095 <H3><A NAME="5_1_2">5.1.2 device-info (text(127))</A></H3>
1096 <P>The device-info attribute specifies a human-readable string
1097  describing the device, e.g. &quot;Parallel Port #1&quot;.</P>
1098 <H3><A NAME="5_1_3">5.1.3 device-make-and-model (text(127))</A></H3>
1099 <P>The device-makr-and-model attribute specifies a device identification
1100  string provided by the printer connected to the device. If the device
1101  or printer does not support identification then this attribute contains
1102  the string &quot;unknown&quot;.</P>
1103 <H3><A NAME="5_1_4">5.1.4 device-uri (uri)</A></H3>
1104 <P>The device-uri attribute specifies a unique identifier for the
1105  device. The actual format of the device-uri string depends on the value
1106  of the device-class attribute:</P>
1107 <UL>
1108 <LI>&quot;file&quot; - The device-uri will be of the form
1109  &quot;file:/path/to/filename&quot;.</LI>
1110 <LI>&quot;direct&quot; - The device-uri will be of the form
1111  &quot;method:/dev/filename&quot;, where method may be &quot;parallel&quot; or &quot;usb&quot; in the
1112  current implementation.</LI>
1113 <LI>&quot;serial&quot; - The device-uri will be of the form
1114  &quot;serial:/dev/filename?baud=value+parity=value+flow=value&quot;. The baud
1115  value is the data rate in bits per second; the supported values depend
1116  on the underlying hardware. The parity value can be one of &quot;none&quot;,
1117  &quot;even&quot;, or &quot;odd&quot;. The flow value can be one of &quot;none&quot;, &quot;soft&quot; (XON/XOFF
1118  handshaking), &quot;hard&quot; or &quot;rts/cts&quot; (RTS/CTS handshaking), or &quot;dtrdsr&quot;
1119  (DTR/DSR handshaking).
1120 <P>The URI returned by CUPS-Get-Devices will contain the maximum baud
1121  rate supported by the device and the best type of flow control
1122  available (&quot;soft&quot; or &quot;hard&quot;).</P>
1123 <LI>&quot;network&quot; - The device-uri will be of the form
1124  &quot;method://[username:password@]hostname[:port]/[resource]&quot;, where method
1125  may be &quot;http&quot;, &quot;ipp&quot;, &quot;lpd&quot;, &quot;smb&quot;, or &quot;socket&quot; in the current
1126  implementation.
1127 <P>The URI returned by CUPS-Get-Devices will only contain the method
1128  name followed by two slashes (&quot;method://&quot;). It is up to the client
1129  application to add the appropriate host and other information when
1130  adding a new printer.</P>
1131 <P>The URI returned by Get-Printer-Attributes and CUPS-Get-Printers has
1132  any username and password information stripped; the information is
1133  still stored and used by the server internally to perform any needed
1134  authentication.</P>
1135 </LI>
1136 </LI>
1137 </UL>
1138 <H2><A NAME="5_2">5.2 Job Template Attributes</A></H2>
1139 <H3><A NAME="5_2_1">5.2.1 blackplot (boolean)</A></H3>
1140 <P>The blackplot attribute specifies whether HP-GL/2 plot files should
1141  be rendered entirely in black ink (blackplot=true) or using the colors
1142  and shades specified in the file (blackplot=false). The default value
1143  is false.</P>
1144 <H3><A NAME="5_2_2">5.2.2 brightness (integer(0:200))</A></H3>
1145 <P>The brightness attribute specifies the overall brightness of the
1146  printed output in percent. A brightness of 100 is normal, while 200 is
1147  twice as bright and 50 is half as bright. The default value is 100.</P>
1148 <P>Brightness is applied to the Cyan, Magenta, Yellow, and Black values
1149  using the function &quot;f(x) = brightness / 100 * x&quot;.</P>
1150 <H3><A NAME="5_2_3">5.2.3 columns (integer(1:4))</A></H3>
1151 <P>The columns attribute specifies the number of columns to generate
1152  when printing text files. The default value is 1.</P>
1153 <H3><A NAME="5_2_4">5.2.4 cpi (type2 enum)</A></H3>
1154 <P>The cpi attribute specifies the number of characters per inch when
1155  printing text files. Only the values 10, 12, and 17 are currently
1156  supported. The default value is 10.</P>
1157 <H3><A NAME="5_2_5">5.2.5 fitplot (boolean)</A></H3>
1158 <P>The fitplot attribute specifies whether to scale HP-GL/2 plot files
1159  to fit on the selected media (fitplot=true) or use the physical scale
1160  specified in the plot file (fitplot=false). The default value is false.</P>
1161 <H3><A NAME="5_2_6">5.2.6 gamma (integer(1:10000))</A></H3>
1162 <P>The gamma attribute specifies the luminance correction for the
1163  output. A value of 1000 specifies no correction, while values of 2000
1164  and 500 will generate lighter and darker output, respectively. The
1165  default value is 1000.</P>
1166 <P>Gamma is applied to the Red, Green, and Blue values (or luminance for
1167  grayscale output) using the function &quot;f(x) = x<SUP>(1000/gamma)</SUP>&quot;.</P>
1168 <H3><A NAME="5_2_7">5.2.7 hue (integer(-180:180))</A></H3>
1169 <P>The hue attribute specifies a color hue rotation when printing image
1170  files. The default value is 0.</P>
1171 <H3><A NAME="5_2_8">5.2.8 job-billing (text(MAX))</A></H3>
1172 <P><I>(CUPS 1.1 and higher)</I></P>
1173 <P>The job-billing attribute provides a text value to associate with a
1174  job for billing purposes.</P>
1175 <H3><A NAME="5_2_9">5.2.9 job-hold-until (keyword | name(MAX))</A></H3>
1176 <P><I>(CUPS 1.1 and higher)</I></P>
1177 <P>The job-hold-until attribute specifies a hold time. In addition to
1178  the standard IPP/1.1 keyword names, CUPS supports name values of the
1179  form &quot;HH:MM&quot; and &quot;HH:MM:SS&quot; that specify a hold time. The hold time is
1180  in Greenwich Mean Time (GMT) and<I> not</I> in the local time zone. If
1181  the specified time is less than the current time, the job is held until
1182  the next day.</P>
1183 <H3><A NAME="5_2_10">5.2.10 job-sheets (1setof type3 keyword |
1184  name(MAX))</A></H3>
1185 <P><I>(CUPS 1.1 and higher)</I></P>
1186 <P>The job-sheets attribute specifies one or two banner files that are
1187  printed before and after a job. The reserved value of &quot;none&quot; disables
1188  banner printing. The default value is stored in the job-sheets-default
1189  attribute.</P>
1190 <P>If only one value is supplied, the banner file is printed before the
1191  job. If two values are supplied, the first value is used as the
1192  starting banner file and the second as the ending banner file.</P>
1193 <H3><A NAME="5_2_11">5.2.11 job-originating-host-name (name(MAX))</A></H3>
1194 <P><I>(CUPS 1.1.5 and higher)</I></P>
1195 <P>The job-originating-host-name attribute specifies the host from which
1196  the job was queued. The value will be the hostname or IP address of the
1197  client depending on whether hostname resolution is enabled. The
1198  localhost address ( is<B> always</B> resolved to the name
1199  &quot;localhost&quot;.</P>
1200 <P>This attribute is read-only.</P>
1201 <H3><A NAME="5_2_12">5.2.12 lpi (type2 enum)</A></H3>
1202 <P>The lpi attribute specifies the number of lines per inch when
1203  printing text files. Only the values 6 and 8 are currently supported.
1204  The default value is 6.</P>
1205 <H3><A NAME="5_2_13">5.2.13 natural-scaling (integer(1:1000))</A></H3>
1206 <P><I>(CUPS 1.1.9 and higher)</I></P>
1207 <P>The natural-scaling attribute specifies the scaling of image files
1208  with respect to the natural image size. A value of 100 specifies that
1209  the image file should exactly the natural size, while 50 is half the
1210  natural size and 200 is twice the natural size. The default value is
1211  100.</P>
1212 <P>The ppi option can be used to override the natural resolution of the
1213  image, which controls the natural size.</P>
1214 <H3><A NAME="5_2_14">5.2.14 number-up-layout (type2 keyword)</A></H3>
1215 <P><I>(CUPS 1.1.15 and higher)</I></P>
1216 <P>The number-up-layout attribute specifies the order each input page is
1217  placed on each output page. The following keywords are presently
1218  defined:</P>
1219 <UL>
1220 <LI><CODE>btlr</CODE> - Bottom to top, left to right</LI>
1221 <LI><CODE>btrl</CODE> - Bottom to top, right to left</LI>
1222 <LI><CODE>lrbt</CODE> - Left to right, bottom to top</LI>
1223 <LI><CODE>lrtb</CODE> - Left to right, top to bottom (default)</LI>
1224 <LI><CODE>rlbt</CODE> - Right to left, bottom to top</LI>
1225 <LI><CODE>rltb</CODE> - Right to left, top to bottom</LI>
1226 <LI><CODE>tblr</CODE> - Top to bottom, left to right</LI>
1227 <LI><CODE>tbrl</CODE> - Top to bottom, right to left</LI>
1228 </UL>
1229 <H3><A NAME="5_2_15">5.2.15 page-border (type2 keyword)</A></H3>
1230 <P><I>(CUPS 1.1.15 and higher)</I></P>
1231 <P>The page-border attribute specifies whether a border is draw around
1232  each page. The following keywords are presently defined:</P>
1233 <UL>
1234 <LI><CODE>double</CODE> - Two hairline borders are drawn</LI>
1235 <LI><CODE>double-thick</CODE> - Two 1pt borders are drawn</LI>
1236 <LI><CODE>none</CODE> - No border is drawn (default)</LI>
1237 <LI><CODE>single</CODE> - A single hairline border is drawn</LI>
1238 <LI><CODE>single-thick</CODE> - A single 1pt border is drawn</LI>
1239 </UL>
1240 <H3><A NAME="5_2_16">5.2.16 page-bottom (integer(0:MAX))</A></H3>
1241 <P>The page-bottom attribute specifies the bottom margin in points (72
1242  points equals 1 inch). The default value is the device physical margin.</P>
1243 <H3><A NAME="5_2_17">5.2.17 page-label (text(MAX))</A></H3>
1244 <P><I>(CUPS 1.1.7 and higher)</I></P>
1245 <P>The page-label attribute provides a text value to place in the header
1246  and footer on each page. If a classification level is set on the
1247  server, then this classification is printed before the page label.</P>
1248 <H3><A NAME="5_2_18">5.2.18 page-left (integer(0:MAX))</A></H3>
1249 <P>The page-left attribute specifies the left margin in points (72
1250  points equals 1 inch). The default value is the device physical margin.</P>
1251 <H3><A NAME="5_2_19">5.2.19 page-right (integer(0:MAX))</A></H3>
1252 <P>The page-right attribute specifies the right margin in points (72
1253  points equals 1 inch). The default value is the device physical margin.</P>
1254 <H3><A NAME="5_2_20">5.2.20 page-set (type2 keyword)</A></H3>
1255 <P>The page-set attribute specifies which pages to print in a file. The
1256  supported keywords are &quot;all&quot;, &quot;even&quot;, and &quot;odd&quot;. The default value is
1257  &quot;all&quot;.</P>
1258 <H3><A NAME="5_2_21">5.2.21 page-top (integer(0:MAX))</A></H3>
1259 <P>The page-top attribute specifies the top margin in points (72 points
1260  equals 1 inch). The default value is the device physical margin.</P>
1261 <H3><A NAME="5_2_22">5.2.22 penwidth (integer(0:MAX))</A></H3>
1262 <P>The penwidth attribute specifies the default pen width in micrometers
1263  when printing HP-GL/2 plot files. The default value is 1000 (1
1264  millimeter).</P>
1265 <H3><A NAME="5_2_23">5.2.23 position (type2 keyword)</A></H3>
1266 <P>The position attribute specifies the location of image files on the
1267  media. The following keyword values are recognized:</P>
1268 <UL>
1269 <LI><CODE>center</CODE> - Center the image on the page (default)</LI>
1270 <LI><CODE>top</CODE> - Print the image centered at the top of the page</LI>
1271 <LI><CODE>left</CODE> - Print the image centered on the left of page</LI>
1272 <LI><CODE>right</CODE> - Print the image centered on the right of the
1273  page</LI>
1274 <LI><CODE>top-left</CODE> - Print the image at the top left corner of
1275  the page</LI>
1276 <LI><CODE>top-right</CODE> - Print the image at the top right corner of
1277  the page</LI>
1278 <LI><CODE>bottom</CODE> - Print the image centered at the bottom of the
1279  page</LI>
1280 <LI><CODE>bottom-left</CODE> - Print the image at the bottom left corner
1281  of the page</LI>
1282 <LI><CODE>bottom-right</CODE> - Print the image at the bottom right
1283  corner of the page</LI>
1284 </UL>
1285 <H3><A NAME="5_2_24">5.2.24 ppi (integer(1:MAX))</A></H3>
1286 <P>The ppi attribute specifies the resolution of an image file in pixels
1287  per inch. The default value is the resolution included with the file or
1288  128 if no resolution information is available.</P>
1289 <H3><A NAME="5_2_25">5.2.25 prettyprint (boolean)</A></H3>
1290 <P>The prettyprint attribute specifies whether text files should be
1291  printed with a shaded header and keyword highlighting
1292  (prettyprint=true) or without additional formatting
1293  (prettyprint=false). The default value is false.</P>
1294 <H3><A NAME="5_2_26">5.2.26 saturation (integer(0:200))</A></H3>
1295 <P>The saturation attribute specifies the color saturation when printing
1296  image files. A saturation of 100 is normal, while values of 50 and 200
1297  will be half and twice as colorful, respectively. The default value is
1298  100.</P>
1299 <H3><A NAME="5_2_27">5.2.27 scaling (integer(1:1000))</A></H3>
1300 <P>The scaling attribute specifies the scaling of image files with
1301  respect to the selected media. A value of 100 specifies that the image
1302  file should fit 100% of the page, or as much as possible given the
1303  image dimensions. The default value is unspecified.</P>
1304 <P>The scaling attribute overrides the ppi attribute if specified.</P>
1305 <H3><A NAME="5_2_28">5.2.28 wrap (boolean)</A></H3>
1306 <P>The wrap attribute specifies whether long lines should be wrapped
1307  (wrap=true) or not (wrap=false) when printing text files. The default
1308  value is true.</P>
1309 <H2><A NAME="5_3">5.3 PPD Attributes</A></H2>
1310 <H3><A NAME="5_3_1">5.3.1 ppd-natural-language (naturalLanguage)</A></H3>
1311 <P>The ppd-natural-language attribute specifies the language encoding of
1312  the PPD file (the LanguageVersion attribute in the PPD file). If the
1313  language is unknown or undefined then &quot;en&quot; (English) is assumed.</P>
1314 <H3><A NAME="5_3_2">5.3.2 ppd-make (text(127))</A></H3>
1315 <P>The ppd-make attribute specifies the manufacturer of the printer (the
1316  Manufacturer attribute in the PPD file). If the manufacturer is not
1317  specified in the PPD file then an educated guess is made using the
1318  NickName attribute in the PPD file.</P>
1319 <H3><A NAME="5_3_3">5.3.3 ppd-make-and-model (text(127))</A></H3>
1320 <P>The ppd-make-and-model attribute specifies the manufacturer and model
1321  name of the PPD file (the NickName attribute in the PPD file). If the
1322  make and model is not specified in the PPD file then the ModelName or
1323  ShortNickName attributes are used instead.</P>
1324 <H3><A NAME="5_3_4">5.3.4 ppd-name (name(255))</A></H3>
1325 <P>The ppd-name attribute specifies the PPD filename on the server
1326  relative to the model directory. The forward slash (/) is used to
1327  delineate directories.</P>
1328 <H2><A NAME="5_4">5.4 Printer Attributes</A></H2>
1329 <H3><A NAME="5_4_1">5.4.1 job-k-limit (integer)</A></H3>
1330 <P><I>(CUPS 1.1 and higher)</I></P>
1331 <P>The job-k-limit attribute specifies the maximum number of kilobytes
1332  that may be printed by a user, including banner files. The default
1333  value of 0 specifies that there is no limit.</P>
1334 <H3><A NAME="5_4_2">5.4.2 job-page-limit (integer)</A></H3>
1335 <P><I>(CUPS 1.1 and higher)</I></P>
1336 <P>The job-page-limit attribute specifies the maximum number of pages
1337  that may be printed by a user, including banner files. The default
1338  value of 0 specifies that there is no limit.</P>
1339 <H3><A NAME="5_4_3">5.4.3 job-quota-period (integer)</A></H3>
1340 <P><I>(CUPS 1.1 and higher)</I></P>
1341 <P>The job-quota-period attribute specifies the time period used for
1342  quota calculations, in seconds. The default value of 0 specifies that
1343  the limits apply to all jobs that have been printed by a user that are
1344  still known to the system.</P>
1345 <H3><A NAME="5_4_4">5.4.4 job-sheets-supported (1setof type3 keyword |
1346  name(MAX))</A></H3>
1347 <P><I>(CUPS 1.1 and higher)</I></P>
1348 <P>The job-sheets-supported attribute specifies the available banner
1349  files. There will always be at least one banner file available called
1350  &quot;none&quot;.</P>
1351 <H3><A NAME="5_4_5">5.4.5 printer-type (type2 enum)</A></H3>
1352 <P>The printer-type attribute specifies printer type and capability bits
1353  for the printer or class. The default value is computed from internal
1354  state information and the PPD file for the printer. The following bits
1355  are defined:
1356 <CENTER>
1358 <TR><TH>Bit</TH><TH>Description</TH></TR>
1359 <TR><TD VALIGN="TOP">0x00000001</TD><TD VALIGN="TOP">Is a printer class.</TD>
1360 </TR>
1361 <TR><TD VALIGN="TOP">0x00000002</TD><TD VALIGN="TOP">Is a remote
1362  destination.</TD></TR>
1363 <TR><TD VALIGN="TOP">0x00000004</TD><TD VALIGN="TOP">Can print in black.</TD>
1364 </TR>
1365 <TR><TD VALIGN="TOP">0x00000008</TD><TD VALIGN="TOP">Can print in color.</TD>
1366 </TR>
1367 <TR><TD VALIGN="TOP">0x00000010</TD><TD VALIGN="TOP">Can print on both
1368  sides of the page in hardware.</TD></TR>
1369 <TR><TD VALIGN="TOP">0x00000020</TD><TD VALIGN="TOP">Can staple output.</TD>
1370 </TR>
1371 <TR><TD VALIGN="TOP">0x00000040</TD><TD VALIGN="TOP">Can do fast copies
1372  in hardware.</TD></TR>
1373 <TR><TD VALIGN="TOP">0x00000080</TD><TD VALIGN="TOP">Can do fast copy
1374  collation in hardware.</TD></TR>
1375 <TR><TD VALIGN="TOP">0x00000100</TD><TD VALIGN="TOP">Can punch output.</TD>
1376 </TR>
1377 <TR><TD VALIGN="TOP">0x00000200</TD><TD VALIGN="TOP">Can cover output.</TD>
1378 </TR>
1379 <TR><TD VALIGN="TOP">0x00000400</TD><TD VALIGN="TOP">Can bind output.</TD>
1380 </TR>
1381 <TR><TD VALIGN="TOP">0x00000800</TD><TD VALIGN="TOP">Can sort output.</TD>
1382 </TR>
1383 <TR><TD VALIGN="TOP">0x00001000</TD><TD VALIGN="TOP">Can handle media up
1384  to US-Legal/A4.</TD></TR>
1385 <TR><TD VALIGN="TOP">0x00002000</TD><TD VALIGN="TOP">Can handle media
1386  from US-Legal/A4 to ISO-C/A2.</TD></TR>
1387 <TR><TD VALIGN="TOP">0x00004000</TD><TD VALIGN="TOP">Can handle media
1388  larger than ISO-C/A2.</TD></TR>
1389 <TR><TD VALIGN="TOP">0x00008000</TD><TD VALIGN="TOP">Can handle
1390  user-defined media sizes.</TD></TR>
1391 <TR><TD VALIGN="TOP">0x00010000</TD><TD VALIGN="TOP">Is an implicit
1392  (server-generated) class.</TD></TR>
1393 </TABLE>
1394 </CENTER>
1395 </P>
1396 <H3><A NAME="5_4_6">5.4.6 printer-type-mask (type2 enum)</A></H3>
1397 <P><I>(CUPS 1.1 and higher)</I></P>
1398 <P>The printer-type-mask attribute is used to choose printers or classes
1399  with the CUPS-Get-Printers and CUPS-Get-Classes operations. The bits
1400  are defined identically to the printer-type attribute and default to
1401  all 1's.</P>
1402 <H3><A NAME="5_4_7">5.4.7 requesting-user-name-allowed (1setof
1403  name(127))</A></H3>
1404 <P><I>(CUPS 1.1 and higher)</I></P>
1405 <P>The requesting-user-name-allowed attribute lists all of the users
1406  that are allowed to access a printer or class. Either this attribute or
1407  the requesting-user-name-denied attribute will be defined, but not
1408  both.</P>
1409 <H3><A NAME="5_4_8">5.4.8 requesting-user-name-denied (1setof name(127))</A>
1410 </H3>
1411 <P><I>(CUPS 1.1 and higher)</I></P>
1412 <P>The requesting-user-name-denied attribute lists all of the users that
1413  are not allowed to access a printer or class. Either this attribute or
1414  the requesting-user-name-allowed attribute will be defined, but not
1415  both.</P>
1416 <H2><A NAME="5_5">5.5 Printer Class Attributes</A></H2>
1417 <H3><A NAME="5_5_1">5.5.1 member-names (1setof name(127))</A></H3>
1418 <P>The member-names attribute specifies each of the printer-name
1419  attributes of the member printers and classes. Each name corresponds to
1420  the same element of the member-uris attribute.</P>
1421 <H3><A NAME="5_5_2">5.5.2 member-uris (1setof uri)</A></H3>
1422 <P>The member-uris attribute specifies each of the printer-uri
1423  attributes of the member printers and classes. Each URI corresponds to
1424  the same element of the member-names attribute.</P>
1425 <H1 TYPE="A" VALUE="1"><A NAME="6">A Glossary</A></H1>
1426 <H2><A NAME="6_1">A.1 Terms</A></H2>
1427 <DL>
1428 <DT>C</DT>
1429 <DD>A computer language.</DD>
1430 <DT>parallel</DT>
1431 <DD>Sending or receiving data more than 1 bit at a time.</DD>
1432 <DT>pipe</DT>
1433 <DD>A one-way communications channel between two programs.</DD>
1434 <DT>serial</DT>
1435 <DD>Sending or receiving data 1 bit at a time.</DD>
1436 <DT>socket</DT>
1437 <DD>A two-way network communications channel.</DD>
1438 </DL>
1439 <H2><A NAME="6_2">A.2 Acronyms</A></H2>
1440 <DL>
1441 <DT>ASCII</DT>
1442 <DD>American Standard Code for Information Interchange</DD>
1443 <DT>CUPS</DT>
1444 <DD>Common UNIX Printing System</DD>
1445 <DT>ESC/P</DT>
1446 <DD>EPSON Standard Code for Printers</DD>
1447 <DT>FTP</DT>
1448 <DD>File Transfer Protocol</DD>
1449 <DT>HP-GL</DT>
1450 <DD>Hewlett-Packard Graphics Language</DD>
1451 <DT>HP-PCL</DT>
1452 <DD>Hewlett-Packard Page Control Language</DD>
1453 <DT>HP-PJL</DT>
1454 <DD>Hewlett-Packard Printer Job Language</DD>
1455 <DT>IETF</DT>
1456 <DD>Internet Engineering Task Force</DD>
1457 <DT>IPP</DT>
1458 <DD>Internet Printing Protocol</DD>
1459 <DT>ISO</DT>
1460 <DD>International Standards Organization</DD>
1461 <DT>LPD</DT>
1462 <DD>Line Printer Daemon</DD>
1463 <DT>MIME</DT>
1464 <DD>Multimedia Internet Mail Exchange</DD>
1465 <DT>PPD</DT>
1466 <DD>PostScript Printer Description</DD>
1467 <DT>SMB</DT>
1468 <DD>Server Message Block</DD>
1469 <DT>TFTP</DT>
1470 <DD>Trivial File Transfer Protocol</DD>
1471 </DL>
1472 </BODY>
1473 </HTML>