]> git.ipfire.org Git - thirdparty/cups.git/blame - doc/ipp.html
Load cups into easysw/current.
[thirdparty/cups.git] / doc / ipp.html
CommitLineData
ef416fc2 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"><!--
10BODY { font-family: serif }
11H1 { font-family: sans-serif }
12H2 { font-family: sans-serif }
13H3 { font-family: sans-serif }
14H4 { font-family: sans-serif }
15H5 { font-family: sans-serif }
16H6 { font-family: sans-serif }
17SUB { font-size: smaller }
18SUP { font-size: smaller }
19PRE { 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>
25CUPS-IPP-1.2<BR>
26Easy Software Products<BR>
27Copyright 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">
255Adobe 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">
258Adobe 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>
309<TABLE BORDER WIDTH="80%">
310<TR><TH VALIGN="TOP">Operation Name</TH><TH VALIGN="TOP">CUPS</TH><TH VALIGN="TOP">
311Code</TH><TH VALIGN="TOP">Brief Description</TH></TR>
312<TR><TD VALIGN="TOP">Print-Job</TD><TD VALIGN="TOP">1.0</TD><TD VALIGN="TOP">
3130x0002</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">
3150x0004</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">
3170x0005</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">
3190x0006</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">
3210x0008</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">
3230x0009</TD><TD VALIGN="TOP">Get job attributes.</TD></TR>
324<TR><TD VALIGN="TOP">Get-Jobs</TD><TD VALIGN="TOP">1.0</TD><TD VALIGN="TOP">
3250x000A</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
327VALIGN="TOP">0x000B</TD><TD VALIGN="TOP">Get printer attributes.</TD></TR>
328<TR><TD VALIGN="TOP">Hold-Job</TD><TD VALIGN="TOP">1.2</TD><TD VALIGN="TOP">
3290x000C</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">
3310x000D</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">
3330x0010</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">
3350x0011</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">
3370x0012</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">
3390x0014</TD><TD VALIGN="TOP">Set attributes for a pending or held job.</TD>
340</TR>
341<TR><TD VALIGN="TOP">CUPS-Get-Default</TD><TD VALIGN="TOP">1.0</TD><TD VALIGN="TOP">
3420x4001</TD><TD VALIGN="TOP">Get the default destination.</TD></TR>
343<TR><TD VALIGN="TOP">CUPS-Get-Printers</TD><TD VALIGN="TOP">1.0</TD><TD VALIGN="TOP">
3440x4002</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
346VALIGN="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
348VALIGN="TOP">0x4004</TD><TD VALIGN="TOP">Delete a printer.</TD></TR>
349<TR><TD VALIGN="TOP">CUPS-Get-Classes</TD><TD VALIGN="TOP">1.0</TD><TD VALIGN="TOP">
3500x4005</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
353VALIGN="TOP">0x4006</TD><TD VALIGN="TOP">Add or modify a printer class.</TD>
354</TR>
355<TR><TD VALIGN="TOP">CUPS-Delete-Class</TD><TD VALIGN="TOP">1.0</TD><TD VALIGN="TOP">
3560x4007</TD><TD VALIGN="TOP">Delete a printer class.</TD></TR>
357<TR><TD VALIGN="TOP">CUPS-Accept-Jobs</TD><TD VALIGN="TOP">1.0</TD><TD VALIGN="TOP">
3580x4008</TD><TD VALIGN="TOP">Accept jobs on a printer or printer class.</TD>
359</TR>
360<TR><TD VALIGN="TOP">CUPS-Reject-Jobs</TD><TD VALIGN="TOP">1.0</TD><TD VALIGN="TOP">
3610x4009</TD><TD VALIGN="TOP">Reject jobs on a printer or printer class.</TD>
362</TR>
363<TR><TD VALIGN="TOP">CUPS-Set-Default</TD><TD VALIGN="TOP">1.0</TD><TD VALIGN="TOP">
3640x400A</TD><TD VALIGN="TOP">Set the default destination.</TD></TR>
365<TR><TD VALIGN="TOP">CUPS-Get-Devices</TD><TD VALIGN="TOP">1.2</TD><TD VALIGN="TOP">
3660x400B</TD><TD VALIGN="TOP">Get all of the available devices.</TD></TR>
367<TR><TD VALIGN="TOP">CUPS-Get-PPDs</TD><TD VALIGN="TOP">1.2</TD><TD VALIGN="TOP">
3680x400C</TD><TD VALIGN="TOP">Get all of the available PPDs.</TD></TR>
369<TR><TD VALIGN="TOP">CUPS-Move-Job</TD><TD VALIGN="TOP">1.2</TD><TD VALIGN="TOP">
3700x400D</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 3.1.4.1 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 3.1.4.2 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 3.1.4.1 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 3.1.4.2 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 3.1.4.1 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 3.1.4.2 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 3.1.4.1 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 3.1.4.2 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 3.1.4.1 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 3.1.4.2 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 3.1.4.1 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 3.1.4.2 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 3.1.4.1 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 3.1.4.2 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 3.1.4.1 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 3.1.4.2 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 3.1.4.1 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 3.1.4.2 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 3.1.4.1 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 3.1.4.2 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 3.1.4.1 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 3.1.4.2 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 3.1.4.1 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 3.1.4.2 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 3.1.4.1 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 3.1.4.2 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 3.1.4.1 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 3.1.4.2 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 3.1.4.1 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 3.1.4.2 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 3.1.4.1 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 3.1.4.2 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 (127.0.0.1) 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>
1357<TABLE BORDER WIDTH="80%">
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>