]>
Commit | Line | Data |
---|---|---|
6a921799 | 1 | <HTML> |
2 | <HEAD> | |
1d9595ab | 3 | <META NAME="COPYRIGHT" CONTENT="Copyright 1997-2003, All Rights Reserved"> |
9cfa8573 | 4 | <META NAME="DOCNUMBER" CONTENT="CUPS-IDD-1.2"> |
27931043 | 5 | <META NAME="Author" CONTENT="Easy Software Products"> |
78021ed9 | 6 | <TITLE>CUPS Interface Design Description</TITLE> |
6a921799 | 7 | </HEAD> |
8 | <BODY> | |
9 | ||
10 | <H1>Scope</H1> | |
11 | ||
12 | <H2>Identification</H2> | |
13 | ||
c7fa9d06 | 14 | <P>This interface design description document provides detailed file |
6a921799 | 15 | formats, message formats, and program conventions for the Common UNIX |
9cfa8573 | 16 | Printing System ("CUPS") Version 1.2. |
6a921799 | 17 | |
1aee2644 | 18 | <EMBED SRC="system-overview.shtml"> |
e15022a6 | 19 | |
6a921799 | 20 | <H2>Document Overview</H2> |
21 | ||
c7fa9d06 | 22 | <P>This interface design description document is organized into the following |
6a921799 | 23 | sections: |
24 | ||
25 | <UL> | |
26 | <LI>1 - Scope | |
27 | <LI>2 - References | |
28 | <LI>3 - Internal Interfaces | |
29 | <LI>4 - External Interfaces | |
c7fa9d06 | 30 | <LI>5 - Directories |
6a921799 | 31 | <LI>A - Glossary |
32 | </UL> | |
33 | ||
1aee2644 | 34 | <EMBED SRC="references.shtml"> |
6a921799 | 35 | |
36 | <H1>Internal Interfaces</H1> | |
37 | ||
38 | <H2>Character Set Files</H2> | |
39 | ||
c7fa9d06 | 40 | <P>The character set files define a mapping between 8-bit characters |
d28d23c4 | 41 | and the Unicode character set, or between Unicode and printer fonts. |
42 | They are named using the IETF charset names defined in RFCnnnn. These | |
43 | files are ASCII text, the content of which is described below. Comments | |
44 | can be included by using the <TT>#</TT> character in the first column | |
45 | of a line. | |
46 | ||
47 | <H3>8-Bit Character Set Files</H3> | |
48 | ||
49 | <P>8-bit character set files start with a line reading: | |
50 | ||
51 | <UL><PRE> | |
52 | charset 8bit | |
53 | </PRE></UL> | |
54 | ||
3d9e2586 | 55 | <P>Following this are lines that define the font information: |
d28d23c4 | 56 | |
57 | <UL><PRE> | |
3d9e2586 | 58 | first last direction width normal bold italic bold-italic |
d28d23c4 | 59 | </PRE></UL> |
60 | ||
3d9e2586 | 61 | <P><VAR>First</VAR> and <VAR>last</VAR> are the first and last glyphs |
62 | in the font mapping that correspond to that font; a maximum of 256 | |
63 | characters can be mapped within each group, with a maximum of 256 | |
64 | mappings (this is a PostScript limitation.) The glyph values are | |
65 | hexadecimal. | |
66 | ||
d28d23c4 | 67 | <P><VAR>Direction</VAR> is the string "ltor", "rtol", or "rtola" indicating |
68 | left-to-right, right-to-left, or right-to-left Arabic text. | |
69 | ||
70 | <P><VAR>Width</VAR> is the string "single" or "double"; double means that the | |
71 | glyphs are twice as wide as ASCII characters in the Courier typeface. | |
72 | ||
73 | <P><VAR>Normal, bold, italic</VAR>, and <VAR>bold-italic</VAR> are the | |
74 | typefaces to use for each presentation. If characters are only available in | |
75 | a single style then only one typeface should be listed (e.g. "Symbol".) | |
76 | Each font that is listed will be used (and downloaded if needed) when | |
77 | printing. | |
78 | ||
79 | <P>The remaining lines define a character to Unicode glyph mapping for the | |
3d9e2586 | 80 | character set. The character and glyph values are hexadecimal: |
81 | ||
82 | <UL><PRE> | |
83 | xx yyyy | |
84 | </PRE></UL> | |
d28d23c4 | 85 | |
86 | <H3>Unicode Character Set Files</H3> | |
87 | ||
88 | <P>Unicode character set files start with a line reading: | |
89 | ||
90 | <UL><PRE> | |
91 | charset encoding | |
92 | </PRE></UL> | |
93 | ||
94 | <P><VAR>Encoding</VAR> is the encoding to use for the text; currently only | |
95 | the string "utf8" is supported. | |
96 | ||
97 | <P>Following this are lines defining the font information: | |
98 | ||
99 | <UL><PRE> | |
100 | first last direction width normal bold italic bold-italic | |
101 | </PRE></UL> | |
102 | ||
103 | <P><VAR>First</VAR> and <VAR>last</VAR> are the first and last glyphs | |
104 | in the font mapping that correspond to that font; a maximum of 256 | |
105 | characters can be mapped within each group, with a maximum of 256 | |
106 | mappings (this is a PostScript limitation.) The glyph values are | |
107 | hexadecimal. | |
108 | ||
109 | <P><VAR>Direction</VAR> is the string "ltor", "rtol", or "rtola" indicating | |
110 | left-to-right, right-to-left, or right-to-left Arabic text. | |
111 | ||
112 | <P><VAR>Width</VAR> is the string "single" or "double"; double means that the | |
113 | glyphs are twice as wide as ASCII characters in the Courier typeface. | |
114 | ||
115 | <P><VAR>Normal, bold, italic</VAR>, and <VAR>bold-italic</VAR> are the | |
116 | typefaces to use for each presentation. If characters are only available in | |
117 | a single style then only one typeface should be listed (e.g. "Symbol".) | |
118 | Each font that is listed will be used (and downloaded if needed) when | |
119 | printing. | |
c7fa9d06 | 120 | |
6a921799 | 121 | <H2>Language Files</H2> |
122 | ||
c7fa9d06 | 123 | <P>The language files define the default character set and a collection of |
124 | text messages in that language. They are named by prefixing the string "cups_" | |
125 | to the front of the language specifier (e.g. "cups_en", "cups_fr", etc.) Each | |
126 | file consists of two or more lines of ASCII text. | |
127 | ||
128 | <P>The first line identifies the character set to be used for the messages. | |
129 | The currently recognized values are: | |
130 | ||
131 | <UL> | |
c7fa9d06 | 132 | <LI>iso-8859-1 |
133 | <LI>iso-8859-2 | |
134 | <LI>iso-8859-3 | |
135 | <LI>iso-8859-4 | |
136 | <LI>iso-8859-5 | |
137 | <LI>iso-8859-6 | |
138 | <LI>iso-8859-7 | |
139 | <LI>iso-8859-8 | |
140 | <LI>iso-8859-9 | |
3d9e2586 | 141 | <LI>iso-8859-10 |
142 | <LI>iso-8859-13 | |
c7fa9d06 | 143 | <LI>iso-8859-14 |
144 | <LI>iso-8859-15 | |
d28d23c4 | 145 | <LI>us-ascii |
146 | <LI>utf-8 | |
4ccfab33 | 147 | <LI>windows-874 |
148 | <LI>windows-1250 | |
149 | <LI>windows-1251 | |
150 | <LI>windows-1252 | |
151 | <LI>windows-1253 | |
152 | <LI>windows-1254 | |
153 | <LI>windows-1255 | |
154 | <LI>windows-1256 | |
155 | <LI>windows-1257 | |
156 | <LI>windows-1258 | |
0ffae44c | 157 | <LI>koi8-r |
158 | <LI>koi8-u | |
c7fa9d06 | 159 | </UL> |
160 | ||
161 | <P>The second and succeeding lines define text messages. If the message text | |
162 | is preceded by a number, then the current message number is updated and the | |
163 | text after the number is used. | |
164 | ||
6a921799 | 165 | <H2>MIME Files</H2> |
166 | ||
c7fa9d06 | 167 | <P>CUPS uses two MIME files in its standard configuration. |
168 | ||
6a921799 | 169 | <H3>mime.types</H3> |
170 | ||
c7fa9d06 | 171 | <P>The mime.types file defines the recognized file types and consists |
172 | of 1 or more lines of ASCII text. Comment lines start with the pound | |
173 | ("#") character. The backslash ("\") character can be used at the end | |
174 | of a line to continue that line to the next. | |
175 | ||
176 | <P>Each non-blank line starts with a MIME type identifier ("super/type") | |
177 | as registered with the IANA. All text following the MIME type is treated as | |
178 | a series of type recognition rules: | |
179 | ||
180 | <UL><PRE> | |
181 | mime-type := super "/" type { SP rule }* | |
182 | super := { "a-z" | "A-Z" }* | |
183 | type := { "a-z" | "A-Z" | "-" | "." | "0-9" }* | |
184 | rule := { extension | match | operator | "(" rule ")" }* | |
185 | extension := { "a-z" | "A-Z" | "0-9" }* | |
186 | match := "match(" regexp ")" | | |
187 | "ascii(" offset "," length ")" | | |
188 | "printable(" offset "," length ")" | | |
189 | "string(" offset "," string ")" | | |
d28d23c4 | 190 | "contains(" offset "," length "," string ")" | |
c7fa9d06 | 191 | "char(" offset "," value ")" | |
192 | "short(" offset "," value ")" | | |
193 | "int(" offset "," value ")" | | |
194 | "locale(" string ")" | |
195 | operator := "+" | [ logical AND ] | |
196 | "," | SP [ logical OR ] | |
197 | "!" [ unary NOT ] | |
198 | </PRE></UL> | |
199 | ||
79e4b8cb | 200 | <P>The <CODE>int</CODE> and <CODE>short</CODE> rules match look for integers |
201 | in network byte order (a.k.a. big-endian) with the most-significant byte first. | |
202 | ||
6a921799 | 203 | <H3>mime.convs</H3> |
204 | ||
c7fa9d06 | 205 | <P>The mime.types file defines the recognized file filters and consists |
206 | of 1 or more lines of ASCII text. Comment lines start with the pound | |
207 | ("#") character. | |
208 | ||
209 | <P>Each non-blank line starts with two MIME type identifiers ("super/type") | |
210 | representing the source and destination types. Following the MIME types are | |
211 | a cost value (0 to 100) and the filter program to use. If the filter program | |
212 | is not specified using the full path then it must reside in the CUPS filter | |
4ccfab33 | 213 | directory: |
214 | ||
215 | <UL><PRE> | |
216 | super/type SP super/type2 SP cost SP program | |
217 | </PRE></UL> | |
c7fa9d06 | 218 | |
d28d23c4 | 219 | <H2>Option Files</H2> |
220 | ||
221 | <P>CUPS maintains user-defined printer and option files for each | |
222 | printer and user on the system. The printers and options defined in the | |
223 | system option file (<CODE>/etc/cups/lpoptions</CODE>) are loaded first, | |
224 | followed by the user option file (<CODE>$HOME/.lpoptions</CODE>). | |
225 | Options in the user file replace those defined in the system file for | |
226 | the same destination. Each line in the files can be one of the | |
227 | following: | |
228 | ||
229 | <UL><PRE> | |
230 | Dest name option=value option=value ... option=value | |
231 | Dest name/instance option=value option=value ... option=value | |
232 | Default name option=value option=value ... option=value | |
233 | Default name/instance option=value option=value ... option=value | |
234 | </PRE></UL> | |
235 | ||
236 | <P>The line beginning with "Default" indicates the default destination for | |
237 | print jobs; a default line in the user option file overrides the default | |
238 | defined in the system option file. | |
239 | ||
240 | <P><VAR>Name</VAR> is the name of a printer known to the local server. | |
241 | ||
242 | <P><VAR>Instance</VAR> can be any string of letters, numbers, and the underscore | |
243 | up to 127 characters in length. | |
244 | ||
245 | <P>The remainder of the line contains a list of space-separated options | |
246 | and their values. | |
247 | ||
c7fa9d06 | 248 | <H2>PostScript Printer Description Files</H2> |
249 | ||
d28d23c4 | 250 | <P>PostScript Printer Description ("PPD") files describe the capabilities |
251 | of each printer and are used by CUPS to support printer-specific features | |
252 | and intelligent filtering. | |
253 | ||
254 | <H3>PPD Specification</H3> | |
255 | ||
256 | <P>The PPD file format is described in | |
257 | <A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf"> | |
c7fa9d06 | 258 | Adobe TechNote #5003: PostScript Printer Description File Format |
259 | Specification Version 4.3</A>. | |
6a921799 | 260 | |
e15022a6 | 261 | <H3>CUPS Extensions to PPD Files</H3> |
262 | ||
263 | <P>CUPS adds several new attributes that are described below. | |
264 | ||
265 | <H4>cupsFilter</H4> | |
266 | ||
267 | <P>This string attribute provides a conversion rule of the form: | |
268 | ||
269 | <UL><PRE> | |
270 | source/type cost program | |
271 | </PRE></UL> | |
272 | ||
273 | <P>The destination type is assumed to the printer's type. If a printer | |
79e4b8cb | 274 | supports the source type directly the special filter program "-" may be |
275 | specified. | |
e15022a6 | 276 | |
277 | <H4>cupsManualCopies</H4> | |
278 | ||
279 | <P>This boolean attribute notifies the RIP filters that the destination printer | |
280 | does not support copy generation in hardware. The default value is false. | |
281 | ||
282 | <H4>cupsModelNumber</H4> | |
283 | ||
284 | <P>This integer attribute specifies a printer-specific model number. This number | |
285 | can be used by a filter program to adjust the output for a specific model of | |
286 | printer. | |
287 | ||
288 | <H4>cupsProfile</H4> | |
289 | ||
290 | <P>This string attribute specifies a color profile of the form: | |
291 | ||
292 | <UL><PRE> | |
ea0c2f2f | 293 | resolution/type density gamma m00 m01 m02 m10 m11 m12 m20 m21 m22 |
e15022a6 | 294 | </PRE></UL> |
295 | ||
296 | <P>The <I>resolution</I> and <I>type</I> values may be "-" to act as a | |
297 | wildcard. Otherwise they must match one of the <CODE>Resolution</CODE> or | |
298 | <CODE>MediaType</CODE> attributes defined in the PPD file. | |
299 | ||
ea0c2f2f | 300 | <P>The <I>density</I> and <I>gamma</I> values define gamma and density |
301 | adjustment function such that: | |
e15022a6 | 302 | |
303 | <UL><PRE> | |
ea0c2f2f | 304 | f(x) = density * x<SUP>gamma</SUP> |
e15022a6 | 305 | </PRE></UL> |
306 | ||
307 | <P>The <I>m00</I> through <I>m22</I> values define a 3x3 transformation | |
308 | matrix for the CMY color values. The density function is applied <I>after</I> | |
309 | the CMY transformation. | |
310 | ||
311 | <H4>cupsVersion</H4> | |
312 | ||
9cfa8573 | 313 | <P>This required attribute describes which version of the CUPS |
314 | IDD was used for the PPD file extensions. Currently it must be | |
315 | the string "1.0", "1.1", or "1.2". | |
e15022a6 | 316 | |
6a921799 | 317 | <H2>Scheduler Configuration Files</H2> |
318 | ||
c7fa9d06 | 319 | <P>The scheduler reads three configuration files that define the available |
320 | printers, classes, and services: | |
321 | ||
322 | <DL> | |
323 | ||
324 | <DT>classes.conf | |
325 | <DD>This file defines all of the printer classes known to the | |
326 | system. | |
327 | ||
328 | <DT>cupsd.conf | |
329 | <DD>This file defines the files, directories, passwords, etc. | |
330 | used by the scheduler. | |
331 | ||
332 | <DT>printers.conf | |
333 | <DD>This file defines all of the printers known to the system. | |
334 | ||
335 | </DL> | |
336 | ||
337 | <H3>classes.conf</H3> | |
338 | ||
339 | <P>The classes.conf file consists of 1 or more lines of ASCII text. | |
340 | Comment lines start with the pound ("#") character. | |
341 | ||
342 | <P>Each non-blank line starts with the name of a configuration directive | |
343 | followed by its value. The following directives are understood: | |
344 | ||
345 | <CENTER><TABLE WIDTH="90%" BORDER="1"> | |
346 | <TR> | |
347 | <TH WIDTH="25%">Directive</TH> | |
348 | <TH>Description</TH> | |
349 | </TR> | |
350 | <TR> | |
351 | <TD><Class name><BR> | |
352 | </Class></TD> | |
78021ed9 | 353 | <TD>Surrounds a class definition.</TD> |
c7fa9d06 | 354 | </TR> |
355 | <TR> | |
356 | <TD><DefaultClass name><BR> | |
e15022a6 | 357 | </Class></TD> |
78021ed9 | 358 | <TD>Surrounds a class definition for the default destination.</TD> |
359 | </TR> | |
360 | <TR> | |
361 | <TD>Accepting</TD> | |
362 | <TD>Specifies whether the class is accepting new jobs. May be | |
363 | the names "Yes" or "No".</TD> | |
c7fa9d06 | 364 | </TR> |
d28d23c4 | 365 | <TR> |
366 | <TD>AllowUsers</TD> | |
367 | <TD>Specifies a list of users that are allowed to access the class.</TD> | |
368 | </TR> | |
369 | <TR> | |
370 | <TD>BannerStart</TD> | |
371 | <TD>Specifies the banner that is printed before other files in a | |
372 | job.</TD> | |
373 | </TR> | |
374 | <TR> | |
375 | <TD>BannerEnd</TD> | |
376 | <TD>Specifies the banner that is printed after other files in a | |
377 | job.</TD> | |
378 | </TR> | |
379 | <TR> | |
380 | <TD>DenyUsers</TD> | |
381 | <TD>Specifies a list of users that are not allowed to access the | |
382 | class.</TD> | |
383 | </TR> | |
c7fa9d06 | 384 | <TR> |
385 | <TD>Info</TD> | |
78021ed9 | 386 | <TD>A textual description of the class.</TD> |
c7fa9d06 | 387 | </TR> |
388 | <TR> | |
389 | <TD>Location</TD> | |
78021ed9 | 390 | <TD>A textual location of the class.</TD> |
c7fa9d06 | 391 | </TR> |
c7fa9d06 | 392 | <TR> |
393 | <TD>Printer</TD> | |
78021ed9 | 394 | <TD>Specifies a printer that is a member of the class.</TD> |
c7fa9d06 | 395 | </TR> |
d28d23c4 | 396 | <TR> |
397 | <TD>State</TD> | |
398 | <TD>Specifies the initial state of the class; can be "Idle" or | |
399 | "Stopped".</TD> | |
400 | </TR> | |
401 | <TR> | |
402 | <TD>StateMessage</TD> | |
403 | <TD>Specifies a textual message for the current class state.</TD> | |
404 | </TR> | |
c7fa9d06 | 405 | </TABLE></CENTER> |
406 | ||
6a921799 | 407 | <H3>cupsd.conf</H3> |
408 | ||
c7fa9d06 | 409 | <P>The cupsd.conf file consists of 1 or more lines of ASCII text. |
410 | Comment lines start with the pound ("#") character. | |
411 | ||
412 | <P>Each non-blank line starts with the name of a configuration directive | |
413 | followed by its value. The following directives are understood: | |
414 | ||
415 | <CENTER><TABLE WIDTH="90%" BORDER="1"> | |
416 | <TR> | |
417 | <TH WIDTH="25%">Directive</TH> | |
f00bf841 | 418 | <TH>Default</TH> |
c7fa9d06 | 419 | <TH>Description</TH> |
420 | </TR> | |
421 | <TR> | |
422 | <TD>AccessLog</TD> | |
d28d23c4 | 423 | <TD>access_log</TD> |
424 | <TD>Specifies the location of the access log file. The special name | |
425 | "syslog" can be used to send access log information to the system | |
426 | log.</TD> | |
c7fa9d06 | 427 | </TR> |
428 | <TR> | |
429 | <TD>Allow</TD> | |
78021ed9 | 430 | <TD>-</TD> |
431 | <TD>Allows connections from the specified host, network, or | |
432 | domain.</TD> | |
c7fa9d06 | 433 | </TR> |
434 | <TR> | |
435 | <TD>AuthClass</TD> | |
78021ed9 | 436 | <TD>-</TD> |
d28d23c4 | 437 | <TD>Specifies what level of authentication is required; may be |
78021ed9 | 438 | "User", "System", or "Group".</TD> |
c7fa9d06 | 439 | </TR> |
440 | <TR> | |
441 | <TD>AuthType</TD> | |
78021ed9 | 442 | <TD>None</TD> |
d28d23c4 | 443 | <TD>Specifies the type of authentication to perform; may be |
444 | "None", "Basic", or "Digest".</TD> | |
c7fa9d06 | 445 | </TR> |
446 | <TR> | |
447 | <TD>BrowseAddress</TD> | |
78021ed9 | 448 | <TD>255.255.255.255</TD> |
449 | <TD>Specifies a broadcast address to send CUPS browsing packets to.</TD> | |
c7fa9d06 | 450 | </TR> |
d28d23c4 | 451 | <TR> |
452 | <TD>BrowseAllow</TD> | |
453 | <TD>-</TD> | |
454 | <TD>Specifies hosts or addresses from which browsing information | |
455 | should be used.</TD> | |
456 | </TR> | |
457 | <TR> | |
458 | <TD>BrowseDeny</TD> | |
459 | <TD>-</TD> | |
460 | <TD>Specifies hosts or addresses from which browsing information | |
461 | should not be used.</TD> | |
462 | </TR> | |
c7fa9d06 | 463 | <TR> |
464 | <TD>BrowseInterval</TD> | |
78021ed9 | 465 | <TD>30</TD> |
d28d23c4 | 466 | <TD>Specifies the number of seconds between browsing updates. A |
467 | browse interval of 0 seconds disables outgoing packets.</TD> | |
468 | </TR> | |
469 | <TR> | |
470 | <TD>BrowseOrder</TD> | |
471 | <TD>Allow,Deny</TD> | |
472 | <TD>Specifies the order of BrowseAllow and BrowseDeny directive | |
473 | processing; can be "Deny,Allow" to implicitly deny hosts unless | |
474 | they are allowed by a BrowseAllow line, or "Allow,Deny" to | |
475 | implicitly allow hosts unless they are denied by a BrowseDeny | |
476 | line.</TD> | |
477 | </TR> | |
478 | <TR> | |
479 | <TD>BrowsePoll</TD> | |
480 | <TD>-</TD> | |
481 | <TD>Specifies a server to poll for available printers and classes.</TD> | |
c7fa9d06 | 482 | </TR> |
483 | <TR> | |
484 | <TD>BrowsePort</TD> | |
78021ed9 | 485 | <TD>631</TD> |
486 | <TD>Specifies the UDP port number to use for browse packets.</TD> | |
c7fa9d06 | 487 | </TR> |
d28d23c4 | 488 | <TR> |
489 | <TD>BrowseRelay</TD> | |
490 | <TD>-</TD> | |
491 | <TD>Specifies a source and destination address for relaying browser | |
492 | information from one subnet to another.</TD> | |
493 | </TR> | |
4ccfab33 | 494 | <TR> |
495 | <TD>BrowseShortNames</TD> | |
496 | <TD>yes</TD> | |
497 | <TD>Specifies whether or not to provide short names (without the | |
498 | "@server" part) for remote printers.</TD> | |
499 | </TR> | |
c7fa9d06 | 500 | <TR> |
501 | <TD>BrowseTimeout</TD> | |
78021ed9 | 502 | <TD>300</TD> |
503 | <TD>Specifies the number of seconds to wait until remote destinations | |
504 | are removed from the local destination list.</TD> | |
c7fa9d06 | 505 | </TR> |
506 | <TR> | |
507 | <TD>Browsing</TD> | |
78021ed9 | 508 | <TD>On</TD> |
509 | <TD>Specifies whether or not printer and class browsing is enabled; can | |
510 | be "On" or "Off".</TD> | |
c7fa9d06 | 511 | </TR> |
4ccfab33 | 512 | <TR> |
513 | <TD>DataDir</TD> | |
514 | <TD>/usr/share/cups</TD> | |
515 | <TD>Specifies the directory where CUPS data files are stored.</TD> | |
516 | </TR> | |
c7fa9d06 | 517 | <TR> |
518 | <TD>DefaultCharset</TD> | |
78021ed9 | 519 | <TD>iso-8859-1</TD> |
520 | <TD>Specifies the default character set.</TD> | |
c7fa9d06 | 521 | </TR> |
522 | <TR> | |
523 | <TD>DefaultLanguage</TD> | |
78021ed9 | 524 | <TD>current locale</TD> |
525 | <TD>Specifies the default language.</TD> | |
c7fa9d06 | 526 | </TR> |
527 | <TR> | |
528 | <TD>Deny</TD> | |
78021ed9 | 529 | <TD>-</TD> |
530 | <TD>Refuses connections from the specified host, network, or | |
531 | domain.</TD> | |
c7fa9d06 | 532 | </TR> |
533 | <TR> | |
534 | <TD>DocumentRoot</TD> | |
d28d23c4 | 535 | <TD>/usr/share/doc/cups</TD> |
78021ed9 | 536 | <TD>Specifies the document data root directory.</TD> |
c7fa9d06 | 537 | </TR> |
538 | <TR> | |
539 | <TD>ErrorLog</TD> | |
d28d23c4 | 540 | <TD>error_log</TD> |
541 | <TD>Specifies the error log file location. The special name | |
542 | "syslog" can be used to send error log information to the system | |
543 | log.</TD> | |
c7fa9d06 | 544 | </TR> |
545 | <TR> | |
546 | <TD>Group</TD> | |
78021ed9 | 547 | <TD>root, sys, system</TD> |
548 | <TD>Specifies the group name or ID that is used when running | |
549 | external programs.</TD> | |
c7fa9d06 | 550 | </TR> |
551 | <TR> | |
552 | <TD>HostNameLookups</TD> | |
78021ed9 | 553 | <TD>Off</TD> |
554 | <TD>Specifies whether or not to perform reverse IP address lookups to | |
555 | get the actual hostname; may be "On" or "Off". Hostname lookups can | |
556 | significantly degrade the performance of the CUPS server if one or | |
557 | more DNS servers is not functioning properly.</TD> | |
c7fa9d06 | 558 | </TR> |
559 | <TR> | |
560 | <TD>ImplicitClasses</TD> | |
78021ed9 | 561 | <TD>On</TD> |
562 | <TD>Specifies whether or not to automatically create printer classes | |
563 | when more than one printer or class of the same name is detected on | |
564 | the network; may be "On" or "Off".</TD> | |
c7fa9d06 | 565 | </TR> |
566 | <TR> | |
567 | <TD>KeepAlive</TD> | |
78021ed9 | 568 | <TD>On</TD> |
569 | <TD>Specifies whether or not to use the HTTP Keep-Alive feature; may | |
570 | be "On" or "Off".</TD> | |
c7fa9d06 | 571 | </TR> |
572 | <TR> | |
573 | <TD>KeepAliveTimeout</TD> | |
78021ed9 | 574 | <TD>30</TD> |
575 | <TD>Specifies the amount of time to keep the HTTP connection alive | |
576 | before closing it.</TD> | |
c7fa9d06 | 577 | </TR> |
578 | <TR> | |
579 | <TD><Location path><BR> | |
580 | </Location></TD> | |
78021ed9 | 581 | <TD>-</TD> |
582 | <TD>Specifies a location to restrict access to.</TD> | |
c7fa9d06 | 583 | </TR> |
584 | <TR> | |
585 | <TD>LogLevel</TD> | |
78021ed9 | 586 | <TD>info</TD> |
587 | <TD>Controls the amount of information that is logged in the | |
588 | error log file. Can be one of "debug", "info", "warn", "error", | |
589 | or "none", in decreasing order or verbosity.</TD> | |
f00bf841 | 590 | </TR> |
591 | <TR> | |
592 | <TD>MaxClients</TD> | |
78021ed9 | 593 | <TD>100</TD> |
594 | <TD>Specifies the maximum number of simultaneous active clients. | |
595 | This value is internally limited to 1/3 of the total number of | |
d28d23c4 | 596 | available file descriptors.</TD> |
c7fa9d06 | 597 | </TR> |
598 | <TR> | |
599 | <TD>MaxLogSize</TD> | |
78021ed9 | 600 | <TD>0</TD> |
601 | <TD>Specifies the maximum size of the access, error, and page | |
602 | log files in bytes. If set to 0 then no maximum size is set. | |
603 | Log files are rotated automatically when this size is | |
604 | exceeded.</TD> | |
c7fa9d06 | 605 | </TR> |
606 | <TR> | |
607 | <TD>MaxRequestSize</TD> | |
78021ed9 | 608 | <TD>0</TD> |
609 | <TD>Specifies the maximum size of HTTP requests in bytes. If set to 0 | |
610 | then there is no maximum.</TD> | |
c7fa9d06 | 611 | </TR> |
612 | <TR> | |
613 | <TD>Order</TD> | |
78021ed9 | 614 | <TD>Allow,Deny</TD> |
615 | <TD>Specifies the order of Allow and Deny directive processing; can | |
616 | be "Deny,Allow" to implicitly deny hosts unless they are allowed by | |
617 | an Allow line, or "Allow,Deny" to implicitly allow hosts unless they | |
618 | are denied by a Deny line.</TD> | |
c7fa9d06 | 619 | </TR> |
620 | <TR> | |
621 | <TD>PageLog</TD> | |
d28d23c4 | 622 | <TD>page_log</TD> |
623 | <TD>Specifies the location of the page log file. The special name | |
624 | "syslog" can be used to send page log information to the system | |
625 | log.</TD> | |
c7fa9d06 | 626 | </TR> |
627 | <TR> | |
628 | <TD>Port</TD> | |
78021ed9 | 629 | <TD>631</TD> |
630 | <TD>Specifies a port number to listen to for HTTP connections.</TD> | |
c7fa9d06 | 631 | </TR> |
d28d23c4 | 632 | <TR> |
633 | <TD>Printcap</TD> | |
634 | <TD>/etc/printcap</TD> | |
635 | <TD>Specifies the location of a Berkeley printcap file to update | |
636 | with a list of current printers and classes. If no filename is | |
637 | supplied then this automatic generation is disabled.</TD> | |
638 | </TR> | |
639 | <TR> | |
640 | <TD>RequestRoot</TD> | |
641 | <TD>/var/spool/cups</TD> | |
642 | <TD>Specifies the location of request files.</TD> | |
643 | </TR> | |
c7fa9d06 | 644 | <TR> |
645 | <TD>RIPCache</TD> | |
78021ed9 | 646 | <TD>8m</TD> |
647 | <TD>Specifies the size of the memory cache in bytes that is used by | |
648 | RIP filters.</TD> | |
c7fa9d06 | 649 | </TR> |
650 | <TR> | |
651 | <TD>ServerAdmin</TD> | |
78021ed9 | 652 | <TD>root@ServerName</TD> |
653 | <TD>Specifies the person to contact with problems.</TD> | |
c7fa9d06 | 654 | </TR> |
655 | <TR> | |
656 | <TD>ServerName</TD> | |
78021ed9 | 657 | <TD>hostname</TD> |
658 | <TD>Specifies the hostname that is supplied to HTTP clients. This | |
659 | is also used to determine the default CUPS server for the CUPS IPP | |
660 | client applications.</TD> | |
c7fa9d06 | 661 | </TR> |
662 | <TR> | |
663 | <TD>ServerRoot</TD> | |
d28d23c4 | 664 | <TD>/etc/cups</TD> |
665 | <TD>Specifies the root directory for server configuration files.</TD> | |
c7fa9d06 | 666 | </TR> |
667 | <TR> | |
668 | <TD>SystemGroup</TD> | |
78021ed9 | 669 | <TD>root, sys, system</TD> |
670 | <TD>Specifies the group name used for System class authentication.</TD> | |
c7fa9d06 | 671 | </TR> |
9da2dc55 | 672 | <TR> |
673 | <TD>TempDir</TD> | |
78021ed9 | 674 | <TD>/var/tmp</TD> |
675 | <TD>Specifies the temporary directory to use.</TD> | |
9da2dc55 | 676 | </TR> |
c7fa9d06 | 677 | <TR> |
678 | <TD>Timeout</TD> | |
78021ed9 | 679 | <TD>300</TD> |
680 | <TD>The timeout in seconds before client connections are closed | |
681 | in the middle of a request.</TD> | |
c7fa9d06 | 682 | </TR> |
683 | <TR> | |
684 | <TD>User</TD> | |
78021ed9 | 685 | <TD>lp</TD> |
686 | <TD>Specifies the user that is used when running external programs.</TD> | |
c7fa9d06 | 687 | </TR> |
688 | </TABLE></CENTER> | |
689 | ||
6a921799 | 690 | <H3>printers.conf</H3> |
691 | ||
c7fa9d06 | 692 | <P>The printers.conf file consists of 1 or more lines of ASCII text. |
693 | Comment lines start with the pound ("#") character. | |
694 | ||
695 | <P>Each non-blank line starts with the name of a configuration directive | |
696 | followed by its value. The following directives are understood: | |
697 | ||
698 | <CENTER><TABLE WIDTH="90%" BORDER="1"> | |
699 | <TR> | |
700 | <TH WIDTH="25%">Directive</TH> | |
701 | <TH>Description</TH> | |
702 | </TR> | |
78021ed9 | 703 | <TR> |
704 | <TD>Accepting</TD> | |
705 | <TD>Specifies whether the printer is accepting new jobs. May be | |
706 | the names "Yes" or "No".</TD> | |
707 | </TR> | |
c7fa9d06 | 708 | <TR> |
709 | <TD><DefaultPrinter name><BR> | |
e15022a6 | 710 | </Printer></TD> |
78021ed9 | 711 | <TD>Surrounds the printer definition for a default destination.</TD> |
c7fa9d06 | 712 | </TR> |
d28d23c4 | 713 | <TR> |
714 | <TD>AllowUsers</TD> | |
715 | <TD>Specifies a list of users that are allowed to access the printer.</TD> | |
716 | </TR> | |
717 | <TR> | |
718 | <TD>BannerStart</TD> | |
719 | <TD>Specifies the banner that is printed before other files in a | |
720 | job.</TD> | |
721 | </TR> | |
722 | <TR> | |
723 | <TD>BannerEnd</TD> | |
724 | <TD>Specifies the banner that is printed after other files in a | |
725 | job.</TD> | |
726 | </TR> | |
727 | <TR> | |
728 | <TD>DenyUsers</TD> | |
729 | <TD>Specifies a list of users that are not allowed to access the | |
730 | printer.</TD> | |
731 | </TR> | |
c7fa9d06 | 732 | <TR> |
733 | <TD>DeviceURI</TD> | |
78021ed9 | 734 | <TD>Specifies the device-uri attribute for the printer.</TD> |
c7fa9d06 | 735 | </TR> |
736 | <TR> | |
737 | <TD>Info</TD> | |
78021ed9 | 738 | <TD>A textual description of the printer.</TD> |
c7fa9d06 | 739 | </TR> |
740 | <TR> | |
741 | <TD>Location</TD> | |
78021ed9 | 742 | <TD>A textual location of the printer.</TD> |
c7fa9d06 | 743 | </TR> |
c7fa9d06 | 744 | <TR> |
745 | <TD><Printer name><BR> | |
746 | </Printer></TD> | |
78021ed9 | 747 | <TD>Surrounds the printer definition.</TD> |
c7fa9d06 | 748 | </TR> |
749 | <TR> | |
750 | <TD>State</TD> | |
78021ed9 | 751 | <TD>Specifies the initial state of the printer; can be "Idle" or |
752 | "Stopped".</TD> | |
c7fa9d06 | 753 | </TR> |
d28d23c4 | 754 | <TR> |
755 | <TD>StateMessage</TD> | |
756 | <TD>Specifies a textual message for the current printer state.</TD> | |
757 | </TR> | |
c7fa9d06 | 758 | </TABLE></CENTER> |
6a921799 | 759 | |
760 | <H1>External Interfaces</H1> | |
761 | ||
c7fa9d06 | 762 | <H2>AppSocket Protocol</H2> |
763 | ||
764 | <P>The AppSocket protocol is an 8-bit clean TCP/IP socket connection. | |
78021ed9 | 765 | The default IP service port is 9100. The URI method name is "socket". |
6a921799 | 766 | |
d28d23c4 | 767 | <P>The AppSocket protocol is used by the Hewlett Packard JetDirect |
768 | network interfaces and print servers, as well as many other vendors' | |
769 | products. See the CUPS Software Administrators Manual for a list of | |
770 | supported products. | |
771 | ||
6a921799 | 772 | <H2>CUPS Browsing Protocol</H2> |
773 | ||
c7fa9d06 | 774 | <P>The CUPS Browsing Protocol is a UDP/IP-based broadcast service. By default |
775 | this service operates on IP service port 631. | |
776 | ||
777 | <P>Each broadcast packet describes the state of a single printer or class and | |
778 | is an ASCII text string of up to 1450 bytes ending with a newline (0x0a). The | |
779 | string is formatted as follows: | |
780 | ||
781 | <UL><PRE> | |
d28d23c4 | 782 | type SP state SP uri SP "location" SP "info" SP "make-and-model" NL |
c7fa9d06 | 783 | </PRE></UL> |
784 | ||
d28d23c4 | 785 | <P><VAR>State, uri, location, info</VAR>, and <VAR>make-and-model</VAR>, |
786 | correspond to the IPP <CODE>printer-state</CODE>, | |
787 | <CODE>printer-uri-supported</CODE>, <CODE>printer-location</CODE>, | |
788 | <CODE>printer-info</CODE>, and <CODE>printer-make-and-model</CODE> | |
789 | attributes. | |
c7fa9d06 | 790 | |
d28d23c4 | 791 | <P><VAR>Type</VAR> is a hexadecimal number string representing |
c7fa9d06 | 792 | capability/type bits: |
793 | ||
794 | <CENTER><TABLE WIDTH="40%" BORDER="1"> | |
795 | <TR> | |
796 | <TH WIDTH="8%">Bit</TH> | |
797 | <TH>Description</TH> | |
798 | </TR> | |
799 | <TR> | |
800 | <TD>0</TD> | |
801 | <TD>0 = printer<BR> | |
802 | 1 = class</TD> | |
803 | </TR> | |
804 | <TR> | |
805 | <TD>1</TD> | |
806 | <TD>0 = local<BR> | |
9da2dc55 | 807 | 1 = remote<BR> |
808 | (always 1)</TD> | |
c7fa9d06 | 809 | </TR> |
810 | <TR> | |
811 | <TD>2</TD> | |
812 | <TD>1 = can print B&W</TD> | |
813 | </TR> | |
814 | <TR> | |
815 | <TD>3</TD> | |
816 | <TD>1 = can print color</TD> | |
817 | </TR> | |
818 | <TR> | |
819 | <TD>4</TD> | |
820 | <TD>1 = can duplex</TD> | |
821 | </TR> | |
822 | <TR> | |
823 | <TD>5</TD> | |
824 | <TD>1 = can staple</TD> | |
825 | </TR> | |
826 | <TR> | |
827 | <TD>6</TD> | |
828 | <TD>1 = can do fast copies</TD> | |
829 | </TR> | |
830 | <TR> | |
831 | <TD>7</TD> | |
832 | <TD>1 = can do fast collating</TD> | |
833 | </TR> | |
834 | <TR> | |
835 | <TD>8</TD> | |
836 | <TD>1 = can punch holes</TD> | |
837 | </TR> | |
838 | <TR> | |
839 | <TD>9</TD> | |
840 | <TD>1 = can cover</TD> | |
841 | </TR> | |
842 | <TR> | |
843 | <TD>10</TD> | |
844 | <TD>1 = can bind</TD> | |
845 | </TR> | |
846 | <TR> | |
847 | <TD>11</TD> | |
848 | <TD>1 = can sort</TD> | |
849 | </TR> | |
850 | <TR> | |
851 | <TD>12</TD> | |
852 | <TD>1 = can print up to 9x14 inches</TD> | |
853 | </TR> | |
854 | <TR> | |
855 | <TD>13</TD> | |
856 | <TD>1 = can print up to 18x24 inches</TD> | |
857 | </TR> | |
858 | <TR> | |
859 | <TD>14</TD> | |
860 | <TD>1 = can print up to 36x48 inches</TD> | |
861 | </TR> | |
862 | <TR> | |
863 | <TD>15</TD> | |
864 | <TD>1 = can print variable sizes</TD> | |
865 | </TR> | |
866 | </TABLE></CENTER> | |
867 | ||
d28d23c4 | 868 | <H2>CUPS Form File</H2> |
869 | ||
870 | <P>CUPS Form files are XML files used by the CUPS <CODE>formtops</CODE> | |
871 | filter to produce dynamic banner pages and support preprinted forms. | |
872 | ||
873 | <P>The MIME type for CUPS Form files is | |
874 | <CODE>application/vnd.cups-form</CODE>. | |
875 | ||
876 | <H3>CUPS Form DTD</H3> | |
877 | ||
878 | <P>The following DTD describes the available elements and attributes in | |
879 | a CUPS Form file: | |
880 | ||
881 | <CENTER><TABLE BORDER> | |
882 | <TR> | |
883 | <TD><PRE> | |
884 | <!ENTITY % Angle "CDATA" -- angle in degrees --> | |
885 | ||
886 | <!ENTITY % Color "CDATA" -- a color using sRGB: #RRGGBB as Hex values --> | |
887 | ||
888 | <!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length --> | |
889 | ||
890 | <!ENTITY % Lengths "CDATA" -- comma-separated Length values --> | |
891 | ||
892 | <!ENTITY % Text "CDATA"> | |
893 | ||
894 | <!ENTITY % heading "H1|H2|H3|H4|H5|H6"> | |
895 | ||
896 | <!ENTITY % preformatted "PRE"> | |
897 | ||
898 | <!ENTITY % i18n | |
899 | "lang %LanguageCode; #IMPLIED -- language code -- | |
900 | dir (ltr|rtl) #IMPLIED -- direction for weak/neutral text --" | |
901 | > | |
902 | ||
903 | <!ENTITY % attrs "%i18n;"> | |
904 | ||
905 | <!ENTITY % fontstyle | |
906 | "B | FONT | I | TT"> | |
907 | ||
908 | <!ENTITY % graphics | |
909 | "BOX | RECT | LINE | POLY | ARC | PIE | TEXT"> | |
910 | ||
911 | <!ENTITY % insert | |
912 | "IMG | VAR"> | |
913 | ||
914 | <!-- %inline; covers inline or "text-level" elements --> | |
915 | <!ENTITY % inline "#PCDATA | %fontstyle; | %graphics; | %insert;"> | |
916 | ||
917 | <!ELEMENT (%fontstyle;) - - (%inline;)*> | |
918 | <!ATTLIST (%fontstyle;) | |
919 | %attrs; -- %i18n -- | |
920 | > | |
921 | ||
922 | <!ELEMENT BR - O EMPTY -- forced line break --> | |
923 | <!ATTLIST BR | |
924 | %attrs; -- %i18n -- | |
925 | > | |
926 | ||
927 | <!ENTITY % block | |
928 | "P | %heading; | %preformatted;"> | |
929 | ||
930 | <!ENTITY % flow "%block; | %inline;"> | |
931 | ||
932 | <!ELEMENT PAGE O O (%flow;)+ -- document body --> | |
933 | <!ATTLIST PAGE | |
934 | %attrs; -- %i18n -- | |
935 | align (left|center|right) #IMPLIED -- horizontal alignment -- | |
936 | valign (top|middle|center|bottom) #IMPLIED -- vertical alignment -- | |
937 | > | |
938 | ||
939 | <!ELEMENT P - O (%inline;)* -- paragraph --> | |
940 | <!ATTLIST P | |
941 | %attrs; -- %i18n -- | |
942 | align (left|center|right) #IMPLIED -- horizontal alignment -- | |
943 | > | |
944 | ||
945 | <!ELEMENT (%heading;) - - (%inline;)* -- heading --> | |
946 | <!ATTLIST (%heading;) | |
947 | %attrs; -- %i18n -- | |
948 | align (left|center|right) #IMPLIED -- horizontal alignment -- | |
949 | > | |
950 | ||
951 | <!ELEMENT PRE - - (%inline;)* -- preformatted text --> | |
952 | <!ATTLIST PRE | |
953 | %attrs; -- %i18n -- | |
954 | align (left|center|right) #IMPLIED -- horizontal alignment -- | |
955 | > | |
956 | ||
957 | <!ELEMENT BOX - O EMPTY -- unfilled box --> | |
958 | <!ATTLIST BOX | |
959 | color %Color; #IMPLIED -- override color -- | |
960 | height %Length; #REQUIRED -- height of box -- | |
961 | thickness %Length; #IMPLIED -- override line thickness -- | |
962 | width %Length; #REQUIRED -- width of box -- | |
963 | x %Length; #REQUIRED -- horizontal position -- | |
964 | y %Length; #REQUIRED -- vertical position -- | |
965 | > | |
966 | ||
967 | <!ELEMENT RECT - O EMPTY -- filled box --> | |
968 | <!ATTLIST RECT | |
969 | color %Color; #IMPLIED -- override color -- | |
970 | height %Length; #REQUIRED -- height of box -- | |
971 | width %Length; #REQUIRED -- width of box -- | |
972 | x %Length; #REQUIRED -- horizontal position -- | |
973 | y %Length; #REQUIRED -- vertical position -- | |
974 | > | |
975 | ||
976 | <!ELEMENT LINE - O EMPTY -- polyline --> | |
977 | <!ATTLIST LINE | |
978 | color %Color; #IMPLIED -- override color -- | |
979 | thickness %Length; #IMPLIED -- override line thickness -- | |
980 | x %Lengths; #REQUIRED -- horizontal positions -- | |
981 | y %Lengths; #REQUIRED -- vertical positions -- | |
982 | > | |
983 | ||
984 | <!ELEMENT POLY - O EMPTY -- polygon (filled) --> | |
985 | <!ATTLIST POLY | |
986 | color %Color; #IMPLIED -- override color -- | |
987 | x %Lengths; #REQUIRED -- horizontal positions -- | |
988 | y %Lengths; #REQUIRED -- vertical positions -- | |
989 | > | |
990 | ||
991 | <!ELEMENT ARC - O EMPTY -- unfilled arc --> | |
992 | <!ATTLIST ARC | |
993 | color %Color; #IMPLIED -- override color -- | |
994 | end %Angle; #IMPLIED -- override end angle -- | |
995 | height %Length; #REQUIRED -- height of arc -- | |
996 | start %Angle; #IMPLIED -- override start angle -- | |
997 | thickness %Length; #IMPLIED -- override line thickness -- | |
998 | width %Length; #REQUIRED -- width of arc -- | |
999 | x %Length; #REQUIRED -- horizontal position -- | |
1000 | y %Length; #REQUIRED -- vertical position -- | |
1001 | > | |
1002 | ||
1003 | <!ELEMENT PIE - O EMPTY -- filled arc --> | |
1004 | <!ATTLIST PIE | |
1005 | color %Color; #IMPLIED -- override color -- | |
1006 | end %Angle; #IMPLIED -- override end angle -- | |
1007 | height %Length; #REQUIRED -- height of arc -- | |
1008 | start %Angle; #IMPLIED -- override start angle -- | |
1009 | width %Length; #REQUIRED -- width of arc -- | |
1010 | x %Length; #REQUIRED -- horizontal position -- | |
1011 | y %Length; #REQUIRED -- vertical position -- | |
1012 | > | |
1013 | ||
1014 | <!ELEMENT TEXT - - (%flow;)* -- text box --> | |
1015 | <!ATTLIST RECT | |
1016 | align (left|center|right) #IMPLIED -- horizontal alignment -- | |
1017 | height %Length; #REQUIRED -- height of box -- | |
1018 | valign (top|middle|center|bottom) #IMPLIED -- vertical alignment -- | |
1019 | width %Length; #REQUIRED -- width of box -- | |
1020 | x %Length; #REQUIRED -- horizontal position -- | |
1021 | y %Length; #REQUIRED -- vertical position -- | |
1022 | > | |
1023 | ||
1024 | ||
1025 | <!ELEMENT IMG - O EMPTY -- Embedded image --> | |
1026 | <!ATTLIST IMG | |
1027 | %attrs; -- %coreattrs, %i18n, %events -- | |
1028 | src %URI; #REQUIRED -- URI of image to embed -- | |
1029 | height %Length; #IMPLIED -- override height -- | |
1030 | width %Length; #IMPLIED -- override width -- | |
1031 | > | |
1032 | ||
1033 | <!ELEMENT HEAD O O (DEFVAR)* -- document head --> | |
1034 | <!ATTLIST HEAD | |
1035 | %i18n; -- lang, dir -- | |
1036 | > | |
1037 | ||
1038 | <!ELEMENT DEFVAR - O EMPTY -- variable definition --> | |
1039 | <!ATTLIST DEFVAR | |
1040 | name CDATA #REQUIRED -- name | |
1041 | value CDATA #REQUIRED -- value | |
1042 | > | |
1043 | ||
1044 | ||
1045 | <!ENTITY % html.content "HEAD, PAGE"> | |
1046 | ||
1047 | <!ELEMENT CUPSFORM - - (HEAD) (PAGE)+ -- document root element --> | |
1048 | <!ATTLIST CUPSFORM | |
1049 | %i18n; -- lang, dir -- | |
1050 | > | |
1051 | </PRE></TD> | |
1052 | </TR> | |
1053 | </TABLE></CENTER> | |
1054 | ||
6a921799 | 1055 | <H2>CUPS PostScript File</H2> |
1056 | ||
c7fa9d06 | 1057 | <P>CUPS PostScript files are device-dependent Adobe PostScript program files. |
1058 | The PostScript language is described in the | |
d28d23c4 | 1059 | <A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf"> |
c7fa9d06 | 1060 | Adobe PostScript Language Reference Manual, Third Edition</A>. |
1061 | ||
1062 | <P>The MIME type for CUPS PostScript files is | |
1063 | <CODE>application/vnd.cups-postscript</CODE>. | |
6a921799 | 1064 | |
1065 | <H2>CUPS Raster File</H2> | |
1066 | ||
c7fa9d06 | 1067 | <P>CUPS raster files are device-dependent raster image files that contain a |
6a921799 | 1068 | PostScript page device dictionary and device-dependent raster imagery for |
4ccfab33 | 1069 | each page in the document. These files are used to transfer raster data |
6a921799 | 1070 | from the PostScript and image file RIPs to device-dependent filters that |
1071 | convert the raster data to a printable format. | |
1072 | ||
1073 | <P>A raster file begins with a four byte synchronization word: 0x52615374 | |
1074 | ("RaSt") for big-endian architectures and 0x74536152 ("tSaR") for little-endian | |
1075 | architectures. The writer of the raster file will use the native word order, | |
1076 | and the reader is responsible for detecting a reversed word order file and | |
d28d23c4 | 1077 | swapping bytes as needed. The CUPS Image Library raster functions perform |
6a921799 | 1078 | this function automatically. |
1079 | ||
1080 | <P>Following the synchronization word are a series of raster pages. Each page | |
1081 | starts with a page device dictionary header and is followed immediately by the | |
1082 | raster data for that page. | |
1083 | ||
1084 | <CENTER><TABLE WIDTH="80%" BORDER="1"> | |
1085 | <TR> | |
c7fa9d06 | 1086 | <TH WIDTH="10%">Bytes</TH> |
1087 | <TH WIDTH="20%">Description</TH> | |
6a921799 | 1088 | <TH>Values</TH> |
1089 | </TR> | |
1090 | <TR> | |
1091 | <TD>0-63</TD> | |
1092 | <TD>MediaClass</TD> | |
1093 | <TD>Nul-terminated ASCII string</TD> | |
1094 | </TR> | |
1095 | <TR> | |
1096 | <TD>64-127</TD> | |
1097 | <TD>MediaColor</TD> | |
1098 | <TD>Nul-terminated ASCII string</TD> | |
1099 | </TR> | |
1100 | <TR> | |
1101 | <TD>128-191</TD> | |
1102 | <TD>MediaType</TD> | |
1103 | <TD>Nul-terminated ASCII string</TD> | |
1104 | </TR> | |
1105 | <TR> | |
1106 | <TD>192-255</TD> | |
1107 | <TD>OutputType</TD> | |
1108 | <TD>Nul-terminated ASCII string</TD> | |
1109 | </TR> | |
1110 | <TR> | |
1111 | <TD>256-259</TD> | |
1112 | <TD>AdvanceDistance</TD> | |
c7fa9d06 | 1113 | <TD>0 to 2<SUP>32</SUP> - 1 points</TD> |
6a921799 | 1114 | </TR> |
1115 | <TR> | |
1116 | <TD>260-263</TD> | |
1117 | <TD>AdvanceMedia</TD> | |
1118 | <TD>0 = Never advance roll<BR> | |
1119 | 1 = Advance roll after file<BR> | |
1120 | 2 = Advance roll after job<BR> | |
1121 | 3 = Advance roll after set<BR> | |
1122 | 4 = Advance roll after page</TD> | |
1123 | </TR> | |
1124 | <TR> | |
1125 | <TD>264-267</TD> | |
1126 | <TD>Collate</TD> | |
1127 | <TD>0 = do not collate copies<BR> | |
1128 | 1 = collate copies</TD> | |
1129 | </TR> | |
1130 | <TR> | |
1131 | <TD>268-271</TD> | |
1132 | <TD>CutMedia</TD> | |
1133 | <TD>0 = Never cut media<BR> | |
1134 | 1 = Cut roll after file<BR> | |
1135 | 2 = Cut roll after job<BR> | |
1136 | 3 = Cut roll after set<BR> | |
1137 | 4 = Cut roll after page</TD> | |
1138 | </TR> | |
1139 | <TR> | |
1140 | <TD>272-275</TD> | |
1141 | <TD>Duplex</TD> | |
1142 | <TD>0 = Print single-sided<BR> | |
1143 | 1 = Print double-sided</TD> | |
1144 | </TR> | |
1145 | <TR> | |
1146 | <TD>276-283</TD> | |
1147 | <TD>HWResolution</TD> | |
1148 | <TD>Horizontal and vertical resolution in dots-per-inch.</TD> | |
1149 | </TR> | |
1150 | <TR> | |
1151 | <TD>284-299</TD> | |
1152 | <TD>ImagingBoundingBox</TD> | |
1153 | <TD>Four integers giving the left, bottom, right, and top positions | |
c7fa9d06 | 1154 | of the page bounding box in points</TD> |
6a921799 | 1155 | </TR> |
1156 | <TR> | |
1157 | <TD>300-303</TD> | |
1158 | <TD>InsertSheet</TD> | |
1159 | <TD>0 = Do not insert separator sheets<BR> | |
1160 | 1 = Insert separator sheets</TD> | |
1161 | </TR> | |
1162 | <TR> | |
1163 | <TD>304-307</TD> | |
1164 | <TD>Jog</TD> | |
1165 | <TD>0 = Do no jog pages<BR> | |
1166 | 1 = Jog pages after file<BR> | |
1167 | 2 = Jog pages after job<BR> | |
1168 | 3 = Jog pages after set</TD> | |
1169 | </TR> | |
1170 | <TR> | |
1171 | <TD>308-311</TD> | |
1172 | <TD>LeadingEdge</TD> | |
1173 | <TD>0 = Top edge is first<BR> | |
1174 | 1 = Right edge is first<BR> | |
1175 | 2 = Bottom edge is first<BR> | |
1176 | 3 = Left edge is first</TD> | |
1177 | </TR> | |
1178 | <TR> | |
1179 | <TD>312-319</TD> | |
1180 | <TD>Margins</TD> | |
c7fa9d06 | 1181 | <TD>Left and bottom origin of image in points</TD> |
6a921799 | 1182 | </TR> |
1183 | <TR> | |
1184 | <TD>320-323</TD> | |
1185 | <TD>ManualFeed</TD> | |
1186 | <TD>0 = Do not manually feed media<BR> | |
1187 | 1 = Manually feed media</TD> | |
1188 | </TR> | |
1189 | <TR> | |
1190 | <TD>324-327</TD> | |
1191 | <TD>MediaPosition</TD> | |
1192 | <TD>Input slot position from 0 to N</TD> | |
1193 | </TR> | |
1194 | <TR> | |
1195 | <TD>328-331</TD> | |
1196 | <TD>MediaWeight</TD> | |
1197 | <TD>Media weight in grams per meter squared</TD> | |
1198 | </TR> | |
1199 | <TR> | |
1200 | <TD>332-335</TD> | |
1201 | <TD>MirrorPrint</TD> | |
1202 | <TD>0 = Do not mirror prints<BR> | |
1203 | 1 = Mirror prints</TD> | |
1204 | </TR> | |
1205 | <TR> | |
1206 | <TD>336-339</TD> | |
1207 | <TD>NegativePrint</TD> | |
c7fa9d06 | 1208 | <TD>0 = Do not invert prints<BR> |
1209 | 1 = Invert prints</TD> | |
6a921799 | 1210 | </TR> |
1211 | <TR> | |
c7fa9d06 | 1212 | <TD>340-343</TD> |
1213 | <TD>NumCopies</TD> | |
1214 | <TD>1 to 2<SUP>32</SUP> - 1</TD> | |
6a921799 | 1215 | </TR> |
1216 | <TR> | |
c7fa9d06 | 1217 | <TD>344-347</TD> |
1218 | <TD>Orientation</TD> | |
1219 | <TD>0 = Do not rotate page<BR> | |
1220 | 1 = Rotate page counter-clockwise<BR> | |
1221 | 2 = Turn page upside down<BR> | |
1222 | 3 = Rotate page clockwise</TD> | |
6a921799 | 1223 | </TR> |
1224 | <TR> | |
c7fa9d06 | 1225 | <TD>348-351</TD> |
1226 | <TD>OutputFaceUp</TD> | |
1227 | <TD>0 = Output face down<BR> | |
1228 | 1 = Output face up</TD> | |
6a921799 | 1229 | </TR> |
1230 | <TR> | |
c7fa9d06 | 1231 | <TD>352-359</TD> |
1232 | <TD>PageSize</TD> | |
1233 | <TD>Width and length in points</TD> | |
6a921799 | 1234 | </TR> |
1235 | <TR> | |
c7fa9d06 | 1236 | <TD>360-363</TD> |
1237 | <TD>Separations</TD> | |
1238 | <TD>0 = Print composite image<BR> | |
1239 | 1 = Print color separations</TD> | |
1240 | </TR> | |
1241 | <TR> | |
1242 | <TD>364-367</TD> | |
1243 | <TD>TraySwitch</TD> | |
1244 | <TD>0 = Do not change trays if selected tray is empty<BR> | |
1245 | 1 = Change trays if selected tray is empty</TD> | |
1246 | </TR> | |
1247 | <TR> | |
1248 | <TD>368-371</TD> | |
1249 | <TD>Tumble</TD> | |
1250 | <TD>0 = Do not rotate even pages when duplexing<BR> | |
1251 | 1 = Rotate even pages when duplexing</TD> | |
1252 | </TR> | |
1253 | <TR> | |
1254 | <TD>372-375</TD> | |
1255 | <TD>cupsWidth</TD> | |
1256 | <TD>Width of page image in pixels</TD> | |
1257 | </TR> | |
1258 | <TR> | |
1259 | <TD>376-379</TD> | |
1260 | <TD>cupsHeight</TD> | |
1261 | <TD>Height of page image in pixels</TD> | |
1262 | </TR> | |
1263 | <TR> | |
1264 | <TD>380-383</TD> | |
1265 | <TD>cupsMediaType</TD> | |
1266 | <TD>Driver-specific 0 to 2<SUP>32</SUP> - 1</TD> | |
1267 | </TR> | |
1268 | <TR> | |
1269 | <TD>384-387</TD> | |
1270 | <TD>cupsBitsPerColor</TD> | |
1271 | <TD>1, 2, 4, 8 bits</TD> | |
1272 | </TR> | |
1273 | <TR> | |
1274 | <TD>388-391</TD> | |
1275 | <TD>cupsBitsPerPixel</TD> | |
1276 | <TD>1 to 32 bits</TD> | |
1277 | </TR> | |
1278 | <TR> | |
1279 | <TD>392-395</TD> | |
1280 | <TD>cupsBytesPerLine</TD> | |
1281 | <TD>1 to 2<SUP>32</SUP> - 1 bytes</TD> | |
1282 | </TR> | |
1283 | <TR> | |
1284 | <TD>396-399</TD> | |
1285 | <TD>cupsColorOrder</TD> | |
1286 | <TD>0 = chunky pixels (CMYK CMYK CMYK)<BR> | |
1287 | 1 = banded pixels (CCC MMM YYY KKK)<BR> | |
1288 | 2 = planar pixels (CCC... MMM... YYY... KKK...)</TD> | |
1289 | </TR> | |
1290 | <TR> | |
1291 | <TD>400-403</TD> | |
1292 | <TD>cupsColorSpace</TD> | |
1293 | <TD>0 = white<BR> | |
1294 | 1 = RGB<BR> | |
1295 | 2 = RGBA<BR> | |
1296 | 3 = black<BR> | |
1297 | 4 = CMY<BR> | |
1298 | 5 = YMC<BR> | |
1299 | 6 = CMYK<BR> | |
1300 | 7 = YMCK<BR> | |
1301 | 8 = KCMY<BR> | |
1302 | 9 = KCMYcm</TD> | |
1303 | </TR> | |
1304 | <TR> | |
1305 | <TD>404-407</TD> | |
1306 | <TD>cupsCompression</TD> | |
1307 | <TD>Driver-specific 0 to 2<SUP>32</SUP> - 1</TD> | |
1308 | </TR> | |
1309 | <TR> | |
1310 | <TD>408-411</TD> | |
1311 | <TD>cupsRowCount</TD> | |
1312 | <TD>Driver-specific 0 to 2<SUP>32</SUP> - 1</TD> | |
1313 | </TR> | |
1314 | <TR> | |
1315 | <TD>412-415</TD> | |
1316 | <TD>cupsRowFeed</TD> | |
1317 | <TD>Driver-specific 0 to 2<SUP>32</SUP> - 1</TD> | |
1318 | </TR> | |
1319 | <TR> | |
1320 | <TD>416-419</TD> | |
1321 | <TD>cupsRowStep</TD> | |
1322 | <TD>Driver-specific 0 to 2<SUP>32</SUP> - 1</TD> | |
6a921799 | 1323 | </TR> |
1324 | </TABLE></CENTER> | |
1325 | ||
c7fa9d06 | 1326 | <P>The MIME type for CUPS Raster files is |
1327 | <CODE>application/vnd.cups-raster</CODE>. | |
1328 | ||
1329 | <H2>CUPS Raw Files</H2> | |
1330 | ||
1331 | <P>Raw files are printer-dependent print files that are in a format suitable | |
1332 | to the destination printer (e.g. HP-PCL, HP-RTL, etc.) The MIME type for CUPS | |
1333 | Raw files is <CODE>application/vnd.cups-raw</CODE>. | |
1334 | ||
6a921799 | 1335 | <H2>Internet Printing Protocol</H2> |
1336 | ||
d28d23c4 | 1337 | <P>The Internet Printing Protocol and the CUPS extensions to it are |
1338 | described in the CUPS Implementation of IPP document. | |
3270670b | 1339 | |
c7fa9d06 | 1340 | <H2>Line Printer Daemon Protocol</H2> |
1341 | ||
1342 | <P>The Line Printer Daemon (LPD) protocol is described by | |
1343 | <A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179: Line Printer Daemon | |
1344 | Protocol</A>. | |
6a921799 | 1345 | |
78021ed9 | 1346 | <P>The URI method name for LPD is "lpd". |
1347 | ||
6a921799 | 1348 | <H2>Server Message Block Protocol</H2> |
1349 | ||
c7fa9d06 | 1350 | <P>The Server Message Block (SMB) and related Common Internet File |
1351 | System (CIFS) protocols are described at | |
1352 | <A HREF="http://anu.samba.org/cifs">http://anu.samba.org/cifs</A>. | |
1353 | ||
4ccfab33 | 1354 | <P>The URI method name for SMB is "smb". Support for this protocol is |
1355 | provided via the SAMBA <CODE>smbspool(1)</CODE> program provided with | |
1356 | SAMBA 2.0.6 and higher. | |
c7fa9d06 | 1357 | |
d28d23c4 | 1358 | <H1>Directories</H1> |
c7fa9d06 | 1359 | |
1360 | <DL> | |
1361 | ||
d28d23c4 | 1362 | <DT>/etc/cups |
1363 | <DD>The scheduler configuration and MIME files reside here. | |
1364 | ||
1365 | <DT>/etc/cups/certs | |
1366 | <DD>The authentication certificates reside here. | |
1367 | ||
1368 | <DT>/etc/cups/interfaces | |
1369 | <DD>System V interface scripts reside here. | |
1370 | ||
1371 | <DT>/etc/cups/ppd | |
1372 | <DD>This directory contains PPD files for each printer. | |
1373 | ||
c7fa9d06 | 1374 | <DT>/usr/bin |
1375 | <DD>The <CODE>cancel</CODE>, <CODE>lp</CODE>, <CODE>lpq</CODE>, | |
1376 | <CODE>lpr</CODE>, <CODE>lprm</CODE>, and <CODE>lpstat</CODE> commands | |
1377 | reside here. | |
1378 | ||
4ccfab33 | 1379 | <DT>/usr/lib, /usr/lib32 |
1380 | <DD>The shared libraries (DSOs) reside here. | |
1381 | ||
d28d23c4 | 1382 | <DT>/usr/lib/cups/backend |
1383 | <DD>The backend filters reside here. | |
1384 | ||
1385 | <DT>/usr/lib/cups/cgi-bin | |
1386 | <DD>The CGI programs reside here. | |
1387 | ||
1388 | <DT>/usr/lib/cups/daemon | |
1389 | <DD>The polling and LPD daemons reside here. | |
1390 | ||
1391 | <DT>/usr/lib/cups/filter | |
1392 | <DD>The file filters reside here. | |
1393 | ||
c7fa9d06 | 1394 | <DT>/usr/sbin |
78021ed9 | 1395 | <DD>The <CODE>accept</CODE>, <CODE>cupsd</CODE>, |
1396 | <CODE>lpadmin</CODE>, <CODE>lpc</CODE>, and <CODE>reject</CODE> | |
1397 | commands reside here. | |
c7fa9d06 | 1398 | |
1399 | <DT>/usr/share/cups | |
ea0c2f2f | 1400 | <DD>This is the root directory of the CUPS static data. |
1401 | ||
d28d23c4 | 1402 | <DT>/usr/share/cups/charsets |
1403 | <DD>The character set files reside here. | |
1404 | ||
ea0c2f2f | 1405 | <DT>/usr/share/cups/data |
d28d23c4 | 1406 | <DD>The filter data files reside here. |
c7fa9d06 | 1407 | |
1408 | <DT>/usr/share/cups/fonts | |
1409 | <DD>The <CODE>pstoraster</CODE> font files reside here. | |
1410 | ||
3270670b | 1411 | <DT>/usr/share/cups/model |
1412 | <DD>The sample PPD files reside here. | |
1413 | ||
c7fa9d06 | 1414 | <DT>/usr/share/cups/pstoraster |
1415 | <DD>The <CODE>pstoraster</CODE> data files reside here. | |
1416 | ||
d28d23c4 | 1417 | <DT>/usr/share/doc/cups |
c7fa9d06 | 1418 | <DD>The scheduler documentation files reside here. |
1419 | ||
d28d23c4 | 1420 | <DT>/var/log/cups |
c7fa9d06 | 1421 | <DD>The <CODE>access_log</CODE>, <CODE>error_log</CODE>, and |
1422 | <CODE>page_log</CODE> files reside here. | |
1423 | ||
d28d23c4 | 1424 | <DT>/var/spool/cups |
1425 | <DD>This directory contains print job files. | |
6a921799 | 1426 | |
c7fa9d06 | 1427 | </DL> |
6a921799 | 1428 | |
1aee2644 | 1429 | <EMBED SRC="glossary.shtml"> |
6a921799 | 1430 | |
1431 | </BODY> | |
1432 | </HTML> |