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