]>
Commit | Line | Data |
---|---|---|
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 Interface Design Description</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-IDD-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 Interface Design Description</H1></A><BR> | |
25 | CUPS-IDD-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 Internal Interfaces</A></B> | |
44 | <UL> | |
45 | <LI><A HREF="#3_1">3.1 Character Set Files</A></LI> | |
46 | <UL> | |
47 | <LI><A HREF="#3_1_1">3.1.1 8-Bit Character Set Files</A></LI> | |
48 | <LI><A HREF="#3_1_2">3.1.2 Unicode Character Set Files</A></LI> | |
49 | </UL> | |
50 | <LI><A HREF="#3_2">3.2 Language Files</A></LI> | |
51 | <LI><A HREF="#3_3">3.3 MIME Files</A></LI> | |
52 | <UL> | |
53 | <LI><A HREF="#3_3_1">3.3.1 mime.types</A></LI> | |
54 | <LI><A HREF="#3_3_2">3.3.2 mime.convs</A></LI> | |
55 | </UL> | |
56 | <LI><A HREF="#3_4">3.4 Option Files</A></LI> | |
57 | <LI><A HREF="#3_5">3.5 PostScript Printer Description Files</A></LI> | |
58 | <UL> | |
59 | <LI><A HREF="#3_5_1">3.5.1 PPD Specification</A></LI> | |
60 | <LI><A HREF="#3_5_2">3.5.2 CUPS Extensions to PPD Files</A></LI> | |
61 | </UL> | |
62 | <LI><A HREF="#3_6">3.6 Scheduler Configuration Files</A></LI> | |
63 | <UL> | |
64 | <LI><A HREF="#3_6_1">3.6.1 classes.conf</A></LI> | |
65 | <LI><A HREF="#3_6_2">3.6.2 cupsd.conf</A></LI> | |
66 | <LI><A HREF="#3_6_3">3.6.3 printers.conf</A></LI> | |
67 | </UL> | |
68 | </UL> | |
69 | <B><A HREF="#4">4 External Interfaces</A></B> | |
70 | <UL> | |
71 | <LI><A HREF="#4_1">4.1 AppSocket Protocol</A></LI> | |
72 | <LI><A HREF="#4_2">4.2 CUPS Browsing Protocol</A></LI> | |
73 | <LI><A HREF="#4_3">4.3 CUPS Form File</A></LI> | |
74 | <UL> | |
75 | <LI><A HREF="#4_3_1">4.3.1 CUPS Form DTD</A></LI> | |
76 | </UL> | |
77 | <LI><A HREF="#4_4">4.4 CUPS PostScript File</A></LI> | |
78 | <LI><A HREF="#4_5">4.5 CUPS Raster File</A></LI> | |
79 | <LI><A HREF="#4_6">4.6 CUPS Raw Files</A></LI> | |
80 | <LI><A HREF="#4_7">4.7 Internet Printing Protocol</A></LI> | |
81 | <LI><A HREF="#4_8">4.8 Line Printer Daemon Protocol</A></LI> | |
82 | <LI><A HREF="#4_9">4.9 Server Message Block Protocol</A></LI> | |
83 | </UL> | |
84 | <B><A HREF="#5">5 Directories</A></B> | |
85 | <BR> | |
86 | <BR><B><A HREF="#6">A Glossary</A></B> | |
87 | <UL> | |
88 | <LI><A HREF="#6_1">A.1 Terms</A></LI> | |
89 | <LI><A HREF="#6_2">A.2 Acronyms</A></LI> | |
90 | </UL> | |
91 | <HR> | |
92 | <H1><A NAME="1">1 Scope</A></H1> | |
93 | <H2><A NAME="1_1">1.1 Identification</A></H2> | |
94 | <P>This interface design description document provides detailed file | |
95 | formats, message formats, and program conventions for the Common UNIX | |
96 | Printing System ("CUPS") Version 1.2.</P> | |
97 | <H2><A NAME="1_2">1.2 System Overview</A></H2> | |
98 | <P>CUPS provides a portable printing layer for UNIX®-based operating | |
99 | systems. It has been developed by<A HREF="http://www.easysw.com"> Easy | |
100 | Software Products</A> to promote a standard printing solution for all | |
101 | UNIX vendors and users. CUPS provides the System V and Berkeley | |
102 | command-line interfaces.</P> | |
103 | <P>CUPS uses the Internet Printing Protocol ("IPP") as the basis for | |
104 | managing print jobs and queues. The Line Printer Daemon ("LPD") Server | |
105 | Message Block ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are | |
106 | also supported with reduced functionality. CUPS adds network printer | |
107 | browsing and PostScript Printer Description ("PPD") based printing | |
108 | options to support real-world printing under UNIX.</P> | |
109 | <P>CUPS also includes a customized version of GNU Ghostscript (currently | |
110 | based off GNU Ghostscript 5.50) and an image file RIP that are used to | |
111 | support non-PostScript printers. Sample drivers for HP and EPSON | |
112 | printers are included that use these filters.</P> | |
113 | <H2><A NAME="1_3">1.3 Document Overview</A></H2> | |
114 | <P>This interface design description document is organized into the | |
115 | following sections:</P> | |
116 | <UL> | |
117 | <LI>1 - Scope</LI> | |
118 | <LI>2 - References</LI> | |
119 | <LI>3 - Internal Interfaces</LI> | |
120 | <LI>4 - External Interfaces</LI> | |
121 | <LI>5 - Directories</LI> | |
122 | <LI>A - Glossary</LI> | |
123 | </UL> | |
124 | <H1><A NAME="2">2 References</A></H1> | |
125 | <H2><A NAME="2_1">2.1 CUPS Documentation</A></H2> | |
126 | <P>The following CUPS documentation is referenced by this document:</P> | |
127 | <UL> | |
128 | <LI>CUPS-CMP-1.2: CUPS Configuration Management Plan</LI> | |
129 | <LI>CUPS-IDD-1.2: CUPS System Interface Design Description</LI> | |
130 | <LI>CUPS-IPP-1.2: CUPS Implementation of IPP</LI> | |
131 | <LI>CUPS-SAM-1.2.x: CUPS Software Administrators Manual</LI> | |
132 | <LI>CUPS-SDD-1.2: CUPS Software Design Description</LI> | |
133 | <LI>CUPS-SPM-1.2.x: CUPS Software Programming Manual</LI> | |
134 | <LI>CUPS-SSR-1.2: CUPS Software Security Report</LI> | |
135 | <LI>CUPS-STP-1.2: CUPS Software Test Plan</LI> | |
136 | <LI>CUPS-SUM-1.2.x: CUPS Software Users Manual</LI> | |
137 | <LI>CUPS-SVD-1.2: CUPS Software Version Description</LI> | |
138 | </UL> | |
139 | <H2><A NAME="2_2">2.2 Other Documents</A></H2> | |
140 | <P>The following non-CUPS documents are referenced by this document:</P> | |
141 | <UL> | |
142 | <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf"> | |
143 | Adobe PostScript Printer Description File Format Specification, Version | |
144 | 4.3.</A></LI> | |
145 | <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf"> | |
146 | Adobe PostScript Language Reference, Third Edition.</A></LI> | |
147 | <LI>IPP: Job and Printer Set Operations</LI> | |
148 | <LI>IPP/1.1: Encoding and Transport</LI> | |
149 | <LI>IPP/1.1: Implementers Guide</LI> | |
150 | <LI>IPP/1.1: Model and Semantics</LI> | |
151 | <LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line Printer | |
152 | Daemon Protocol</A></LI> | |
153 | <LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design Goals | |
154 | for an Internet Printing Protocol</A></LI> | |
155 | <LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale | |
156 | for the Structure of the Model and Protocol for the Internet Printing | |
157 | Protocol</A></LI> | |
158 | <LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping | |
159 | between LPD and IPP Protocols</A></LI> | |
160 | <LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext | |
161 | Transfer Protocol -- HTTP/1.1</A></LI> | |
162 | <LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP | |
163 | Authentication: Basic and Digest Access</A> Authentication</LI> | |
164 | </UL> | |
165 | <H1><A NAME="3">3 Internal Interfaces</A></H1> | |
166 | <H2><A NAME="3_1">3.1 Character Set Files</A></H2> | |
167 | <P>The character set files define a mapping between 8-bit characters and | |
168 | the Unicode character set, or between Unicode and printer fonts. They | |
169 | are named using the IETF charset names defined in RFCnnnn. These files | |
170 | are ASCII text, the content of which is described below. Comments can | |
171 | be included by using the <TT>#</TT> character in the first column of a | |
172 | line.</P> | |
173 | <H3><A NAME="3_1_1">3.1.1 8-Bit Character Set Files</A></H3> | |
174 | <P>8-bit character set files start with a line reading:</P> | |
175 | <UL> | |
176 | <PRE> | |
177 | charset 8bit | |
178 | </PRE> | |
179 | </UL> | |
180 | <P>Following this are lines that define the font information:</P> | |
181 | <UL> | |
182 | <PRE> | |
183 | first last direction width normal bold italic bold-italic | |
184 | </PRE> | |
185 | </UL> | |
186 | <P><VAR>First</VAR> and<VAR> last</VAR> are the first and last glyphs in | |
187 | the font mapping that correspond to that font; a maximum of 256 | |
188 | characters can be mapped within each group, with a maximum of 256 | |
189 | mappings (this is a PostScript limitation.) The glyph values are | |
190 | hexadecimal.</P> | |
191 | <P><VAR>Direction</VAR> is the string "ltor", "rtol", or "rtola" | |
192 | indicating left-to-right, right-to-left, or right-to-left Arabic text.</P> | |
193 | <P><VAR>Width</VAR> is the string "single" or "double"; double means | |
194 | that the glyphs are twice as wide as ASCII characters in the Courier | |
195 | typeface.</P> | |
196 | <P><VAR>Normal, bold, italic</VAR>, and<VAR> bold-italic</VAR> are the | |
197 | typefaces to use for each presentation. If characters are only | |
198 | available in a single style then only one typeface should be listed | |
199 | (e.g. "Symbol".) Each font that is listed will be used (and downloaded | |
200 | if needed) when printing.</P> | |
201 | <P>The remaining lines define a character to Unicode glyph mapping for | |
202 | the character set. The character and glyph values are hexadecimal:</P> | |
203 | <UL> | |
204 | <PRE> | |
205 | xx yyyy | |
206 | </PRE> | |
207 | </UL> | |
208 | <H3><A NAME="3_1_2">3.1.2 Unicode Character Set Files</A></H3> | |
209 | <P>Unicode character set files start with a line reading:</P> | |
210 | <UL> | |
211 | <PRE> | |
212 | charset encoding | |
213 | </PRE> | |
214 | </UL> | |
215 | <P><VAR>Encoding</VAR> is the encoding to use for the text; currently | |
216 | only the string "utf8" is supported.</P> | |
217 | <P>Following this are lines defining the font information:</P> | |
218 | <UL> | |
219 | <PRE> | |
220 | first last direction width normal bold italic bold-italic | |
221 | </PRE> | |
222 | </UL> | |
223 | <P><VAR>First</VAR> and<VAR> last</VAR> are the first and last glyphs in | |
224 | the font mapping that correspond to that font; a maximum of 256 | |
225 | characters can be mapped within each group, with a maximum of 256 | |
226 | mappings (this is a PostScript limitation.) The glyph values are | |
227 | hexadecimal.</P> | |
228 | <P><VAR>Direction</VAR> is the string "ltor", "rtol", or "rtola" | |
229 | indicating left-to-right, right-to-left, or right-to-left Arabic text.</P> | |
230 | <P><VAR>Width</VAR> is the string "single" or "double"; double means | |
231 | that the glyphs are twice as wide as ASCII characters in the Courier | |
232 | typeface.</P> | |
233 | <P><VAR>Normal, bold, italic</VAR>, and<VAR> bold-italic</VAR> are the | |
234 | typefaces to use for each presentation. If characters are only | |
235 | available in a single style then only one typeface should be listed | |
236 | (e.g. "Symbol".) Each font that is listed will be used (and downloaded | |
237 | if needed) when printing.</P> | |
238 | <H2><A NAME="3_2">3.2 Language Files</A></H2> | |
239 | <P>The language files define the default character set and a collection | |
240 | of text messages in that language. They are named by prefixing the | |
241 | string "cups_" to the front of the language specifier (e.g. "cups_en", | |
242 | "cups_fr", etc.) Each file consists of two or more lines of ASCII text.</P> | |
243 | <P>The first line identifies the character set to be used for the | |
244 | messages. The currently recognized values are:</P> | |
245 | <UL> | |
246 | <LI>iso-8859-1</LI> | |
247 | <LI>iso-8859-2</LI> | |
248 | <LI>iso-8859-3</LI> | |
249 | <LI>iso-8859-4</LI> | |
250 | <LI>iso-8859-5</LI> | |
251 | <LI>iso-8859-6</LI> | |
252 | <LI>iso-8859-7</LI> | |
253 | <LI>iso-8859-8</LI> | |
254 | <LI>iso-8859-9</LI> | |
255 | <LI>iso-8859-10</LI> | |
256 | <LI>iso-8859-13</LI> | |
257 | <LI>iso-8859-14</LI> | |
258 | <LI>iso-8859-15</LI> | |
259 | <LI>us-ascii</LI> | |
260 | <LI>utf-8</LI> | |
261 | <LI>windows-874</LI> | |
262 | <LI>windows-1250</LI> | |
263 | <LI>windows-1251</LI> | |
264 | <LI>windows-1252</LI> | |
265 | <LI>windows-1253</LI> | |
266 | <LI>windows-1254</LI> | |
267 | <LI>windows-1255</LI> | |
268 | <LI>windows-1256</LI> | |
269 | <LI>windows-1257</LI> | |
270 | <LI>windows-1258</LI> | |
271 | <LI>koi8-r</LI> | |
272 | <LI>koi8-u</LI> | |
273 | </UL> | |
274 | <P>The second and succeeding lines define text messages. If the message | |
275 | text is preceded by a number, then the current message number is | |
276 | updated and the text after the number is used.</P> | |
277 | <H2><A NAME="3_3">3.3 MIME Files</A></H2> | |
278 | <P>CUPS uses two MIME files in its standard configuration.</P> | |
279 | <H3><A NAME="3_3_1">3.3.1 mime.types</A></H3> | |
280 | <P>The mime.types file defines the recognized file types and consists of | |
281 | 1 or more lines of ASCII text. Comment lines start with the pound ("#") | |
282 | character. The backslash ("\") character can be used at the end of a | |
283 | line to continue that line to the next.</P> | |
284 | <P>Each non-blank line starts with a MIME type identifier ("super/type") | |
285 | as registered with the IANA. All text following the MIME type is | |
286 | treated as a series of type recognition rules:</P> | |
287 | <UL> | |
288 | <PRE> | |
289 | mime-type := super "/" type { SP rule }* | |
290 | super := { "a-z" | "A-Z" }* | |
291 | type := { "a-z" | "A-Z" | "-" | "." | "0-9" }* | |
292 | rule := { extension | match | operator | "(" rule ")" }* | |
293 | extension := { "a-z" | "A-Z" | "0-9" }* | |
294 | match := "match(" regexp ")" | | |
295 | "ascii(" offset "," length ")" | | |
296 | "printable(" offset "," length ")" | | |
297 | "string(" offset "," string ")" | | |
298 | "contains(" offset "," length "," string ")" | | |
299 | "char(" offset "," value ")" | | |
300 | "short(" offset "," value ")" | | |
301 | "int(" offset "," value ")" | | |
302 | "locale(" string ")" | |
303 | operator := "+" | [ logical AND ] | |
304 | "," | SP [ logical OR ] | |
305 | "!" [ unary NOT ] | |
306 | </PRE> | |
307 | </UL> | |
308 | <P>The <CODE>int</CODE> and <CODE>short</CODE> rules match look for | |
309 | integers in network byte order (a.k.a. big-endian) with the | |
310 | most-significant byte first.</P> | |
311 | <H3><A NAME="3_3_2">3.3.2 mime.convs</A></H3> | |
312 | <P>The mime.types file defines the recognized file filters and consists | |
313 | of 1 or more lines of ASCII text. Comment lines start with the pound | |
314 | ("#") character.</P> | |
315 | <P>Each non-blank line starts with two MIME type identifiers | |
316 | ("super/type") representing the source and destination types. Following | |
317 | the MIME types are a cost value (0 to 100) and the filter program to | |
318 | use. If the filter program is not specified using the full path then it | |
319 | must reside in the CUPS filter directory:</P> | |
320 | <UL> | |
321 | <PRE> | |
322 | super/type SP super/type2 SP cost SP program | |
323 | </PRE> | |
324 | </UL> | |
325 | <H2><A NAME="3_4">3.4 Option Files</A></H2> | |
326 | <P>CUPS maintains user-defined printer and option files for each printer | |
327 | and user on the system. The printers and options defined in the system | |
328 | option file (<CODE>/etc/cups/lpoptions</CODE>) are loaded first, | |
329 | followed by the user option file (<CODE>$HOME/.lpoptions</CODE>). | |
330 | Options in the user file replace those defined in the system file for | |
331 | the same destination. Each line in the files can be one of the | |
332 | following:</P> | |
333 | <UL> | |
334 | <PRE> | |
335 | Dest name option=value option=value ... option=value | |
336 | Dest name/instance option=value option=value ... option=value | |
337 | Default name option=value option=value ... option=value | |
338 | Default name/instance option=value option=value ... option=value | |
339 | </PRE> | |
340 | </UL> | |
341 | <P>The line beginning with "Default" indicates the default destination | |
342 | for print jobs; a default line in the user option file overrides the | |
343 | default defined in the system option file.</P> | |
344 | <P><VAR>Name</VAR> is the name of a printer known to the local server.</P> | |
345 | <P><VAR>Instance</VAR> can be any string of letters, numbers, and the | |
346 | underscore up to 127 characters in length.</P> | |
347 | <P>The remainder of the line contains a list of space-separated options | |
348 | and their values.</P> | |
349 | <H2><A NAME="3_5">3.5 PostScript Printer Description Files</A></H2> | |
350 | <P>PostScript Printer Description ("PPD") files describe the | |
351 | capabilities of each printer and are used by CUPS to support | |
352 | printer-specific features and intelligent filtering.</P> | |
353 | <H3><A NAME="3_5_1">3.5.1 PPD Specification</A></H3> | |
354 | <P>The PPD file format is described in<A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf"> | |
355 | Adobe TechNote #5003: PostScript Printer Description File Format | |
356 | Specification Version 4.3</A>.</P> | |
357 | <H3><A NAME="3_5_2">3.5.2 CUPS Extensions to PPD Files</A></H3> | |
358 | <P>CUPS adds several new attributes that are described below.</P> | |
359 | <H4>3.5.2.1 cupsFilter</H4> | |
360 | <P>This string attribute provides a conversion rule of the form:</P> | |
361 | <UL> | |
362 | <PRE> | |
363 | source/type cost program | |
364 | </PRE> | |
365 | </UL> | |
366 | <P>The destination type is assumed to the printer's type. If a printer | |
367 | supports the source type directly the special filter program "-" may be | |
368 | specified.</P> | |
369 | <H4>3.5.2.2 cupsManualCopies</H4> | |
370 | <P>This boolean attribute notifies the RIP filters that the destination | |
371 | printer does not support copy generation in hardware. The default value | |
372 | is false.</P> | |
373 | <H4>3.5.2.3 cupsModelNumber</H4> | |
374 | <P>This integer attribute specifies a printer-specific model number. | |
375 | This number can be used by a filter program to adjust the output for a | |
376 | specific model of printer.</P> | |
377 | <H4>3.5.2.4 cupsProfile</H4> | |
378 | <P>This string attribute specifies a color profile of the form:</P> | |
379 | <UL> | |
380 | <PRE> | |
381 | resolution/type density gamma m00 m01 m02 m10 m11 m12 m20 m21 m22 | |
382 | </PRE> | |
383 | </UL> | |
384 | <P>The<I> resolution</I> and<I> type</I> values may be "-" to act as a | |
385 | wildcard. Otherwise they must match one of the <CODE>Resolution</CODE> | |
386 | or <CODE>MediaType</CODE> attributes defined in the PPD file.</P> | |
387 | <P>The<I> density</I> and<I> gamma</I> values define gamma and density | |
388 | adjustment function such that:</P> | |
389 | <UL> | |
390 | <PRE> | |
391 | f(x) = density * x<SUP>gamma</SUP> | |
392 | </PRE> | |
393 | </UL> | |
394 | <P>The<I> m00</I> through<I> m22</I> values define a 3x3 transformation | |
395 | matrix for the CMY color values. The density function is applied<I> | |
396 | after</I> the CMY transformation.</P> | |
397 | <H4>3.5.2.5 cupsVersion</H4> | |
398 | <P>This required attribute describes which version of the CUPS IDD was | |
399 | used for the PPD file extensions. Currently it must be the string | |
400 | "1.0", "1.1", or "1.2".</P> | |
401 | <H2><A NAME="3_6">3.6 Scheduler Configuration Files</A></H2> | |
402 | <P>The scheduler reads three configuration files that define the | |
403 | available printers, classes, and services:</P> | |
404 | <DL> | |
405 | <DT>classes.conf</DT> | |
406 | <DD>This file defines all of the printer classes known to the system.</DD> | |
407 | <DT>cupsd.conf</DT> | |
408 | <DD>This file defines the files, directories, passwords, etc. used by | |
409 | the scheduler.</DD> | |
410 | <DT>printers.conf</DT> | |
411 | <DD>This file defines all of the printers known to the system.</DD> | |
412 | </DL> | |
413 | <H3><A NAME="3_6_1">3.6.1 classes.conf</A></H3> | |
414 | <P>The classes.conf file consists of 1 or more lines of ASCII text. | |
415 | Comment lines start with the pound ("#") character.</P> | |
416 | <P>Each non-blank line starts with the name of a configuration directive | |
417 | followed by its value. The following directives are understood: | |
418 | <CENTER> | |
419 | <TABLE BORDER="1" WIDTH="90%"> | |
420 | <TR><TH WIDTH="25%">Directive</TH><TH>Description</TH></TR> | |
421 | <TR><TD><Class name> | |
422 | <BR> </Class></TD><TD>Surrounds a class definition.</TD></TR> | |
423 | <TR><TD><DefaultClass name> | |
424 | <BR> </Class></TD><TD>Surrounds a class definition for the default | |
425 | destination.</TD></TR> | |
426 | <TR><TD>Accepting</TD><TD>Specifies whether the class is accepting new | |
427 | jobs. May be the names "Yes" or "No".</TD></TR> | |
428 | <TR><TD>AllowUsers</TD><TD>Specifies a list of users that are allowed to | |
429 | access the class.</TD></TR> | |
430 | <TR><TD>BannerStart</TD><TD>Specifies the banner that is printed before | |
431 | other files in a job.</TD></TR> | |
432 | <TR><TD>BannerEnd</TD><TD>Specifies the banner that is printed after | |
433 | other files in a job.</TD></TR> | |
434 | <TR><TD>DenyUsers</TD><TD>Specifies a list of users that are not allowed | |
435 | to access the class.</TD></TR> | |
436 | <TR><TD>Info</TD><TD>A textual description of the class.</TD></TR> | |
437 | <TR><TD>Location</TD><TD>A textual location of the class.</TD></TR> | |
438 | <TR><TD>Printer</TD><TD>Specifies a printer that is a member of the | |
439 | class.</TD></TR> | |
440 | <TR><TD>State</TD><TD>Specifies the initial state of the class; can be | |
441 | "Idle" or "Stopped".</TD></TR> | |
442 | <TR><TD>StateMessage</TD><TD>Specifies a textual message for the current | |
443 | class state.</TD></TR> | |
444 | </TABLE> | |
445 | </CENTER> | |
446 | </P> | |
447 | <H3><A NAME="3_6_2">3.6.2 cupsd.conf</A></H3> | |
448 | <P>The cupsd.conf file consists of 1 or more lines of ASCII text. | |
449 | Comment lines start with the pound ("#") character.</P> | |
450 | <P>Each non-blank line starts with the name of a configuration directive | |
451 | followed by its value. The following directives are understood: | |
452 | <CENTER> | |
453 | <TABLE BORDER="1" WIDTH="90%"> | |
454 | <TR><TH WIDTH="25%">Directive</TH><TH>Default</TH><TH>Description</TH></TR> | |
455 | <TR><TD>AccessLog</TD><TD>access_log</TD><TD>Specifies the location of | |
456 | the access log file. The special name "syslog" can be used to send | |
457 | access log information to the system log.</TD></TR> | |
458 | <TR><TD>Allow</TD><TD>-</TD><TD>Allows connections from the specified | |
459 | host, network, or domain.</TD></TR> | |
460 | <TR><TD>AuthClass</TD><TD>-</TD><TD>Specifies what level of | |
461 | authentication is required; may be "User", "System", or "Group".</TD></TR> | |
462 | <TR><TD>AuthType</TD><TD>None</TD><TD>Specifies the type of | |
463 | authentication to perform; may be "None", "Basic", or "Digest".</TD></TR> | |
464 | <TR><TD>BrowseAddress</TD><TD>255.255.255.255</TD><TD>Specifies a | |
465 | broadcast address to send CUPS browsing packets to.</TD></TR> | |
466 | <TR><TD>BrowseAllow</TD><TD>-</TD><TD>Specifies hosts or addresses from | |
467 | which browsing information should be used.</TD></TR> | |
468 | <TR><TD>BrowseDeny</TD><TD>-</TD><TD>Specifies hosts or addresses from | |
469 | which browsing information should not be used.</TD></TR> | |
470 | <TR><TD>BrowseInterval</TD><TD>30</TD><TD>Specifies the number of | |
471 | seconds between browsing updates. A browse interval of 0 seconds | |
472 | disables outgoing packets.</TD></TR> | |
473 | <TR><TD>BrowseOrder</TD><TD>Allow,Deny</TD><TD>Specifies the order of | |
474 | BrowseAllow and BrowseDeny directive processing; can be "Deny,Allow" to | |
475 | implicitly deny hosts unless they are allowed by a BrowseAllow line, or | |
476 | "Allow,Deny" to implicitly allow hosts unless they are denied by a | |
477 | BrowseDeny line.</TD></TR> | |
478 | <TR><TD>BrowsePoll</TD><TD>-</TD><TD>Specifies a server to poll for | |
479 | available printers and classes.</TD></TR> | |
480 | <TR><TD>BrowsePort</TD><TD>631</TD><TD>Specifies the UDP port number to | |
481 | use for browse packets.</TD></TR> | |
482 | <TR><TD>BrowseRelay</TD><TD>-</TD><TD>Specifies a source and destination | |
483 | address for relaying browser information from one subnet to another.</TD> | |
484 | </TR> | |
485 | <TR><TD>BrowseShortNames</TD><TD>yes</TD><TD>Specifies whether or not to | |
486 | provide short names (without the "@server" part) for remote printers.</TD> | |
487 | </TR> | |
488 | <TR><TD>BrowseTimeout</TD><TD>300</TD><TD>Specifies the number of | |
489 | seconds to wait until remote destinations are removed from the local | |
490 | destination list.</TD></TR> | |
491 | <TR><TD>Browsing</TD><TD>On</TD><TD>Specifies whether or not printer and | |
492 | class browsing is enabled; can be "On" or "Off".</TD></TR> | |
493 | <TR><TD>DataDir</TD><TD>/usr/share/cups</TD><TD>Specifies the directory | |
494 | where CUPS data files are stored.</TD></TR> | |
495 | <TR><TD>DefaultCharset</TD><TD>iso-8859-1</TD><TD>Specifies the default | |
496 | character set.</TD></TR> | |
497 | <TR><TD>DefaultLanguage</TD><TD>current locale</TD><TD>Specifies the | |
498 | default language.</TD></TR> | |
499 | <TR><TD>Deny</TD><TD>-</TD><TD>Refuses connections from the specified | |
500 | host, network, or domain.</TD></TR> | |
501 | <TR><TD>DocumentRoot</TD><TD>/usr/share/doc/cups</TD><TD>Specifies the | |
502 | document data root directory.</TD></TR> | |
503 | <TR><TD>ErrorLog</TD><TD>error_log</TD><TD>Specifies the error log file | |
504 | location. The special name "syslog" can be used to send error log | |
505 | information to the system log.</TD></TR> | |
506 | <TR><TD>Group</TD><TD>root, sys, system</TD><TD>Specifies the group name | |
507 | or ID that is used when running external programs.</TD></TR> | |
508 | <TR><TD>HostNameLookups</TD><TD>Off</TD><TD>Specifies whether or not to | |
509 | perform reverse IP address lookups to get the actual hostname; may be | |
510 | "On" or "Off". Hostname lookups can significantly degrade the | |
511 | performance of the CUPS server if one or more DNS servers is not | |
512 | functioning properly.</TD></TR> | |
513 | <TR><TD>ImplicitClasses</TD><TD>On</TD><TD>Specifies whether or not to | |
514 | automatically create printer classes when more than one printer or | |
515 | class of the same name is detected on the network; may be "On" or | |
516 | "Off".</TD></TR> | |
517 | <TR><TD>KeepAlive</TD><TD>On</TD><TD>Specifies whether or not to use the | |
518 | HTTP Keep-Alive feature; may be "On" or "Off".</TD></TR> | |
519 | <TR><TD>KeepAliveTimeout</TD><TD>30</TD><TD>Specifies the amount of time | |
520 | to keep the HTTP connection alive before closing it.</TD></TR> | |
521 | <TR><TD><Location path> | |
522 | <BR> </Location></TD><TD>-</TD><TD>Specifies a location to restrict | |
523 | access to.</TD></TR> | |
524 | <TR><TD>LogLevel</TD><TD>info</TD><TD>Controls the amount of information | |
525 | that is logged in the error log file. Can be one of "debug", "info", | |
526 | "warn", "error", or "none", in decreasing order or verbosity.</TD></TR> | |
527 | <TR><TD>MaxClients</TD><TD>100</TD><TD>Specifies the maximum number of | |
528 | simultaneous active clients. This value is internally limited to 1/3 of | |
529 | the total number of available file descriptors.</TD></TR> | |
530 | <TR><TD>MaxLogSize</TD><TD>0</TD><TD>Specifies the maximum size of the | |
531 | access, error, and page log files in bytes. If set to 0 then no maximum | |
532 | size is set. Log files are rotated automatically when this size is | |
533 | exceeded.</TD></TR> | |
534 | <TR><TD>MaxRequestSize</TD><TD>0</TD><TD>Specifies the maximum size of | |
535 | HTTP requests in bytes. If set to 0 then there is no maximum.</TD></TR> | |
536 | <TR><TD>Order</TD><TD>Allow,Deny</TD><TD>Specifies the order of Allow | |
537 | and Deny directive processing; can be "Deny,Allow" to implicitly deny | |
538 | hosts unless they are allowed by an Allow line, or "Allow,Deny" to | |
539 | implicitly allow hosts unless they are denied by a Deny line.</TD></TR> | |
540 | <TR><TD>PageLog</TD><TD>page_log</TD><TD>Specifies the location of the | |
541 | page log file. The special name "syslog" can be used to send page log | |
542 | information to the system log.</TD></TR> | |
543 | <TR><TD>Port</TD><TD>631</TD><TD>Specifies a port number to listen to | |
544 | for HTTP connections.</TD></TR> | |
545 | <TR><TD>Printcap</TD><TD>/etc/printcap</TD><TD>Specifies the location of | |
546 | a Berkeley printcap file to update with a list of current printers and | |
547 | classes. If no filename is supplied then this automatic generation is | |
548 | disabled.</TD></TR> | |
549 | <TR><TD>RequestRoot</TD><TD>/var/spool/cups</TD><TD>Specifies the | |
550 | location of request files.</TD></TR> | |
551 | <TR><TD>RIPCache</TD><TD>8m</TD><TD>Specifies the size of the memory | |
552 | cache in bytes that is used by RIP filters.</TD></TR> | |
553 | <TR><TD>ServerAdmin</TD><TD>root@ServerName</TD><TD>Specifies the person | |
554 | to contact with problems.</TD></TR> | |
555 | <TR><TD>ServerName</TD><TD>hostname</TD><TD>Specifies the hostname that | |
556 | is supplied to HTTP clients. This is also used to determine the default | |
557 | CUPS server for the CUPS IPP client applications.</TD></TR> | |
558 | <TR><TD>ServerRoot</TD><TD>/etc/cups</TD><TD>Specifies the root | |
559 | directory for server configuration files.</TD></TR> | |
560 | <TR><TD>SystemGroup</TD><TD>root, sys, system</TD><TD>Specifies the | |
561 | group name used for System class authentication.</TD></TR> | |
562 | <TR><TD>TempDir</TD><TD>/var/tmp</TD><TD>Specifies the temporary | |
563 | directory to use.</TD></TR> | |
564 | <TR><TD>Timeout</TD><TD>300</TD><TD>The timeout in seconds before client | |
565 | connections are closed in the middle of a request.</TD></TR> | |
566 | <TR><TD>User</TD><TD>lp</TD><TD>Specifies the user that is used when | |
567 | running external programs.</TD></TR> | |
568 | </TABLE> | |
569 | </CENTER> | |
570 | </P> | |
571 | <H3><A NAME="3_6_3">3.6.3 printers.conf</A></H3> | |
572 | <P>The printers.conf file consists of 1 or more lines of ASCII text. | |
573 | Comment lines start with the pound ("#") character.</P> | |
574 | <P>Each non-blank line starts with the name of a configuration directive | |
575 | followed by its value. The following directives are understood: | |
576 | <CENTER> | |
577 | <TABLE BORDER="1" WIDTH="90%"> | |
578 | <TR><TH WIDTH="25%">Directive</TH><TH>Description</TH></TR> | |
579 | <TR><TD>Accepting</TD><TD>Specifies whether the printer is accepting new | |
580 | jobs. May be the names "Yes" or "No".</TD></TR> | |
581 | <TR><TD><DefaultPrinter name> | |
582 | <BR> </Printer></TD><TD>Surrounds the printer definition for a default | |
583 | destination.</TD></TR> | |
584 | <TR><TD>AllowUsers</TD><TD>Specifies a list of users that are allowed to | |
585 | access the printer.</TD></TR> | |
586 | <TR><TD>BannerStart</TD><TD>Specifies the banner that is printed before | |
587 | other files in a job.</TD></TR> | |
588 | <TR><TD>BannerEnd</TD><TD>Specifies the banner that is printed after | |
589 | other files in a job.</TD></TR> | |
590 | <TR><TD>DenyUsers</TD><TD>Specifies a list of users that are not allowed | |
591 | to access the printer.</TD></TR> | |
592 | <TR><TD>DeviceURI</TD><TD>Specifies the device-uri attribute for the | |
593 | printer.</TD></TR> | |
594 | <TR><TD>Info</TD><TD>A textual description of the printer.</TD></TR> | |
595 | <TR><TD>Location</TD><TD>A textual location of the printer.</TD></TR> | |
596 | <TR><TD><Printer name> | |
597 | <BR> </Printer></TD><TD>Surrounds the printer definition.</TD></TR> | |
598 | <TR><TD>State</TD><TD>Specifies the initial state of the printer; can be | |
599 | "Idle" or "Stopped".</TD></TR> | |
600 | <TR><TD>StateMessage</TD><TD>Specifies a textual message for the current | |
601 | printer state.</TD></TR> | |
602 | </TABLE> | |
603 | </CENTER> | |
604 | </P> | |
605 | <H1><A NAME="4">4 External Interfaces</A></H1> | |
606 | <H2><A NAME="4_1">4.1 AppSocket Protocol</A></H2> | |
607 | <P>The AppSocket protocol is an 8-bit clean TCP/IP socket connection. | |
608 | The default IP service port is 9100. The URI method name is "socket".</P> | |
609 | <P>The AppSocket protocol is used by the Hewlett Packard JetDirect | |
610 | network interfaces and print servers, as well as many other vendors' | |
611 | products. See the CUPS Software Administrators Manual for a list of | |
612 | supported products.</P> | |
613 | <H2><A NAME="4_2">4.2 CUPS Browsing Protocol</A></H2> | |
614 | <P>The CUPS Browsing Protocol is a UDP/IP-based broadcast service. By | |
615 | default this service operates on IP service port 631.</P> | |
616 | <P>Each broadcast packet describes the state of a single printer or | |
617 | class and is an ASCII text string of up to 1450 bytes ending with a | |
618 | newline (0x0a). The string is formatted as follows:</P> | |
619 | <UL> | |
620 | <PRE> | |
621 | type SP state SP uri SP "location" SP "info" SP "make-and-model" NL | |
622 | </PRE> | |
623 | </UL> | |
624 | <P><VAR>State, uri, location, info</VAR>, and<VAR> make-and-model</VAR>, | |
625 | correspond to the IPP <CODE>printer-state</CODE>, <CODE> | |
626 | printer-uri-supported</CODE>, <CODE>printer-location</CODE>, <CODE> | |
627 | printer-info</CODE>, and <CODE>printer-make-and-model</CODE> attributes.</P> | |
628 | <P><VAR>Type</VAR> is a hexadecimal number string representing | |
629 | capability/type bits: | |
630 | <CENTER> | |
631 | <TABLE BORDER="1" WIDTH="40%"> | |
632 | <TR><TH WIDTH="8%">Bit</TH><TH>Description</TH></TR> | |
633 | <TR><TD>0</TD><TD>0 = printer | |
634 | <BR> 1 = class</TD></TR> | |
635 | <TR><TD>1</TD><TD>0 = local | |
636 | <BR> 1 = remote | |
637 | <BR> (always 1)</TD></TR> | |
638 | <TR><TD>2</TD><TD>1 = can print B</TD></TR> | |
639 | <TR><TD>3</TD><TD>1 = can print color</TD></TR> | |
640 | <TR><TD>4</TD><TD>1 = can duplex</TD></TR> | |
641 | <TR><TD>5</TD><TD>1 = can staple</TD></TR> | |
642 | <TR><TD>6</TD><TD>1 = can do fast copies</TD></TR> | |
643 | <TR><TD>7</TD><TD>1 = can do fast collating</TD></TR> | |
644 | <TR><TD>8</TD><TD>1 = can punch holes</TD></TR> | |
645 | <TR><TD>9</TD><TD>1 = can cover</TD></TR> | |
646 | <TR><TD>10</TD><TD>1 = can bind</TD></TR> | |
647 | <TR><TD>11</TD><TD>1 = can sort</TD></TR> | |
648 | <TR><TD>12</TD><TD>1 = can print up to 9x14 inches</TD></TR> | |
649 | <TR><TD>13</TD><TD>1 = can print up to 18x24 inches</TD></TR> | |
650 | <TR><TD>14</TD><TD>1 = can print up to 36x48 inches</TD></TR> | |
651 | <TR><TD>15</TD><TD>1 = can print variable sizes</TD></TR> | |
652 | </TABLE> | |
653 | </CENTER> | |
654 | </P> | |
655 | <H2><A NAME="4_3">4.3 CUPS Form File</A></H2> | |
656 | <P>CUPS Form files are XML files used by the CUPS <CODE>formtops</CODE> | |
657 | filter to produce dynamic banner pages and support preprinted forms.</P> | |
658 | <P>The MIME type for CUPS Form files is <CODE>application/vnd.cups-form</CODE> | |
659 | .</P> | |
660 | <H3><A NAME="4_3_1">4.3.1 CUPS Form DTD</A></H3> | |
661 | <P>The following DTD describes the available elements and attributes in | |
662 | a CUPS Form file: | |
663 | <CENTER> | |
664 | <TABLE BORDER> | |
665 | <TR><TD> | |
666 | <PRE> | |
667 | <!ENTITY % Angle "CDATA" -- angle in degrees --> | |
668 | ||
669 | <!ENTITY % Color "CDATA" -- a color using sRGB: #RRGGBB as Hex values --> | |
670 | ||
671 | <!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length --> | |
672 | ||
673 | <!ENTITY % Lengths "CDATA" -- comma-separated Length values --> | |
674 | ||
675 | <!ENTITY % Text "CDATA"> | |
676 | ||
677 | <!ENTITY % heading "H1|H2|H3|H4|H5|H6"> | |
678 | ||
679 | <!ENTITY % preformatted "PRE"> | |
680 | ||
681 | <!ENTITY % i18n | |
682 | "lang %LanguageCode; #IMPLIED -- language code -- | |
683 | dir (ltr|rtl) #IMPLIED -- direction for weak/neutral text --" | |
684 | > | |
685 | ||
686 | <!ENTITY % attrs "%i18n;"> | |
687 | ||
688 | <!ENTITY % fontstyle | |
689 | "B | FONT | I | TT"> | |
690 | ||
691 | <!ENTITY % graphics | |
692 | "BOX | RECT | LINE | POLY | ARC | PIE | TEXT"> | |
693 | ||
694 | <!ENTITY % insert | |
695 | "IMG | VAR"> | |
696 | ||
697 | <!-- %inline; covers inline or "text-level" elements --> | |
698 | <!ENTITY % inline "#PCDATA | %fontstyle; | %graphics; | %insert;"> | |
699 | ||
700 | <!ELEMENT (%fontstyle;) - - (%inline;)*> | |
701 | <!ATTLIST (%fontstyle;) | |
702 | %attrs; -- %i18n -- | |
703 | > | |
704 | ||
705 | <!ELEMENT BR - O EMPTY -- forced line break --> | |
706 | <!ATTLIST BR | |
707 | %attrs; -- %i18n -- | |
708 | > | |
709 | ||
710 | <!ENTITY % block | |
711 | "P | %heading; | %preformatted;"> | |
712 | ||
713 | <!ENTITY % flow "%block; | %inline;"> | |
714 | ||
715 | <!ELEMENT PAGE O O (%flow;)+ -- document body --> | |
716 | <!ATTLIST PAGE | |
717 | %attrs; -- %i18n -- | |
718 | align (left|center|right) #IMPLIED -- horizontal alignment -- | |
719 | valign (top|middle|center|bottom) #IMPLIED -- vertical alignment -- | |
720 | > | |
721 | ||
722 | <!ELEMENT P - O (%inline;)* -- paragraph --> | |
723 | <!ATTLIST P | |
724 | %attrs; -- %i18n -- | |
725 | align (left|center|right) #IMPLIED -- horizontal alignment -- | |
726 | > | |
727 | ||
728 | <!ELEMENT (%heading;) - - (%inline;)* -- heading --> | |
729 | <!ATTLIST (%heading;) | |
730 | %attrs; -- %i18n -- | |
731 | align (left|center|right) #IMPLIED -- horizontal alignment -- | |
732 | > | |
733 | ||
734 | <!ELEMENT PRE - - (%inline;)* -- preformatted text --> | |
735 | <!ATTLIST PRE | |
736 | %attrs; -- %i18n -- | |
737 | align (left|center|right) #IMPLIED -- horizontal alignment -- | |
738 | > | |
739 | ||
740 | <!ELEMENT BOX - O EMPTY -- unfilled box --> | |
741 | <!ATTLIST BOX | |
742 | color %Color; #IMPLIED -- override color -- | |
743 | height %Length; #REQUIRED -- height of box -- | |
744 | thickness %Length; #IMPLIED -- override line thickness -- | |
745 | width %Length; #REQUIRED -- width of box -- | |
746 | x %Length; #REQUIRED -- horizontal position -- | |
747 | y %Length; #REQUIRED -- vertical position -- | |
748 | > | |
749 | ||
750 | <!ELEMENT RECT - O EMPTY -- filled box --> | |
751 | <!ATTLIST RECT | |
752 | color %Color; #IMPLIED -- override color -- | |
753 | height %Length; #REQUIRED -- height of box -- | |
754 | width %Length; #REQUIRED -- width of box -- | |
755 | x %Length; #REQUIRED -- horizontal position -- | |
756 | y %Length; #REQUIRED -- vertical position -- | |
757 | > | |
758 | ||
759 | <!ELEMENT LINE - O EMPTY -- polyline --> | |
760 | <!ATTLIST LINE | |
761 | color %Color; #IMPLIED -- override color -- | |
762 | thickness %Length; #IMPLIED -- override line thickness -- | |
763 | x %Lengths; #REQUIRED -- horizontal positions -- | |
764 | y %Lengths; #REQUIRED -- vertical positions -- | |
765 | > | |
766 | ||
767 | <!ELEMENT POLY - O EMPTY -- polygon (filled) --> | |
768 | <!ATTLIST POLY | |
769 | color %Color; #IMPLIED -- override color -- | |
770 | x %Lengths; #REQUIRED -- horizontal positions -- | |
771 | y %Lengths; #REQUIRED -- vertical positions -- | |
772 | > | |
773 | ||
774 | <!ELEMENT ARC - O EMPTY -- unfilled arc --> | |
775 | <!ATTLIST ARC | |
776 | color %Color; #IMPLIED -- override color -- | |
777 | end %Angle; #IMPLIED -- override end angle -- | |
778 | height %Length; #REQUIRED -- height of arc -- | |
779 | start %Angle; #IMPLIED -- override start angle -- | |
780 | thickness %Length; #IMPLIED -- override line thickness -- | |
781 | width %Length; #REQUIRED -- width of arc -- | |
782 | x %Length; #REQUIRED -- horizontal position -- | |
783 | y %Length; #REQUIRED -- vertical position -- | |
784 | > | |
785 | ||
786 | <!ELEMENT PIE - O EMPTY -- filled arc --> | |
787 | <!ATTLIST PIE | |
788 | color %Color; #IMPLIED -- override color -- | |
789 | end %Angle; #IMPLIED -- override end angle -- | |
790 | height %Length; #REQUIRED -- height of arc -- | |
791 | start %Angle; #IMPLIED -- override start angle -- | |
792 | width %Length; #REQUIRED -- width of arc -- | |
793 | x %Length; #REQUIRED -- horizontal position -- | |
794 | y %Length; #REQUIRED -- vertical position -- | |
795 | > | |
796 | ||
797 | <!ELEMENT TEXT - - (%flow;)* -- text box --> | |
798 | <!ATTLIST RECT | |
799 | align (left|center|right) #IMPLIED -- horizontal alignment -- | |
800 | height %Length; #REQUIRED -- height of box -- | |
801 | valign (top|middle|center|bottom) #IMPLIED -- vertical alignment -- | |
802 | width %Length; #REQUIRED -- width of box -- | |
803 | x %Length; #REQUIRED -- horizontal position -- | |
804 | y %Length; #REQUIRED -- vertical position -- | |
805 | > | |
806 | ||
807 | ||
808 | <!ELEMENT IMG - O EMPTY -- Embedded image --> | |
809 | <!ATTLIST IMG | |
810 | %attrs; -- %coreattrs, %i18n, %events -- | |
811 | src %URI; #REQUIRED -- URI of image to embed -- | |
812 | height %Length; #IMPLIED -- override height -- | |
813 | width %Length; #IMPLIED -- override width -- | |
814 | > | |
815 | ||
816 | <!ELEMENT HEAD O O (DEFVAR)* -- document head --> | |
817 | <!ATTLIST HEAD | |
818 | %i18n; -- lang, dir -- | |
819 | > | |
820 | ||
821 | <!ELEMENT DEFVAR - O EMPTY -- variable definition --> | |
822 | <!ATTLIST DEFVAR | |
823 | name CDATA #REQUIRED -- name | |
824 | value CDATA #REQUIRED -- value | |
825 | > | |
826 | ||
827 | ||
828 | <!ENTITY % html.content "HEAD, PAGE"> | |
829 | ||
830 | <!ELEMENT CUPSFORM - - (HEAD) (PAGE)+ -- document root element --> | |
831 | <!ATTLIST CUPSFORM | |
832 | %i18n; -- lang, dir -- | |
833 | > | |
834 | </PRE> | |
835 | </TD></TR> | |
836 | </TABLE> | |
837 | </CENTER> | |
838 | </P> | |
839 | <H2><A NAME="4_4">4.4 CUPS PostScript File</A></H2> | |
840 | <P>CUPS PostScript files are device-dependent Adobe PostScript program | |
841 | files. The PostScript language is described in the<A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf"> | |
842 | Adobe PostScript Language Reference Manual, Third Edition</A>.</P> | |
843 | <P>The MIME type for CUPS PostScript files is <CODE> | |
844 | application/vnd.cups-postscript</CODE>.</P> | |
845 | <H2><A NAME="4_5">4.5 CUPS Raster File</A></H2> | |
846 | <P>CUPS raster files are device-dependent raster image files that | |
847 | contain a PostScript page device dictionary and device-dependent raster | |
848 | imagery for each page in the document. These files are used to transfer | |
849 | raster data from the PostScript and image file RIPs to device-dependent | |
850 | filters that convert the raster data to a printable format.</P> | |
851 | <P>A raster file begins with a four byte synchronization word: | |
852 | 0x52615374 ("RaSt") for big-endian architectures and 0x74536152 | |
853 | ("tSaR") for little-endian architectures. The writer of the raster file | |
854 | will use the native word order, and the reader is responsible for | |
855 | detecting a reversed word order file and swapping bytes as needed. The | |
856 | CUPS Image Library raster functions perform this function | |
857 | automatically.</P> | |
858 | <P>Following the synchronization word are a series of raster pages. Each | |
859 | page starts with a page device dictionary header and is followed | |
860 | immediately by the raster data for that page. | |
861 | <CENTER> | |
862 | <TABLE BORDER="1" WIDTH="80%"> | |
863 | <TR><TH WIDTH="10%">Bytes</TH><TH WIDTH="20%">Description</TH><TH>Values</TH> | |
864 | </TR> | |
865 | <TR><TD>0-63</TD><TD>MediaClass</TD><TD>Nul-terminated ASCII string</TD></TR> | |
866 | <TR><TD>64-127</TD><TD>MediaColor</TD><TD>Nul-terminated ASCII string</TD> | |
867 | </TR> | |
868 | <TR><TD>128-191</TD><TD>MediaType</TD><TD>Nul-terminated ASCII string</TD> | |
869 | </TR> | |
870 | <TR><TD>192-255</TD><TD>OutputType</TD><TD>Nul-terminated ASCII string</TD> | |
871 | </TR> | |
872 | <TR><TD>256-259</TD><TD>AdvanceDistance</TD><TD>0 to 2<SUP>32</SUP> - 1 | |
873 | points</TD></TR> | |
874 | <TR><TD>260-263</TD><TD>AdvanceMedia</TD><TD>0 = Never advance roll | |
875 | <BR> 1 = Advance roll after file | |
876 | <BR> 2 = Advance roll after job | |
877 | <BR> 3 = Advance roll after set | |
878 | <BR> 4 = Advance roll after page</TD></TR> | |
879 | <TR><TD>264-267</TD><TD>Collate</TD><TD>0 = do not collate copies | |
880 | <BR> 1 = collate copies</TD></TR> | |
881 | <TR><TD>268-271</TD><TD>CutMedia</TD><TD>0 = Never cut media | |
882 | <BR> 1 = Cut roll after file | |
883 | <BR> 2 = Cut roll after job | |
884 | <BR> 3 = Cut roll after set | |
885 | <BR> 4 = Cut roll after page</TD></TR> | |
886 | <TR><TD>272-275</TD><TD>Duplex</TD><TD>0 = Print single-sided | |
887 | <BR> 1 = Print double-sided</TD></TR> | |
888 | <TR><TD>276-283</TD><TD>HWResolution</TD><TD>Horizontal and vertical | |
889 | resolution in dots-per-inch.</TD></TR> | |
890 | <TR><TD>284-299</TD><TD>ImagingBoundingBox</TD><TD>Four integers giving | |
891 | the left, bottom, right, and top positions of the page bounding box in | |
892 | points</TD></TR> | |
893 | <TR><TD>300-303</TD><TD>InsertSheet</TD><TD>0 = Do not insert separator | |
894 | sheets | |
895 | <BR> 1 = Insert separator sheets</TD></TR> | |
896 | <TR><TD>304-307</TD><TD>Jog</TD><TD>0 = Do no jog pages | |
897 | <BR> 1 = Jog pages after file | |
898 | <BR> 2 = Jog pages after job | |
899 | <BR> 3 = Jog pages after set</TD></TR> | |
900 | <TR><TD>308-311</TD><TD>LeadingEdge</TD><TD>0 = Top edge is first | |
901 | <BR> 1 = Right edge is first | |
902 | <BR> 2 = Bottom edge is first | |
903 | <BR> 3 = Left edge is first</TD></TR> | |
904 | <TR><TD>312-319</TD><TD>Margins</TD><TD>Left and bottom origin of image | |
905 | in points</TD></TR> | |
906 | <TR><TD>320-323</TD><TD>ManualFeed</TD><TD>0 = Do not manually feed | |
907 | media | |
908 | <BR> 1 = Manually feed media</TD></TR> | |
909 | <TR><TD>324-327</TD><TD>MediaPosition</TD><TD>Input slot position from 0 | |
910 | to N</TD></TR> | |
911 | <TR><TD>328-331</TD><TD>MediaWeight</TD><TD>Media weight in grams per | |
912 | meter squared</TD></TR> | |
913 | <TR><TD>332-335</TD><TD>MirrorPrint</TD><TD>0 = Do not mirror prints | |
914 | <BR> 1 = Mirror prints</TD></TR> | |
915 | <TR><TD>336-339</TD><TD>NegativePrint</TD><TD>0 = Do not invert prints | |
916 | <BR> 1 = Invert prints</TD></TR> | |
917 | <TR><TD>340-343</TD><TD>NumCopies</TD><TD>1 to 2<SUP>32</SUP> - 1</TD></TR> | |
918 | <TR><TD>344-347</TD><TD>Orientation</TD><TD>0 = Do not rotate page | |
919 | <BR> 1 = Rotate page counter-clockwise | |
920 | <BR> 2 = Turn page upside down | |
921 | <BR> 3 = Rotate page clockwise</TD></TR> | |
922 | <TR><TD>348-351</TD><TD>OutputFaceUp</TD><TD>0 = Output face down | |
923 | <BR> 1 = Output face up</TD></TR> | |
924 | <TR><TD>352-359</TD><TD>PageSize</TD><TD>Width and length in points</TD></TR> | |
925 | <TR><TD>360-363</TD><TD>Separations</TD><TD>0 = Print composite image | |
926 | <BR> 1 = Print color separations</TD></TR> | |
927 | <TR><TD>364-367</TD><TD>TraySwitch</TD><TD>0 = Do not change trays if | |
928 | selected tray is empty | |
929 | <BR> 1 = Change trays if selected tray is empty</TD></TR> | |
930 | <TR><TD>368-371</TD><TD>Tumble</TD><TD>0 = Do not rotate even pages when | |
931 | duplexing | |
932 | <BR> 1 = Rotate even pages when duplexing</TD></TR> | |
933 | <TR><TD>372-375</TD><TD>cupsWidth</TD><TD>Width of page image in pixels</TD> | |
934 | </TR> | |
935 | <TR><TD>376-379</TD><TD>cupsHeight</TD><TD>Height of page image in | |
936 | pixels</TD></TR> | |
937 | <TR><TD>380-383</TD><TD>cupsMediaType</TD><TD>Driver-specific 0 to 2<SUP> | |
938 | 32</SUP> - 1</TD></TR> | |
939 | <TR><TD>384-387</TD><TD>cupsBitsPerColor</TD><TD>1, 2, 4, 8 bits</TD></TR> | |
940 | <TR><TD>388-391</TD><TD>cupsBitsPerPixel</TD><TD>1 to 32 bits</TD></TR> | |
941 | <TR><TD>392-395</TD><TD>cupsBytesPerLine</TD><TD>1 to 2<SUP>32</SUP> - 1 | |
942 | bytes</TD></TR> | |
943 | <TR><TD>396-399</TD><TD>cupsColorOrder</TD><TD>0 = chunky pixels (CMYK | |
944 | CMYK CMYK) | |
945 | <BR> 1 = banded pixels (CCC MMM YYY KKK) | |
946 | <BR> 2 = planar pixels (CCC... MMM... YYY... KKK...)</TD></TR> | |
947 | <TR><TD>400-403</TD><TD>cupsColorSpace</TD><TD>0 = white | |
948 | <BR> 1 = RGB | |
949 | <BR> 2 = RGBA | |
950 | <BR> 3 = black | |
951 | <BR> 4 = CMY | |
952 | <BR> 5 = YMC | |
953 | <BR> 6 = CMYK | |
954 | <BR> 7 = YMCK | |
955 | <BR> 8 = KCMY | |
956 | <BR> 9 = KCMYcm</TD></TR> | |
957 | <TR><TD>404-407</TD><TD>cupsCompression</TD><TD>Driver-specific 0 to 2<SUP> | |
958 | 32</SUP> - 1</TD></TR> | |
959 | <TR><TD>408-411</TD><TD>cupsRowCount</TD><TD>Driver-specific 0 to 2<SUP> | |
960 | 32</SUP> - 1</TD></TR> | |
961 | <TR><TD>412-415</TD><TD>cupsRowFeed</TD><TD>Driver-specific 0 to 2<SUP> | |
962 | 32</SUP> - 1</TD></TR> | |
963 | <TR><TD>416-419</TD><TD>cupsRowStep</TD><TD>Driver-specific 0 to 2<SUP> | |
964 | 32</SUP> - 1</TD></TR> | |
965 | </TABLE> | |
966 | </CENTER> | |
967 | </P> | |
968 | <P>The MIME type for CUPS Raster files is <CODE> | |
969 | application/vnd.cups-raster</CODE>.</P> | |
970 | <H2><A NAME="4_6">4.6 CUPS Raw Files</A></H2> | |
971 | <P>Raw files are printer-dependent print files that are in a format | |
972 | suitable to the destination printer (e.g. HP-PCL, HP-RTL, etc.) The | |
973 | MIME type for CUPS Raw files is <CODE>application/vnd.cups-raw</CODE>.</P> | |
974 | <H2><A NAME="4_7">4.7 Internet Printing Protocol</A></H2> | |
975 | <P>The Internet Printing Protocol and the CUPS extensions to it are | |
976 | described in the CUPS Implementation of IPP document.</P> | |
977 | <H2><A NAME="4_8">4.8 Line Printer Daemon Protocol</A></H2> | |
978 | <P>The Line Printer Daemon (LPD) protocol is described by<A HREF="http://www.ietf.org/rfc/rfc1179.txt"> | |
979 | RFC 1179: Line Printer Daemon Protocol</A>.</P> | |
980 | <P>The URI method name for LPD is "lpd".</P> | |
981 | <H2><A NAME="4_9">4.9 Server Message Block Protocol</A></H2> | |
982 | <P>The Server Message Block (SMB) and related Common Internet File | |
983 | System (CIFS) protocols are described at<A HREF="http://anu.samba.org/cifs"> | |
984 | http://anu.samba.org/cifs</A>.</P> | |
985 | <P>The URI method name for SMB is "smb". Support for this protocol is | |
986 | provided via the SAMBA <CODE>smbspool(1)</CODE> program provided with | |
987 | SAMBA 2.0.6 and higher.</P> | |
988 | <H1><A NAME="5">5 Directories</A></H1> | |
989 | <DL> | |
990 | <DT>/etc/cups</DT> | |
991 | <DD>The scheduler configuration and MIME files reside here.</DD> | |
992 | <DT>/etc/cups/certs</DT> | |
993 | <DD>The authentication certificates reside here.</DD> | |
994 | <DT>/etc/cups/interfaces</DT> | |
995 | <DD>System V interface scripts reside here.</DD> | |
996 | <DT>/etc/cups/ppd</DT> | |
997 | <DD>This directory contains PPD files for each printer.</DD> | |
998 | <DT>/usr/bin</DT> | |
999 | <DD>The <CODE>cancel</CODE>, <CODE>lp</CODE>, <CODE>lpq</CODE>, <CODE> | |
1000 | lpr</CODE>, <CODE>lprm</CODE>, and <CODE>lpstat</CODE> commands reside | |
1001 | here.</DD> | |
1002 | <DT>/usr/lib, /usr/lib32</DT> | |
1003 | <DD>The shared libraries (DSOs) reside here.</DD> | |
1004 | <DT>/usr/lib/cups/backend</DT> | |
1005 | <DD>The backend filters reside here.</DD> | |
1006 | <DT>/usr/lib/cups/cgi-bin</DT> | |
1007 | <DD>The CGI programs reside here.</DD> | |
1008 | <DT>/usr/lib/cups/daemon</DT> | |
1009 | <DD>The polling and LPD daemons reside here.</DD> | |
1010 | <DT>/usr/lib/cups/filter</DT> | |
1011 | <DD>The file filters reside here.</DD> | |
1012 | <DT>/usr/sbin</DT> | |
1013 | <DD>The <CODE>accept</CODE>, <CODE>cupsd</CODE>, <CODE>lpadmin</CODE>, <CODE> | |
1014 | lpc</CODE>, and <CODE>reject</CODE> commands reside here.</DD> | |
1015 | <DT>/usr/share/cups</DT> | |
1016 | <DD>This is the root directory of the CUPS static data.</DD> | |
1017 | <DT>/usr/share/cups/charsets</DT> | |
1018 | <DD>The character set files reside here.</DD> | |
1019 | <DT>/usr/share/cups/data</DT> | |
1020 | <DD>The filter data files reside here.</DD> | |
1021 | <DT>/usr/share/cups/fonts</DT> | |
1022 | <DD>The <CODE>pstoraster</CODE> font files reside here.</DD> | |
1023 | <DT>/usr/share/cups/model</DT> | |
1024 | <DD>The sample PPD files reside here.</DD> | |
1025 | <DT>/usr/share/cups/pstoraster</DT> | |
1026 | <DD>The <CODE>pstoraster</CODE> data files reside here.</DD> | |
1027 | <DT>/usr/share/doc/cups</DT> | |
1028 | <DD>The scheduler documentation files reside here.</DD> | |
1029 | <DT>/var/log/cups</DT> | |
1030 | <DD>The <CODE>access_log</CODE>, <CODE>error_log</CODE>, and <CODE> | |
1031 | page_log</CODE> files reside here.</DD> | |
1032 | <DT>/var/spool/cups</DT> | |
1033 | <DD>This directory contains print job files.</DD> | |
1034 | </DL> | |
1035 | <H1 TYPE="A" VALUE="1"><A NAME="6">A Glossary</A></H1> | |
1036 | <H2><A NAME="6_1">A.1 Terms</A></H2> | |
1037 | <DL> | |
1038 | <DT>C</DT> | |
1039 | <DD>A computer language.</DD> | |
1040 | <DT>parallel</DT> | |
1041 | <DD>Sending or receiving data more than 1 bit at a time.</DD> | |
1042 | <DT>pipe</DT> | |
1043 | <DD>A one-way communications channel between two programs.</DD> | |
1044 | <DT>serial</DT> | |
1045 | <DD>Sending or receiving data 1 bit at a time.</DD> | |
1046 | <DT>socket</DT> | |
1047 | <DD>A two-way network communications channel.</DD> | |
1048 | </DL> | |
1049 | <H2><A NAME="6_2">A.2 Acronyms</A></H2> | |
1050 | <DL> | |
1051 | <DT>ASCII</DT> | |
1052 | <DD>American Standard Code for Information Interchange</DD> | |
1053 | <DT>CUPS</DT> | |
1054 | <DD>Common UNIX Printing System</DD> | |
1055 | <DT>ESC/P</DT> | |
1056 | <DD>EPSON Standard Code for Printers</DD> | |
1057 | <DT>FTP</DT> | |
1058 | <DD>File Transfer Protocol</DD> | |
1059 | <DT>HP-GL</DT> | |
1060 | <DD>Hewlett-Packard Graphics Language</DD> | |
1061 | <DT>HP-PCL</DT> | |
1062 | <DD>Hewlett-Packard Page Control Language</DD> | |
1063 | <DT>HP-PJL</DT> | |
1064 | <DD>Hewlett-Packard Printer Job Language</DD> | |
1065 | <DT>IETF</DT> | |
1066 | <DD>Internet Engineering Task Force</DD> | |
1067 | <DT>IPP</DT> | |
1068 | <DD>Internet Printing Protocol</DD> | |
1069 | <DT>ISO</DT> | |
1070 | <DD>International Standards Organization</DD> | |
1071 | <DT>LPD</DT> | |
1072 | <DD>Line Printer Daemon</DD> | |
1073 | <DT>MIME</DT> | |
1074 | <DD>Multimedia Internet Mail Exchange</DD> | |
1075 | <DT>PPD</DT> | |
1076 | <DD>PostScript Printer Description</DD> | |
1077 | <DT>SMB</DT> | |
1078 | <DD>Server Message Block</DD> | |
1079 | <DT>TFTP</DT> | |
1080 | <DD>Trivial File Transfer Protocol</DD> | |
1081 | </DL> | |
1082 | </BODY> | |
1083 | </HTML> |