]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> |
2 | <html> | |
3 | <!-- SECTION: Programming --> | |
4 | <head> | |
5 | <title>PPD API</title> | |
6 | <meta name='keywords' content='Programming'> | |
7 | <meta name='creator' content='Mini-XML v2.3'> | |
8 | <style type='text/css'><!-- | |
9 | h1, h2, h3, p { font-family: sans-serif; text-align: justify; } | |
10 | tt, pre a:link, pre a:visited, tt a:link, tt a:visited { font-weight: bold; color: #7f0000; } | |
11 | pre { font-weight: bold; color: #7f0000; margin-left: 2em; } | |
12 | span.info { background: #000000; border: solid thin #000000; color: #ffffff; font-size: 80%; font-style: italic; font-weight: bold; white-space: nowrap; } | |
13 | h3 span.info { float: right; font-size: 100%; } | |
14 | h1.title, h2.title, h3.title { border-bottom: solid 2px #000000; } | |
15 | --></style> | |
16 | </head> | |
17 | <body> | |
18 | <!-- | |
19 | "$Id$" | |
20 | ||
21 | PPD API introduction for the Common UNIX Printing System (CUPS). | |
22 | ||
23 | Copyright 1997-2005 by Easy Software Products. | |
24 | ||
25 | These coded instructions, statements, and computer programs are the | |
26 | property of Easy Software Products and are protected by Federal | |
27 | copyright law. Distribution and use rights are outlined in the file | |
28 | "LICENSE.txt" which should have been included with this file. If this | |
29 | file is missing or damaged please contact Easy Software Products | |
30 | at: | |
31 | ||
32 | Attn: CUPS Licensing Information | |
33 | Easy Software Products | |
34 | 44141 Airport View Drive, Suite 204 | |
35 | Hollywood, Maryland 20636 USA | |
36 | ||
37 | Voice: (301) 373-9600 | |
38 | EMail: cups-info@cups.org | |
39 | WWW: http://www.cups.org | |
40 | --> | |
41 | ||
42 | <h2 class='title'>Introduction</h2> | |
43 | ||
44 | <p>The CUPS PPD API provides...</p> | |
45 | ||
46 | <h2 class='title'>General Usage</h2> | |
47 | ||
48 | <p>The <var><cups/ppd.h></var> header file must be included | |
49 | to use the <tt>ppd</tt> functions.</p> | |
50 | ||
51 | <p>Programs using these functions must be linked to the CUPS | |
52 | library: <var>libcups.a</var>, <var>libcups.so.2</var>, | |
53 | <var>libcups.2.dylib</var>, <var>libcups_s.a</var>, or | |
54 | <var>libcups2.lib</var> depending on the platform. The following | |
55 | command compiles <var>myprogram.c</var> using GCC and the CUPS | |
56 | library:</p> | |
57 | ||
58 | <pre class='command'> | |
59 | <kbd>gcc -o myprogram myprogram.c -lcups</kbd> | |
60 | </pre> | |
61 | ||
62 | <h2 class='title'>Compatibility</h2> | |
63 | ||
64 | <p>Unless otherwise specified, the PPD API functions require CUPS | |
65 | 1.1 or higher.</p> | |
66 | <h2 class='title'>Contents</h2> | |
67 | <ul> | |
68 | <li><a href='#ENUMERATIONS'>Enumerations</a></li> | |
69 | <li><a href='#FUNCTIONS'>Functions</a></li> | |
70 | <li><a href='#STRUCTURES'>Structures</a></li> | |
71 | <li><a href='#TYPES'>Types</a></li> | |
72 | <li><a href='#UNIONS'>Unions</a></li> | |
73 | </ul> | |
74 | <!-- NEW PAGE --> | |
75 | <h2 class='title'><a name='ENUMERATIONS'>Enumerations</a></h2> | |
76 | <ul> | |
ecdc0628 | 77 | <li><a href='#ppd_cptype_e'><tt>ppd_cptype_e</tt></a> <span class='info'> CUPS 1.2 </span></li> |
ef416fc2 | 78 | <li><a href='#ppd_cs_e'><tt>ppd_cs_e</tt></a> </li> |
ef416fc2 | 79 | <li><a href='#ppd_section_e'><tt>ppd_section_e</tt></a> </li> |
80 | <li><a href='#ppd_status_e'><tt>ppd_status_e</tt></a> </li> | |
81 | <li><a href='#ppd_ui_e'><tt>ppd_ui_e</tt></a> </li> | |
82 | </ul> | |
83 | <!-- NEW PAGE --> | |
ecdc0628 | 84 | <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='ppd_cptype_e'>ppd_cptype_e</a></h3> |
85 | <h4>Description</h4> | |
86 | <p>Custom Parameter Type </p> | |
87 | <h4>Values</h4> | |
88 | <div class='table'><table align='center' border='1' width='80%'> | |
89 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
90 | <tbody> | |
91 | <tr><td><tt>PPD_CUSTOM_CURVE</tt> </td><td>Curve value for f(x) = x^value</td></tr> | |
92 | <tr><td><tt>PPD_CUSTOM_INT</tt> </td><td>Integer number value</td></tr> | |
93 | <tr><td><tt>PPD_CUSTOM_INVCURVE</tt> </td><td>Curve value for f(x) = x^(1/value)</td></tr> | |
94 | <tr><td><tt>PPD_CUSTOM_PASSCODE</tt> </td><td>String of (hidden) numbers</td></tr> | |
95 | <tr><td><tt>PPD_CUSTOM_PASSWORD</tt> </td><td>String of (hidden) characters</td></tr> | |
96 | <tr><td><tt>PPD_CUSTOM_POINTS</tt> </td><td>Measurement value in points</td></tr> | |
97 | <tr><td><tt>PPD_CUSTOM_REAL</tt> </td><td>Real number value</td></tr> | |
98 | <tr><td><tt>PPD_CUSTOM_STRING</tt> </td><td>String of characters</td></tr> | |
99 | </tbody></table></div> | |
100 | <!-- NEW PAGE --> | |
ef416fc2 | 101 | <h3 class='title'><a name='ppd_cs_e'>ppd_cs_e</a></h3> |
102 | <h4>Description</h4> | |
103 | <p>Colorspaces</p> | |
104 | <h4>Values</h4> | |
105 | <div class='table'><table align='center' border='1' width='80%'> | |
106 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
107 | <tbody> | |
108 | <tr><td><tt>PPD_CS_CMY</tt> </td><td>CMY colorspace</td></tr> | |
109 | <tr><td><tt>PPD_CS_CMYK</tt> </td><td>CMYK colorspace</td></tr> | |
110 | <tr><td><tt>PPD_CS_GRAY</tt> </td><td>Grayscale colorspace</td></tr> | |
111 | <tr><td><tt>PPD_CS_N</tt> </td><td>DeviceN colorspace</td></tr> | |
112 | <tr><td><tt>PPD_CS_RGB</tt> </td><td>RGB colorspace</td></tr> | |
113 | <tr><td><tt>PPD_CS_RGBK</tt> </td><td>RGBK (K = gray) colorspace</td></tr> | |
114 | </tbody></table></div> | |
115 | <!-- NEW PAGE --> | |
ef416fc2 | 116 | <h3 class='title'><a name='ppd_section_e'>ppd_section_e</a></h3> |
117 | <h4>Description</h4> | |
118 | <p>Order dependency sections</p> | |
119 | <h4>Values</h4> | |
120 | <div class='table'><table align='center' border='1' width='80%'> | |
121 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
122 | <tbody> | |
123 | <tr><td><tt>PPD_ORDER_ANY</tt> </td><td>Option code can be anywhere in the file</td></tr> | |
124 | <tr><td><tt>PPD_ORDER_DOCUMENT</tt> </td><td>... must be in the DocumentSetup section</td></tr> | |
125 | <tr><td><tt>PPD_ORDER_EXIT</tt> </td><td>... must be sent prior to the document</td></tr> | |
126 | <tr><td><tt>PPD_ORDER_JCL</tt> </td><td>... must be sent as a JCL command</td></tr> | |
127 | <tr><td><tt>PPD_ORDER_PAGE</tt> </td><td>... must be in the PageSetup section</td></tr> | |
128 | <tr><td><tt>PPD_ORDER_PROLOG</tt> </td><td>... must be in the Prolog section</td></tr> | |
129 | </tbody></table></div> | |
130 | <!-- NEW PAGE --> | |
131 | <h3 class='title'><a name='ppd_status_e'>ppd_status_e</a></h3> | |
132 | <h4>Description</h4> | |
133 | <p>Types and structures...</p> | |
134 | <h4>Values</h4> | |
135 | <div class='table'><table align='center' border='1' width='80%'> | |
136 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
137 | <tbody> | |
138 | <tr><td><tt>PPD_ALLOC_ERROR</tt> </td><td>Memory allocation error</td></tr> | |
ecdc0628 | 139 | <tr><td><tt>PPD_BAD_CUSTOM_PARAM</tt> </td><td>Bad custom parameter</td></tr> |
ef416fc2 | 140 | <tr><td><tt>PPD_BAD_OPEN_GROUP</tt> </td><td>Bad OpenGroup</td></tr> |
141 | <tr><td><tt>PPD_BAD_OPEN_UI</tt> </td><td>Bad OpenUI/JCLOpenUI</td></tr> | |
142 | <tr><td><tt>PPD_BAD_ORDER_DEPENDENCY</tt> </td><td>Bad OrderDependency</td></tr> | |
143 | <tr><td><tt>PPD_BAD_UI_CONSTRAINTS</tt> </td><td>Bad UIConstraints</td></tr> | |
144 | <tr><td><tt>PPD_FILE_OPEN_ERROR</tt> </td><td>Unable to open PPD file</td></tr> | |
145 | <tr><td><tt>PPD_ILLEGAL_CHARACTER</tt> </td><td>Illegal control character</td></tr> | |
146 | <tr><td><tt>PPD_ILLEGAL_MAIN_KEYWORD</tt> </td><td>Illegal main keyword string</td></tr> | |
147 | <tr><td><tt>PPD_ILLEGAL_OPTION_KEYWORD</tt> </td><td>Illegal option keyword string</td></tr> | |
148 | <tr><td><tt>PPD_ILLEGAL_TRANSLATION</tt> </td><td>Illegal translation string</td></tr> | |
149 | <tr><td><tt>PPD_ILLEGAL_WHITESPACE</tt> </td><td>Illegal whitespace character</td></tr> | |
150 | <tr><td><tt>PPD_INTERNAL_ERROR</tt> </td><td>Internal error</td></tr> | |
151 | <tr><td><tt>PPD_LINE_TOO_LONG</tt> </td><td>Line longer than 255 chars</td></tr> | |
152 | <tr><td><tt>PPD_MISSING_ASTERISK</tt> </td><td>Missing asterisk in column 0</td></tr> | |
153 | <tr><td><tt>PPD_MISSING_PPDADOBE4</tt> </td><td>Missing PPD-Adobe-4.x header</td></tr> | |
154 | <tr><td><tt>PPD_MISSING_VALUE</tt> </td><td>Missing value string</td></tr> | |
155 | <tr><td><tt>PPD_NESTED_OPEN_GROUP</tt> </td><td>OpenGroup without a CloseGroup first</td></tr> | |
156 | <tr><td><tt>PPD_NESTED_OPEN_UI</tt> </td><td>OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first</td></tr> | |
157 | <tr><td><tt>PPD_NULL_FILE</tt> </td><td>NULL PPD file pointer</td></tr> | |
158 | <tr><td><tt>PPD_OK</tt> </td><td>OK</td></tr> | |
159 | </tbody></table></div> | |
160 | <!-- NEW PAGE --> | |
161 | <h3 class='title'><a name='ppd_ui_e'>ppd_ui_e</a></h3> | |
162 | <h4>Description</h4> | |
163 | <p>UI Types</p> | |
164 | <h4>Values</h4> | |
165 | <div class='table'><table align='center' border='1' width='80%'> | |
166 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
167 | <tbody> | |
168 | <tr><td><tt>PPD_UI_BOOLEAN</tt> </td><td>True or False option</td></tr> | |
169 | <tr><td><tt>PPD_UI_PICKMANY</tt> </td><td>Pick zero or more from a list</td></tr> | |
170 | <tr><td><tt>PPD_UI_PICKONE</tt> </td><td>Pick one from a list</td></tr> | |
171 | </tbody></table></div> | |
172 | <!-- NEW PAGE --> | |
173 | <h2 class='title'><a name='FUNCTIONS'>Functions</a></h2> | |
174 | <ul> | |
175 | <li><a href='#ppdClose'><tt>ppdClose()</tt></a> </li> | |
176 | <li><a href='#ppdCollect'><tt>ppdCollect()</tt></a> </li> | |
ecdc0628 | 177 | <li><a href='#ppdCollect2'><tt>ppdCollect2()</tt></a> <span class='info'> CUPS 1.2 </span></li> |
ef416fc2 | 178 | <li><a href='#ppdConflicts'><tt>ppdConflicts()</tt></a> </li> |
179 | <li><a href='#ppdEmit'><tt>ppdEmit()</tt></a> </li> | |
ecdc0628 | 180 | <li><a href='#ppdEmitAfterOrder'><tt>ppdEmitAfterOrder()</tt></a> <span class='info'> CUPS 1.2 </span></li> |
ef416fc2 | 181 | <li><a href='#ppdEmitFd'><tt>ppdEmitFd()</tt></a> </li> |
182 | <li><a href='#ppdEmitJCL'><tt>ppdEmitJCL()</tt></a> </li> | |
183 | <li><a href='#ppdEmitJCLEnd'><tt>ppdEmitJCLEnd()</tt></a> <span class='info'> CUPS 1.2 </span></li> | |
184 | <li><a href='#ppdErrorString'><tt>ppdErrorString()</tt></a> <span class='info'> CUPS 1.1.19 </span></li> | |
185 | <li><a href='#ppdFindAttr'><tt>ppdFindAttr()</tt></a> <span class='info'> CUPS 1.1.19 </span></li> | |
186 | <li><a href='#ppdFindChoice'><tt>ppdFindChoice()</tt></a> </li> | |
187 | <li><a href='#ppdFindMarkedChoice'><tt>ppdFindMarkedChoice()</tt></a> </li> | |
188 | <li><a href='#ppdFindNextAttr'><tt>ppdFindNextAttr()</tt></a> <span class='info'> CUPS 1.1.19 </span></li> | |
189 | <li><a href='#ppdFindOption'><tt>ppdFindOption()</tt></a> </li> | |
ecdc0628 | 190 | <li><a href='#ppdFirstOption'><tt>ppdFirstOption()</tt></a> <span class='info'> CUPS 1.2 </span></li> |
ef416fc2 | 191 | <li><a href='#ppdIsMarked'><tt>ppdIsMarked()</tt></a> </li> |
192 | <li><a href='#ppdLastError'><tt>ppdLastError()</tt></a> <span class='info'> CUPS 1.1.19 </span></li> | |
193 | <li><a href='#ppdMarkDefaults'><tt>ppdMarkDefaults()</tt></a> </li> | |
194 | <li><a href='#ppdMarkOption'><tt>ppdMarkOption()</tt></a> </li> | |
ecdc0628 | 195 | <li><a href='#ppdNextOption'><tt>ppdNextOption()</tt></a> <span class='info'> CUPS 1.2 </span></li> |
ef416fc2 | 196 | <li><a href='#ppdOpen'><tt>ppdOpen()</tt></a> </li> |
197 | <li><a href='#ppdOpen2'><tt>ppdOpen2()</tt></a> <span class='info'> CUPS 1.2 </span></li> | |
198 | <li><a href='#ppdOpenFd'><tt>ppdOpenFd()</tt></a> </li> | |
199 | <li><a href='#ppdOpenFile'><tt>ppdOpenFile()</tt></a> </li> | |
200 | <li><a href='#ppdPageLength'><tt>ppdPageLength()</tt></a> </li> | |
201 | <li><a href='#ppdPageSize'><tt>ppdPageSize()</tt></a> </li> | |
202 | <li><a href='#ppdPageWidth'><tt>ppdPageWidth()</tt></a> </li> | |
203 | <li><a href='#ppdSetConformance'><tt>ppdSetConformance()</tt></a> <span class='info'> CUPS 1.1.20 </span></li> | |
204 | </ul> | |
205 | <!-- NEW PAGE --> | |
206 | <h3 class='title'><a name='ppdClose'>ppdClose()</a></h3> | |
207 | <h4>Description</h4> | |
208 | <p>Free all memory used by the PPD file.</p> | |
209 | <h4>Syntax</h4> | |
210 | <pre> | |
211 | void | |
212 | ppdClose( | |
213 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd); | |
214 | </pre> | |
215 | <h4>Arguments</h4> | |
216 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
217 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
218 | <tbody> | |
219 | <tr><td><tt>ppd</tt></td><td>PPD file record</td></tr> | |
220 | </tbody></table></div> | |
221 | <h4>Returns</h4> | |
222 | <p>Nothing.</p> | |
223 | <!-- NEW PAGE --> | |
224 | <h3 class='title'><a name='ppdCollect'>ppdCollect()</a></h3> | |
225 | <h4>Description</h4> | |
226 | <p>Collect all marked options that reside in the specified | |
227 | section.</p> | |
228 | <h4>Syntax</h4> | |
229 | <pre> | |
230 | int | |
231 | ppdCollect( | |
232 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
233 | <a href='#ppd_section_t'>ppd_section_t</a> section, | |
234 | <a href='#ppd_choice_t'>ppd_choice_t</a> *** choices); | |
235 | </pre> | |
236 | <h4>Arguments</h4> | |
237 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
238 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
239 | <tbody> | |
240 | <tr><td><tt>ppd</tt></td><td>PPD file data</td></tr> | |
241 | <tr><td><tt>section</tt></td><td>Section to collect</td></tr> | |
242 | <tr><td><tt>choices</tt></td><td>Pointers to choices</td></tr> | |
243 | </tbody></table></div> | |
244 | <h4>Returns</h4> | |
245 | <p>Number of options marked</p> | |
246 | <!-- NEW PAGE --> | |
ecdc0628 | 247 | <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='ppdCollect2'>ppdCollect2()</a></h3> |
248 | <h4>Description</h4> | |
249 | <p>Collect all marked options that reside in the | |
250 | specified section and minimum order. | |
251 | ||
252 | </p> | |
253 | <h4>Syntax</h4> | |
254 | <pre> | |
255 | int | |
256 | ppdCollect2( | |
257 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
258 | <a href='#ppd_section_t'>ppd_section_t</a> section, | |
259 | float min_order, | |
260 | <a href='#ppd_choice_t'>ppd_choice_t</a> *** choices); | |
261 | </pre> | |
262 | <h4>Arguments</h4> | |
263 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
264 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
265 | <tbody> | |
266 | <tr><td><tt>ppd</tt></td><td>PPD file data</td></tr> | |
267 | <tr><td><tt>section</tt></td><td>Section to collect</td></tr> | |
268 | <tr><td><tt>min_order</tt></td><td>Minimum OrderDependency value</td></tr> | |
269 | <tr><td><tt>choices</tt></td><td>Pointers to choices</td></tr> | |
270 | </tbody></table></div> | |
271 | <h4>Returns</h4> | |
272 | <p>Number of options marked</p> | |
273 | <!-- NEW PAGE --> | |
ef416fc2 | 274 | <h3 class='title'><a name='ppdConflicts'>ppdConflicts()</a></h3> |
275 | <h4>Description</h4> | |
276 | <p>Check to see if there are any conflicts.</p> | |
277 | <h4>Syntax</h4> | |
278 | <pre> | |
279 | int | |
280 | ppdConflicts( | |
281 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd); | |
282 | </pre> | |
283 | <h4>Arguments</h4> | |
284 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
285 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
286 | <tbody> | |
287 | <tr><td><tt>ppd</tt></td><td>PPD to check</td></tr> | |
288 | </tbody></table></div> | |
289 | <h4>Returns</h4> | |
290 | <p>Number of conflicts found</p> | |
291 | <!-- NEW PAGE --> | |
292 | <h3 class='title'><a name='ppdEmit'>ppdEmit()</a></h3> | |
293 | <h4>Description</h4> | |
294 | <p>Emit code for marked options to a file.</p> | |
295 | <h4>Syntax</h4> | |
296 | <pre> | |
297 | int | |
298 | ppdEmit( | |
299 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
300 | FILE * fp, | |
301 | <a href='#ppd_section_t'>ppd_section_t</a> section); | |
302 | </pre> | |
303 | <h4>Arguments</h4> | |
304 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
305 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
306 | <tbody> | |
307 | <tr><td><tt>ppd</tt></td><td>PPD file record</td></tr> | |
308 | <tr><td><tt>fp</tt></td><td>File to write to</td></tr> | |
309 | <tr><td><tt>section</tt></td><td>Section to write</td></tr> | |
310 | </tbody></table></div> | |
311 | <h4>Returns</h4> | |
312 | <p>0 on success, -1 on failure</p> | |
313 | <!-- NEW PAGE --> | |
ecdc0628 | 314 | <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='ppdEmitAfterOrder'>ppdEmitAfterOrder()</a></h3> |
315 | <h4>Description</h4> | |
316 | <p>Emit a subset of the code for marked options to a file. | |
317 | ||
318 | When "limit" is non-zero, this function only emits options whose | |
319 | OrderDependency value is greater than or equal to "min_order". | |
320 | ||
321 | When "limit" is zero, this function is identical to ppdEmit(). | |
322 | ||
323 | </p> | |
324 | <h4>Syntax</h4> | |
325 | <pre> | |
326 | int | |
327 | ppdEmitAfterOrder( | |
328 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
329 | FILE * fp, | |
330 | <a href='#ppd_section_t'>ppd_section_t</a> section, | |
331 | int limit, | |
332 | float min_order); | |
333 | </pre> | |
334 | <h4>Arguments</h4> | |
335 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
336 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
337 | <tbody> | |
338 | <tr><td><tt>ppd</tt></td><td>PPD file record</td></tr> | |
339 | <tr><td><tt>fp</tt></td><td>File to write to</td></tr> | |
340 | <tr><td><tt>section</tt></td><td>Section to write</td></tr> | |
341 | <tr><td><tt>limit</tt></td><td>Non-zero to use min_order, 0 to include all</td></tr> | |
342 | <tr><td><tt>min_order</tt></td><td>Lowest order dependency to include</td></tr> | |
343 | </tbody></table></div> | |
344 | <h4>Returns</h4> | |
345 | <p>0 on success, -1 on failure</p> | |
346 | <!-- NEW PAGE --> | |
ef416fc2 | 347 | <h3 class='title'><a name='ppdEmitFd'>ppdEmitFd()</a></h3> |
348 | <h4>Description</h4> | |
349 | <p>Emit code for marked options to a file.</p> | |
350 | <h4>Syntax</h4> | |
351 | <pre> | |
352 | int | |
353 | ppdEmitFd( | |
354 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
355 | int fd, | |
356 | <a href='#ppd_section_t'>ppd_section_t</a> section); | |
357 | </pre> | |
358 | <h4>Arguments</h4> | |
359 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
360 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
361 | <tbody> | |
362 | <tr><td><tt>ppd</tt></td><td>PPD file record</td></tr> | |
363 | <tr><td><tt>fd</tt></td><td>File to write to</td></tr> | |
364 | <tr><td><tt>section</tt></td><td>Section to write</td></tr> | |
365 | </tbody></table></div> | |
366 | <h4>Returns</h4> | |
367 | <p>0 on success, -1 on failure</p> | |
368 | <!-- NEW PAGE --> | |
369 | <h3 class='title'><a name='ppdEmitJCL'>ppdEmitJCL()</a></h3> | |
370 | <h4>Description</h4> | |
371 | <p>Emit code for JCL options to a file.</p> | |
372 | <h4>Syntax</h4> | |
373 | <pre> | |
374 | int | |
375 | ppdEmitJCL( | |
376 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
377 | FILE * fp, | |
378 | int job_id, | |
379 | const char * user, | |
380 | const char * title); | |
381 | </pre> | |
382 | <h4>Arguments</h4> | |
383 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
384 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
385 | <tbody> | |
386 | <tr><td><tt>ppd</tt></td><td>PPD file record</td></tr> | |
387 | <tr><td><tt>fp</tt></td><td>File to write to</td></tr> | |
388 | <tr><td><tt>job_id</tt></td><td>Job ID</td></tr> | |
389 | <tr><td><tt>user</tt></td><td>Username</td></tr> | |
390 | <tr><td><tt>title</tt></td><td>Title</td></tr> | |
391 | </tbody></table></div> | |
392 | <h4>Returns</h4> | |
393 | <p>0 on success, -1 on failure</p> | |
394 | <!-- NEW PAGE --> | |
395 | <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='ppdEmitJCLEnd'>ppdEmitJCLEnd()</a></h3> | |
396 | <h4>Description</h4> | |
397 | <p>Emit JCLEnd code to a file. | |
398 | ||
399 | </p> | |
400 | <h4>Syntax</h4> | |
401 | <pre> | |
402 | int | |
403 | ppdEmitJCLEnd( | |
404 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
405 | FILE * fp); | |
406 | </pre> | |
407 | <h4>Arguments</h4> | |
408 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
409 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
410 | <tbody> | |
411 | <tr><td><tt>ppd</tt></td><td>PPD file record</td></tr> | |
412 | <tr><td><tt>fp</tt></td><td>File to write to</td></tr> | |
413 | </tbody></table></div> | |
414 | <h4>Returns</h4> | |
415 | <p>0 on success, -1 on failure</p> | |
416 | <!-- NEW PAGE --> | |
417 | <h3 class='title'><span class='info'> CUPS 1.1.19 </span><a name='ppdErrorString'>ppdErrorString()</a></h3> | |
418 | <h4>Description</h4> | |
419 | <p>Returns the text assocated with a status. | |
420 | ||
421 | </p> | |
422 | <h4>Syntax</h4> | |
423 | <pre> | |
424 | const char * | |
425 | ppdErrorString( | |
426 | ppd_status_t status); | |
427 | </pre> | |
428 | <h4>Arguments</h4> | |
429 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
430 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
431 | <tbody> | |
432 | <tr><td><tt>status</tt></td><td>PPD status</td></tr> | |
433 | </tbody></table></div> | |
434 | <h4>Returns</h4> | |
435 | <p>Status string</p> | |
436 | <!-- NEW PAGE --> | |
437 | <h3 class='title'><span class='info'> CUPS 1.1.19 </span><a name='ppdFindAttr'>ppdFindAttr()</a></h3> | |
438 | <h4>Description</h4> | |
439 | <p>Find the first matching attribute... | |
440 | ||
441 | </p> | |
442 | <h4>Syntax</h4> | |
443 | <pre> | |
444 | <a href='#ppd_attr_t'>ppd_attr_t</a> * | |
445 | ppdFindAttr( | |
446 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
447 | const char * name, | |
448 | const char * spec); | |
449 | </pre> | |
450 | <h4>Arguments</h4> | |
451 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
452 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
453 | <tbody> | |
454 | <tr><td><tt>ppd</tt></td><td>PPD file data</td></tr> | |
455 | <tr><td><tt>name</tt></td><td>Attribute name</td></tr> | |
456 | <tr><td><tt>spec</tt></td><td>Specifier string or NULL</td></tr> | |
457 | </tbody></table></div> | |
458 | <h4>Returns</h4> | |
459 | <p>Attribute or NULL if not found</p> | |
460 | <!-- NEW PAGE --> | |
461 | <h3 class='title'><a name='ppdFindChoice'>ppdFindChoice()</a></h3> | |
462 | <h4>Description</h4> | |
463 | <p>Return a pointer to an option choice.</p> | |
464 | <h4>Syntax</h4> | |
465 | <pre> | |
466 | <a href='#ppd_choice_t'>ppd_choice_t</a> * | |
467 | ppdFindChoice( | |
468 | <a href='#ppd_option_t'>ppd_option_t</a> * o, | |
469 | const char * choice); | |
470 | </pre> | |
471 | <h4>Arguments</h4> | |
472 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
473 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
474 | <tbody> | |
475 | <tr><td><tt>o</tt></td><td>Pointer to option</td></tr> | |
476 | <tr><td><tt>choice</tt></td><td>Name of choice</td></tr> | |
477 | </tbody></table></div> | |
478 | <h4>Returns</h4> | |
479 | <p>Choice pointer or NULL</p> | |
480 | <!-- NEW PAGE --> | |
481 | <h3 class='title'><a name='ppdFindMarkedChoice'>ppdFindMarkedChoice()</a></h3> | |
482 | <h4>Description</h4> | |
483 | <p>Return the marked choice for the specified option.</p> | |
484 | <h4>Syntax</h4> | |
485 | <pre> | |
486 | <a href='#ppd_choice_t'>ppd_choice_t</a> * | |
487 | ppdFindMarkedChoice( | |
488 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
489 | const char * option); | |
490 | </pre> | |
491 | <h4>Arguments</h4> | |
492 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
493 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
494 | <tbody> | |
495 | <tr><td><tt>ppd</tt></td><td>PPD file</td></tr> | |
496 | <tr><td><tt>option</tt></td><td>Keyword/option name</td></tr> | |
497 | </tbody></table></div> | |
498 | <h4>Returns</h4> | |
499 | <p>Pointer to choice or NULL</p> | |
500 | <!-- NEW PAGE --> | |
501 | <h3 class='title'><span class='info'> CUPS 1.1.19 </span><a name='ppdFindNextAttr'>ppdFindNextAttr()</a></h3> | |
502 | <h4>Description</h4> | |
503 | <p>Find the next matching attribute... | |
504 | ||
505 | </p> | |
506 | <h4>Syntax</h4> | |
507 | <pre> | |
508 | <a href='#ppd_attr_t'>ppd_attr_t</a> * | |
509 | ppdFindNextAttr( | |
510 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
511 | const char * name, | |
512 | const char * spec); | |
513 | </pre> | |
514 | <h4>Arguments</h4> | |
515 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
516 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
517 | <tbody> | |
518 | <tr><td><tt>ppd</tt></td><td>PPD file data</td></tr> | |
519 | <tr><td><tt>name</tt></td><td>Attribute name</td></tr> | |
520 | <tr><td><tt>spec</tt></td><td>Specifier string or NULL</td></tr> | |
521 | </tbody></table></div> | |
522 | <h4>Returns</h4> | |
523 | <p>Attribute or NULL if not found</p> | |
524 | <!-- NEW PAGE --> | |
525 | <h3 class='title'><a name='ppdFindOption'>ppdFindOption()</a></h3> | |
526 | <h4>Description</h4> | |
527 | <p>Return a pointer to the specified option.</p> | |
528 | <h4>Syntax</h4> | |
529 | <pre> | |
530 | <a href='#ppd_option_t'>ppd_option_t</a> * | |
531 | ppdFindOption( | |
532 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
533 | const char * option); | |
534 | </pre> | |
535 | <h4>Arguments</h4> | |
536 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
537 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
538 | <tbody> | |
539 | <tr><td><tt>ppd</tt></td><td>PPD file data</td></tr> | |
540 | <tr><td><tt>option</tt></td><td>Option/Keyword name</td></tr> | |
541 | </tbody></table></div> | |
542 | <h4>Returns</h4> | |
543 | <p>Pointer to option or NULL</p> | |
544 | <!-- NEW PAGE --> | |
ecdc0628 | 545 | <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='ppdFirstOption'>ppdFirstOption()</a></h3> |
546 | <h4>Description</h4> | |
547 | <p>Return the first option in the PPD file. | |
548 | ||
549 | Options are returned from all groups in sorted order. | |
550 | ||
551 | </p> | |
552 | <h4>Syntax</h4> | |
553 | <pre> | |
554 | <a href='#ppd_option_t'>ppd_option_t</a> * | |
555 | ppdFirstOption( | |
556 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd); | |
557 | </pre> | |
558 | <h4>Arguments</h4> | |
559 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
560 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
561 | <tbody> | |
562 | <tr><td><tt>ppd</tt></td><td>PPD file</td></tr> | |
563 | </tbody></table></div> | |
564 | <h4>Returns</h4> | |
565 | <p>First option or NULL</p> | |
566 | <!-- NEW PAGE --> | |
ef416fc2 | 567 | <h3 class='title'><a name='ppdIsMarked'>ppdIsMarked()</a></h3> |
568 | <h4>Description</h4> | |
569 | <p>Check to see if an option is marked...</p> | |
570 | <h4>Syntax</h4> | |
571 | <pre> | |
572 | int | |
573 | ppdIsMarked( | |
574 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
575 | const char * option, | |
576 | const char * choice); | |
577 | </pre> | |
578 | <h4>Arguments</h4> | |
579 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
580 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
581 | <tbody> | |
582 | <tr><td><tt>ppd</tt></td><td>PPD file data</td></tr> | |
583 | <tr><td><tt>option</tt></td><td>Option/Keyword name</td></tr> | |
584 | <tr><td><tt>choice</tt></td><td>Choice name</td></tr> | |
585 | </tbody></table></div> | |
586 | <h4>Returns</h4> | |
587 | <p>Non-zero if option is marked</p> | |
588 | <!-- NEW PAGE --> | |
589 | <h3 class='title'><span class='info'> CUPS 1.1.19 </span><a name='ppdLastError'>ppdLastError()</a></h3> | |
590 | <h4>Description</h4> | |
591 | <p>Return the status from the last ppdOpen*(). | |
592 | ||
593 | </p> | |
594 | <h4>Syntax</h4> | |
595 | <pre> | |
596 | ppd_status_t | |
597 | ppdLastError( | |
598 | int * line); | |
599 | </pre> | |
600 | <h4>Arguments</h4> | |
601 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
602 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
603 | <tbody> | |
604 | <tr><td><tt>line</tt></td><td>Line number</td></tr> | |
605 | </tbody></table></div> | |
606 | <h4>Returns</h4> | |
607 | <p>Status code</p> | |
608 | <!-- NEW PAGE --> | |
609 | <h3 class='title'><a name='ppdMarkDefaults'>ppdMarkDefaults()</a></h3> | |
610 | <h4>Description</h4> | |
611 | <p>Mark all default options in the PPD file.</p> | |
612 | <h4>Syntax</h4> | |
613 | <pre> | |
614 | void | |
615 | ppdMarkDefaults( | |
616 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd); | |
617 | </pre> | |
618 | <h4>Arguments</h4> | |
619 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
620 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
621 | <tbody> | |
622 | <tr><td><tt>ppd</tt></td><td>PPD file record</td></tr> | |
623 | </tbody></table></div> | |
624 | <h4>Returns</h4> | |
625 | <p>Nothing.</p> | |
626 | <!-- NEW PAGE --> | |
627 | <h3 class='title'><a name='ppdMarkOption'>ppdMarkOption()</a></h3> | |
628 | <h4>Description</h4> | |
629 | <p>Mark an option in a PPD file. | |
630 | ||
631 | Notes: | |
632 | ||
633 | -1 is returned if the given option would conflict with any currently | |
634 | selected option.</p> | |
635 | <h4>Syntax</h4> | |
636 | <pre> | |
637 | int | |
638 | ppdMarkOption( | |
639 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
640 | const char * option, | |
641 | const char * choice); | |
642 | </pre> | |
643 | <h4>Arguments</h4> | |
644 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
645 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
646 | <tbody> | |
647 | <tr><td><tt>ppd</tt></td><td>PPD file record</td></tr> | |
648 | <tr><td><tt>option</tt></td><td>Keyword</td></tr> | |
649 | <tr><td><tt>choice</tt></td><td>Option name</td></tr> | |
650 | </tbody></table></div> | |
651 | <h4>Returns</h4> | |
652 | <p>Number of conflicts</p> | |
653 | <!-- NEW PAGE --> | |
ecdc0628 | 654 | <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='ppdNextOption'>ppdNextOption()</a></h3> |
655 | <h4>Description</h4> | |
656 | <p>Return the next option in the PPD file. | |
657 | ||
658 | Options are returned from all groups in sorted order. | |
659 | ||
660 | </p> | |
661 | <h4>Syntax</h4> | |
662 | <pre> | |
663 | <a href='#ppd_option_t'>ppd_option_t</a> * | |
664 | ppdNextOption( | |
665 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd); | |
666 | </pre> | |
667 | <h4>Arguments</h4> | |
668 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
669 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
670 | <tbody> | |
671 | <tr><td><tt>ppd</tt></td><td>PPD file</td></tr> | |
672 | </tbody></table></div> | |
673 | <h4>Returns</h4> | |
674 | <p>Next option or NULL</p> | |
675 | <!-- NEW PAGE --> | |
ef416fc2 | 676 | <h3 class='title'><a name='ppdOpen'>ppdOpen()</a></h3> |
677 | <h4>Description</h4> | |
678 | <p>Read a PPD file into memory.</p> | |
679 | <h4>Syntax</h4> | |
680 | <pre> | |
681 | <a href='#ppd_file_t'>ppd_file_t</a> * | |
682 | ppdOpen( | |
683 | FILE * fp); | |
684 | </pre> | |
685 | <h4>Arguments</h4> | |
686 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
687 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
688 | <tbody> | |
689 | <tr><td><tt>fp</tt></td><td>File to read from</td></tr> | |
690 | </tbody></table></div> | |
691 | <h4>Returns</h4> | |
692 | <p>PPD file record</p> | |
693 | <!-- NEW PAGE --> | |
694 | <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='ppdOpen2'>ppdOpen2()</a></h3> | |
695 | <h4>Description</h4> | |
696 | <p>Read a PPD file into memory. | |
697 | ||
698 | </p> | |
699 | <h4>Syntax</h4> | |
700 | <pre> | |
701 | <a href='#ppd_file_t'>ppd_file_t</a> * | |
702 | ppdOpen2( | |
703 | cups_file_t * fp); | |
704 | </pre> | |
705 | <h4>Arguments</h4> | |
706 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
707 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
708 | <tbody> | |
709 | <tr><td><tt>fp</tt></td><td>File to read from</td></tr> | |
710 | </tbody></table></div> | |
711 | <h4>Returns</h4> | |
712 | <p>PPD file record</p> | |
713 | <!-- NEW PAGE --> | |
714 | <h3 class='title'><a name='ppdOpenFd'>ppdOpenFd()</a></h3> | |
715 | <h4>Description</h4> | |
716 | <p>Read a PPD file into memory.</p> | |
717 | <h4>Syntax</h4> | |
718 | <pre> | |
719 | <a href='#ppd_file_t'>ppd_file_t</a> * | |
720 | ppdOpenFd( | |
721 | int fd); | |
722 | </pre> | |
723 | <h4>Arguments</h4> | |
724 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
725 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
726 | <tbody> | |
727 | <tr><td><tt>fd</tt></td><td>File to read from</td></tr> | |
728 | </tbody></table></div> | |
729 | <h4>Returns</h4> | |
730 | <p>PPD file record</p> | |
731 | <!-- NEW PAGE --> | |
732 | <h3 class='title'><a name='ppdOpenFile'>ppdOpenFile()</a></h3> | |
733 | <h4>Description</h4> | |
734 | <p>Read a PPD file into memory.</p> | |
735 | <h4>Syntax</h4> | |
736 | <pre> | |
737 | <a href='#ppd_file_t'>ppd_file_t</a> * | |
738 | ppdOpenFile( | |
739 | const char * filename); | |
740 | </pre> | |
741 | <h4>Arguments</h4> | |
742 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
743 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
744 | <tbody> | |
745 | <tr><td><tt>filename</tt></td><td>File to read from</td></tr> | |
746 | </tbody></table></div> | |
747 | <h4>Returns</h4> | |
748 | <p>PPD file record</p> | |
749 | <!-- NEW PAGE --> | |
750 | <h3 class='title'><a name='ppdPageLength'>ppdPageLength()</a></h3> | |
751 | <h4>Description</h4> | |
752 | <p>Get the page length for the given size.</p> | |
753 | <h4>Syntax</h4> | |
754 | <pre> | |
755 | float | |
756 | ppdPageLength( | |
757 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
758 | const char * name); | |
759 | </pre> | |
760 | <h4>Arguments</h4> | |
761 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
762 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
763 | <tbody> | |
764 | <tr><td><tt>ppd</tt></td><td>PPD file</td></tr> | |
765 | <tr><td><tt>name</tt></td><td>Size name</td></tr> | |
766 | </tbody></table></div> | |
767 | <h4>Returns</h4> | |
768 | <p>Length of page in points or 0.0</p> | |
769 | <!-- NEW PAGE --> | |
770 | <h3 class='title'><a name='ppdPageSize'>ppdPageSize()</a></h3> | |
771 | <h4>Description</h4> | |
772 | <p>Get the page size record for the given size.</p> | |
773 | <h4>Syntax</h4> | |
774 | <pre> | |
775 | <a href='#ppd_size_t'>ppd_size_t</a> * | |
776 | ppdPageSize( | |
777 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
778 | const char * name); | |
779 | </pre> | |
780 | <h4>Arguments</h4> | |
781 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
782 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
783 | <tbody> | |
784 | <tr><td><tt>ppd</tt></td><td>PPD file record</td></tr> | |
785 | <tr><td><tt>name</tt></td><td>Size name</td></tr> | |
786 | </tbody></table></div> | |
787 | <h4>Returns</h4> | |
788 | <p>Size record for page or NULL</p> | |
789 | <!-- NEW PAGE --> | |
790 | <h3 class='title'><a name='ppdPageWidth'>ppdPageWidth()</a></h3> | |
791 | <h4>Description</h4> | |
792 | <p>Get the page width for the given size.</p> | |
793 | <h4>Syntax</h4> | |
794 | <pre> | |
795 | float | |
796 | ppdPageWidth( | |
797 | <a href='#ppd_file_t'>ppd_file_t</a> * ppd, | |
798 | const char * name); | |
799 | </pre> | |
800 | <h4>Arguments</h4> | |
801 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
802 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
803 | <tbody> | |
804 | <tr><td><tt>ppd</tt></td><td>PPD file record</td></tr> | |
805 | <tr><td><tt>name</tt></td><td>Size name</td></tr> | |
806 | </tbody></table></div> | |
807 | <h4>Returns</h4> | |
808 | <p>Width of page in points or 0.0</p> | |
809 | <!-- NEW PAGE --> | |
810 | <h3 class='title'><span class='info'> CUPS 1.1.20 </span><a name='ppdSetConformance'>ppdSetConformance()</a></h3> | |
811 | <h4>Description</h4> | |
812 | <p>Set the conformance level for PPD files. | |
813 | ||
814 | </p> | |
815 | <h4>Syntax</h4> | |
816 | <pre> | |
817 | void | |
818 | ppdSetConformance( | |
819 | <a href='#ppd_conform_t'>ppd_conform_t</a> c); | |
820 | </pre> | |
821 | <h4>Arguments</h4> | |
822 | <div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0'> | |
823 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
824 | <tbody> | |
825 | <tr><td><tt>c</tt></td><td>Conformance level</td></tr> | |
826 | </tbody></table></div> | |
827 | <h4>Returns</h4> | |
828 | <p>Nothing.</p> | |
829 | <!-- NEW PAGE --> | |
830 | <h2 class='title'><a name='STRUCTURES'>Structures</a></h2> | |
831 | <ul> | |
ecdc0628 | 832 | <li><a href='#ppd_attr_s'><tt>ppd_attr_s</tt></a> <span class='info'> CUPS 1.1.19 </span></li> |
833 | <li><a href='#ppd_choice_s'><tt>ppd_choice_s</tt></a> </li> | |
834 | <li><a href='#ppd_coption_s'><tt>ppd_coption_s</tt></a> <span class='info'> CUPS 1.2 </span></li> | |
835 | <li><a href='#ppd_cparam_s'><tt>ppd_cparam_s</tt></a> <span class='info'> CUPS 1.2 </span></li> | |
836 | <li><a href='#ppd_emul_s'><tt>ppd_emul_s</tt></a> </li> | |
837 | <li><a href='#ppd_file_s'><tt>ppd_file_s</tt></a> </li> | |
838 | <li><a href='#ppd_group_s'><tt>ppd_group_s</tt></a> </li> | |
839 | <li><a href='#ppd_option_s'><tt>ppd_option_s</tt></a> </li> | |
840 | <li><a href='#ppd_profile_s'><tt>ppd_profile_s</tt></a> </li> | |
841 | <li><a href='#ppd_size_s'><tt>ppd_size_s</tt></a> </li> | |
ef416fc2 | 842 | </ul> |
843 | <!-- NEW PAGE --> | |
ecdc0628 | 844 | <h3 class='title'><span class='info'> CUPS 1.1.19 </span><a name='ppd_attr_s'>ppd_attr_s</a></h3> |
ef416fc2 | 845 | <h4>Description</h4> |
846 | <p>PPD Attribute Structure </p> | |
847 | <h4>Definition</h4> | |
848 | <pre> | |
ecdc0628 | 849 | struct ppd_attr_s |
ef416fc2 | 850 | { |
851 | char name[PPD_MAX_NAME]; | |
852 | char spec[PPD_MAX_NAME]; | |
853 | char text[PPD_MAX_TEXT]; | |
854 | char * value; | |
855 | }; | |
856 | </pre> | |
857 | <h4>Members</h4> | |
858 | <div class='table'><table align='center' border='1' width='80%'> | |
859 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
860 | <tbody> | |
861 | <tr><td><tt>name[PPD_MAX_NAME]</tt> </td><td>Name of attribute (cupsXYZ)</td></tr> | |
862 | <tr><td><tt>spec[PPD_MAX_NAME]</tt> </td><td>Specifier string, if any</td></tr> | |
863 | <tr><td><tt>text[PPD_MAX_TEXT]</tt> </td><td>Human-readable text, if any</td></tr> | |
864 | <tr><td><tt>value</tt> </td><td>Value string</td></tr> | |
865 | </tbody></table></div> | |
866 | <!-- NEW PAGE --> | |
ecdc0628 | 867 | <h3 class='title'><a name='ppd_choice_s'>ppd_choice_s</a></h3> |
ef416fc2 | 868 | <h4>Description</h4> |
869 | <p>Option choices</p> | |
870 | <h4>Definition</h4> | |
871 | <pre> | |
ecdc0628 | 872 | struct ppd_choice_s |
ef416fc2 | 873 | { |
874 | char choice[PPD_MAX_NAME]; | |
875 | char * code; | |
876 | char marked; | |
877 | <a href='#ppd_option_t'>ppd_option_t</a> * option; | |
878 | char text[PPD_MAX_TEXT]; | |
879 | }; | |
880 | </pre> | |
881 | <h4>Members</h4> | |
882 | <div class='table'><table align='center' border='1' width='80%'> | |
883 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
884 | <tbody> | |
885 | <tr><td><tt>choice[PPD_MAX_NAME]</tt> </td><td>Computer-readable option name</td></tr> | |
886 | <tr><td><tt>code</tt> </td><td>Code to send for this option</td></tr> | |
887 | <tr><td><tt>marked</tt> </td><td>0 if not selected, 1 otherwise</td></tr> | |
888 | <tr><td><tt>option</tt> </td><td>Pointer to parent option structure</td></tr> | |
889 | <tr><td><tt>text[PPD_MAX_TEXT]</tt> </td><td>Human-readable option name</td></tr> | |
890 | </tbody></table></div> | |
891 | <!-- NEW PAGE --> | |
ecdc0628 | 892 | <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='ppd_coption_s'>ppd_coption_s</a></h3> |
ef416fc2 | 893 | <h4>Description</h4> |
ecdc0628 | 894 | <p>Custom Option </p> |
ef416fc2 | 895 | <h4>Definition</h4> |
896 | <pre> | |
ecdc0628 | 897 | struct ppd_coption_s |
ef416fc2 | 898 | { |
ecdc0628 | 899 | char keyword[PPD_MAX_NAME]; |
900 | int marked; | |
901 | <a href='#ppd_option_t'>ppd_option_t</a> * option; | |
902 | cups_array_t * params; | |
ef416fc2 | 903 | }; |
904 | </pre> | |
905 | <h4>Members</h4> | |
906 | <div class='table'><table align='center' border='1' width='80%'> | |
907 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
908 | <tbody> | |
ecdc0628 | 909 | <tr><td><tt>keyword[PPD_MAX_NAME]</tt> </td><td>Name of option that is being extended...</td></tr> |
910 | <tr><td><tt>marked</tt> </td><td>Extended option is marked</td></tr> | |
911 | <tr><td><tt>option</tt> </td><td>Option that is being extended...</td></tr> | |
912 | <tr><td><tt>params</tt> </td><td>Parameters</td></tr> | |
ef416fc2 | 913 | </tbody></table></div> |
914 | <!-- NEW PAGE --> | |
ecdc0628 | 915 | <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='ppd_cparam_s'>ppd_cparam_s</a></h3> |
ef416fc2 | 916 | <h4>Description</h4> |
ecdc0628 | 917 | <p>Custom Parameter </p> |
ef416fc2 | 918 | <h4>Definition</h4> |
919 | <pre> | |
ecdc0628 | 920 | struct ppd_cparam_s |
ef416fc2 | 921 | { |
ecdc0628 | 922 | <a href='#ppd_cpvalue_t'>ppd_cpvalue_t</a> minimum, maximum, current; |
923 | char name[PPD_MAX_NAME]; | |
924 | int order; | |
925 | char text[PPD_MAX_TEXT]; | |
926 | <a href='#ppd_cptype_t'>ppd_cptype_t</a> type; | |
ef416fc2 | 927 | }; |
928 | </pre> | |
929 | <h4>Members</h4> | |
930 | <div class='table'><table align='center' border='1' width='80%'> | |
931 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
932 | <tbody> | |
ecdc0628 | 933 | <tr><td><tt>current</tt> </td><td>Current value</td></tr> |
934 | <tr><td><tt>name[PPD_MAX_NAME]</tt> </td><td>Parameter name</td></tr> | |
935 | <tr><td><tt>order</tt> </td><td>Order (0 to N)</td></tr> | |
936 | <tr><td><tt>text[PPD_MAX_TEXT]</tt> </td><td>Human-readable text</td></tr> | |
937 | <tr><td><tt>type</tt> </td><td>Parameter type</td></tr> | |
ef416fc2 | 938 | </tbody></table></div> |
939 | <!-- NEW PAGE --> | |
ecdc0628 | 940 | <h3 class='title'><a name='ppd_emul_s'>ppd_emul_s</a></h3> |
ef416fc2 | 941 | <h4>Description</h4> |
ecdc0628 | 942 | <p>Emulators</p> |
ef416fc2 | 943 | <h4>Definition</h4> |
944 | <pre> | |
ecdc0628 | 945 | struct ppd_emul_s |
ef416fc2 | 946 | { |
ecdc0628 | 947 | char name[PPD_MAX_NAME]; |
948 | char * start; | |
949 | char * stop; | |
ef416fc2 | 950 | }; |
951 | </pre> | |
952 | <h4>Members</h4> | |
953 | <div class='table'><table align='center' border='1' width='80%'> | |
954 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
955 | <tbody> | |
ecdc0628 | 956 | <tr><td><tt>name[PPD_MAX_NAME]</tt> </td><td>Emulator name</td></tr> |
957 | <tr><td><tt>start</tt> </td><td>Code to switch to this emulation</td></tr> | |
958 | <tr><td><tt>stop</tt> </td><td>Code to stop this emulation</td></tr> | |
ef416fc2 | 959 | </tbody></table></div> |
960 | <!-- NEW PAGE --> | |
ecdc0628 | 961 | <h3 class='title'><a name='ppd_file_s'>ppd_file_s</a></h3> |
ef416fc2 | 962 | <h4>Description</h4> |
ecdc0628 | 963 | <p>PPD File</p> |
ef416fc2 | 964 | <h4>Definition</h4> |
965 | <pre> | |
ecdc0628 | 966 | struct ppd_file_s |
ef416fc2 | 967 | { |
968 | int accurate_screens; | |
969 | <a href='#ppd_attr_t'>ppd_attr_t</a> ** attrs; | |
970 | int color_device; | |
971 | ppd_cs_t colorspace; | |
972 | <a href='#ppd_const_t'>ppd_const_t</a> * consts; | |
973 | int contone_only; | |
ecdc0628 | 974 | cups_array_t * coptions; |
ef416fc2 | 975 | int cur_attr; |
976 | float custom_margins[4]; | |
977 | float custom_max[2]; | |
978 | float custom_min[2]; | |
979 | <a href='#ppd_emul_t'>ppd_emul_t</a> * emulations; | |
ef416fc2 | 980 | char ** filters; |
981 | int flip_duplex; | |
982 | char ** fonts; | |
983 | <a href='#ppd_group_t'>ppd_group_t</a> * groups; | |
984 | char * jcl_begin; | |
985 | char * jcl_end; | |
986 | char * jcl_ps; | |
987 | int landscape; | |
988 | char * lang_encoding; | |
989 | char * lang_version; | |
990 | int language_level; | |
991 | int manual_copies; | |
992 | char * manufacturer; | |
993 | int model_number; | |
994 | char * modelname; | |
995 | char * nickname; | |
996 | int num_attrs; | |
997 | int num_consts; | |
998 | int num_emulations; | |
ef416fc2 | 999 | int num_filters; |
1000 | int num_fonts; | |
1001 | int num_groups; | |
1002 | int num_profiles; | |
1003 | int num_sizes; | |
ecdc0628 | 1004 | cups_array_t * options; |
ef416fc2 | 1005 | char * patches; |
1006 | char * pcfilename; | |
1007 | char * product; | |
1008 | <a href='#ppd_profile_t'>ppd_profile_t</a> * profiles; | |
1009 | char * protocols; | |
1010 | char * shortnickname; | |
1011 | <a href='#ppd_size_t'>ppd_size_t</a> * sizes; | |
ecdc0628 | 1012 | cups_array_t * sorted_attrs; |
ef416fc2 | 1013 | int throughput; |
1014 | char * ttrasterizer; | |
1015 | int variable_sizes; | |
1016 | }; | |
1017 | </pre> | |
1018 | <h4>Members</h4> | |
1019 | <div class='table'><table align='center' border='1' width='80%'> | |
1020 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
1021 | <tbody> | |
1022 | <tr><td><tt>accurate_screens</tt> </td><td>1 = supports accurate screens, 0 = not</td></tr> | |
ecdc0628 | 1023 | <tr><td><tt>attrs</tt> <span class='info'> CUPS 1.1.19 </span></td><td>Attributes @private@</td></tr> |
ef416fc2 | 1024 | <tr><td><tt>color_device</tt> </td><td>1 = color device, 0 = grayscale</td></tr> |
1025 | <tr><td><tt>colorspace</tt> </td><td>Default colorspace</td></tr> | |
1026 | <tr><td><tt>consts</tt> </td><td>UI/Non-UI constraints</td></tr> | |
1027 | <tr><td><tt>contone_only</tt> </td><td>1 = continuous tone only, 0 = not</td></tr> | |
ecdc0628 | 1028 | <tr><td><tt>coptions</tt> <span class='info'> CUPS 1.2 </span></td><td>Custom options array @private@</td></tr> |
1029 | <tr><td><tt>cur_attr</tt> <span class='info'> CUPS 1.1.19 </span></td><td>Current attribute @private@</td></tr> | |
ef416fc2 | 1030 | <tr><td><tt>custom_margins[4]</tt> </td><td>Margins around page</td></tr> |
1031 | <tr><td><tt>custom_max[2]</tt> </td><td>Maximum variable page size</td></tr> | |
1032 | <tr><td><tt>custom_min[2]</tt> </td><td>Minimum variable page size</td></tr> | |
1033 | <tr><td><tt>emulations</tt> </td><td>Emulations and the code to invoke them</td></tr> | |
ef416fc2 | 1034 | <tr><td><tt>filters</tt> </td><td>Filter strings...</td></tr> |
1035 | <tr><td><tt>flip_duplex</tt> <span class='info'> CUPS 1.1 </span></td><td>1 = Flip page for back sides </td></tr> | |
1036 | <tr><td><tt>fonts</tt> </td><td>Pre-loaded fonts</td></tr> | |
1037 | <tr><td><tt>groups</tt> </td><td>UI groups</td></tr> | |
1038 | <tr><td><tt>jcl_begin</tt> </td><td>Start JCL commands</td></tr> | |
1039 | <tr><td><tt>jcl_end</tt> </td><td>End JCL commands</td></tr> | |
1040 | <tr><td><tt>jcl_ps</tt> </td><td>Enter PostScript interpreter</td></tr> | |
1041 | <tr><td><tt>landscape</tt> </td><td>-90 or 90</td></tr> | |
1042 | <tr><td><tt>lang_encoding</tt> </td><td>Language encoding</td></tr> | |
1043 | <tr><td><tt>lang_version</tt> </td><td>Language version (English, Spanish, etc.)</td></tr> | |
1044 | <tr><td><tt>language_level</tt> </td><td>Language level of device</td></tr> | |
1045 | <tr><td><tt>manual_copies</tt> </td><td>1 = Copies done manually, 0 = hardware</td></tr> | |
1046 | <tr><td><tt>manufacturer</tt> </td><td>Manufacturer name</td></tr> | |
1047 | <tr><td><tt>model_number</tt> </td><td>Device-specific model number</td></tr> | |
1048 | <tr><td><tt>modelname</tt> </td><td>Model name (general)</td></tr> | |
1049 | <tr><td><tt>nickname</tt> </td><td>Nickname (specific)</td></tr> | |
ecdc0628 | 1050 | <tr><td><tt>num_attrs</tt> <span class='info'> CUPS 1.1.19 </span></td><td>Number of attributes @private@</td></tr> |
ef416fc2 | 1051 | <tr><td><tt>num_consts</tt> </td><td>Number of UI/Non-UI constraints</td></tr> |
1052 | <tr><td><tt>num_emulations</tt> </td><td>Number of emulations supported</td></tr> | |
ef416fc2 | 1053 | <tr><td><tt>num_filters</tt> </td><td>Number of filters</td></tr> |
1054 | <tr><td><tt>num_fonts</tt> </td><td>Number of pre-loaded fonts</td></tr> | |
1055 | <tr><td><tt>num_groups</tt> </td><td>Number of UI groups</td></tr> | |
1056 | <tr><td><tt>num_profiles</tt> </td><td>Number of sRGB color profiles</td></tr> | |
1057 | <tr><td><tt>num_sizes</tt> </td><td>Number of page sizes</td></tr> | |
ecdc0628 | 1058 | <tr><td><tt>options</tt> <span class='info'> CUPS 1.2 </span></td><td>Option lookup array @private@</td></tr> |
ef416fc2 | 1059 | <tr><td><tt>patches</tt> </td><td>Patch commands to be sent to printer</td></tr> |
1060 | <tr><td><tt>pcfilename</tt> <span class='info'> CUPS 1.1.19 </span></td><td>PCFileName string </td></tr> | |
1061 | <tr><td><tt>product</tt> </td><td>Product name (from PS RIP/interpreter)</td></tr> | |
1062 | <tr><td><tt>profiles</tt> </td><td>sRGB color profiles</td></tr> | |
1063 | <tr><td><tt>protocols</tt> <span class='info'> CUPS 1.1.19 </span></td><td>Protocols (BCP, TBCP) string </td></tr> | |
1064 | <tr><td><tt>shortnickname</tt> </td><td>Short version of nickname</td></tr> | |
1065 | <tr><td><tt>sizes</tt> </td><td>Page sizes</td></tr> | |
ecdc0628 | 1066 | <tr><td><tt>sorted_attrs</tt> <span class='info'> CUPS 1.2 </span></td><td>Attribute lookup array @private@</td></tr> |
ef416fc2 | 1067 | <tr><td><tt>throughput</tt> </td><td>Pages per minute</td></tr> |
1068 | <tr><td><tt>ttrasterizer</tt> </td><td>Truetype rasterizer</td></tr> | |
1069 | <tr><td><tt>variable_sizes</tt> </td><td>1 = supports variable sizes, 0 = doesn't</td></tr> | |
1070 | </tbody></table></div> | |
1071 | <!-- NEW PAGE --> | |
ecdc0628 | 1072 | <h3 class='title'><a name='ppd_group_s'>ppd_group_s</a></h3> |
ef416fc2 | 1073 | <h4>Description</h4> |
1074 | <p>Groups</p> | |
1075 | <h4>Definition</h4> | |
1076 | <pre> | |
ecdc0628 | 1077 | struct ppd_group_s |
ef416fc2 | 1078 | { |
1079 | char text[PPD_MAX_TEXT - PPD_MAX_NAME]; | |
1080 | char name[PPD_MAX_NAME]; | |
1081 | int num_options; | |
1082 | int num_subgroups; | |
1083 | <a href='#ppd_option_t'>ppd_option_t</a> * options; | |
ecdc0628 | 1084 | struct <a href='#ppd_group_s'>ppd_group_s</a> * subgroups; |
ef416fc2 | 1085 | }; |
1086 | </pre> | |
1087 | <h4>Members</h4> | |
1088 | <div class='table'><table align='center' border='1' width='80%'> | |
1089 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
1090 | <tbody> | |
1091 | <tr><td><tt>PPD_MAX_NAME]</tt> </td><td>Human-readable group name</td></tr> | |
1092 | <tr><td><tt>name[PPD_MAX_NAME]</tt> <span class='info'> CUPS 1.1.18 </span></td><td>Group name </td></tr> | |
1093 | <tr><td><tt>num_options</tt> </td><td>Number of options</td></tr> | |
1094 | <tr><td><tt>num_subgroups</tt> </td><td>Number of sub-groups</td></tr> | |
1095 | <tr><td><tt>options</tt> </td><td>Options</td></tr> | |
1096 | <tr><td><tt>subgroups</tt> </td><td>Sub-groups (max depth = 1)</td></tr> | |
1097 | </tbody></table></div> | |
1098 | <!-- NEW PAGE --> | |
ecdc0628 | 1099 | <h3 class='title'><a name='ppd_option_s'>ppd_option_s</a></h3> |
ef416fc2 | 1100 | <h4>Description</h4> |
1101 | <p>Options</p> | |
1102 | <h4>Definition</h4> | |
1103 | <pre> | |
ecdc0628 | 1104 | struct ppd_option_s |
ef416fc2 | 1105 | { |
1106 | <a href='#ppd_choice_t'>ppd_choice_t</a> * choices; | |
1107 | char conflicted; | |
1108 | char defchoice[PPD_MAX_NAME]; | |
1109 | char keyword[PPD_MAX_NAME]; | |
1110 | int num_choices; | |
1111 | float order; | |
1112 | <a href='#ppd_section_t'>ppd_section_t</a> section; | |
1113 | char text[PPD_MAX_TEXT]; | |
1114 | <a href='#ppd_ui_t'>ppd_ui_t</a> ui; | |
1115 | }; | |
1116 | </pre> | |
1117 | <h4>Members</h4> | |
1118 | <div class='table'><table align='center' border='1' width='80%'> | |
1119 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
1120 | <tbody> | |
1121 | <tr><td><tt>choices</tt> </td><td>Option choices</td></tr> | |
1122 | <tr><td><tt>conflicted</tt> </td><td>0 if no conflicts exist, 1 otherwise</td></tr> | |
1123 | <tr><td><tt>defchoice[PPD_MAX_NAME]</tt> </td><td>Default option choice</td></tr> | |
1124 | <tr><td><tt>keyword[PPD_MAX_NAME]</tt> </td><td>Option keyword name ("PageSize", etc.)</td></tr> | |
1125 | <tr><td><tt>num_choices</tt> </td><td>Number of option choices</td></tr> | |
1126 | <tr><td><tt>order</tt> </td><td>Order number</td></tr> | |
1127 | <tr><td><tt>section</tt> </td><td>Section for command</td></tr> | |
1128 | <tr><td><tt>text[PPD_MAX_TEXT]</tt> </td><td>Human-readable text</td></tr> | |
1129 | <tr><td><tt>ui</tt> </td><td>Type of UI option</td></tr> | |
1130 | </tbody></table></div> | |
1131 | <!-- NEW PAGE --> | |
ecdc0628 | 1132 | <h3 class='title'><a name='ppd_profile_s'>ppd_profile_s</a></h3> |
ef416fc2 | 1133 | <h4>Description</h4> |
1134 | <p>sRGB Color Profiles</p> | |
1135 | <h4>Definition</h4> | |
1136 | <pre> | |
ecdc0628 | 1137 | struct ppd_profile_s |
ef416fc2 | 1138 | { |
1139 | float density; | |
1140 | float gamma; | |
1141 | float matrix[3][3]; | |
1142 | char media_type[PPD_MAX_NAME]; | |
1143 | char resolution[PPD_MAX_NAME]; | |
1144 | }; | |
1145 | </pre> | |
1146 | <h4>Members</h4> | |
1147 | <div class='table'><table align='center' border='1' width='80%'> | |
1148 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
1149 | <tbody> | |
1150 | <tr><td><tt>density</tt> </td><td>Ink density to use</td></tr> | |
1151 | <tr><td><tt>gamma</tt> </td><td>Gamma correction to use</td></tr> | |
1152 | <tr><td><tt>matrix[3][3]</tt> </td><td>Transform matrix</td></tr> | |
1153 | <tr><td><tt>media_type[PPD_MAX_NAME]</tt> </td><td>Media type or "-"</td></tr> | |
1154 | <tr><td><tt>resolution[PPD_MAX_NAME]</tt> </td><td>Resolution or "-"</td></tr> | |
1155 | </tbody></table></div> | |
1156 | <!-- NEW PAGE --> | |
ecdc0628 | 1157 | <h3 class='title'><a name='ppd_size_s'>ppd_size_s</a></h3> |
ef416fc2 | 1158 | <h4>Description</h4> |
1159 | <p>Page Sizes</p> | |
1160 | <h4>Definition</h4> | |
1161 | <pre> | |
ecdc0628 | 1162 | struct ppd_size_s |
ef416fc2 | 1163 | { |
1164 | float bottom; | |
1165 | float left; | |
1166 | float length; | |
1167 | int marked; | |
1168 | char name[PPD_MAX_NAME]; | |
1169 | float right; | |
1170 | float top; | |
1171 | float width; | |
1172 | }; | |
1173 | </pre> | |
1174 | <h4>Members</h4> | |
1175 | <div class='table'><table align='center' border='1' width='80%'> | |
1176 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
1177 | <tbody> | |
1178 | <tr><td><tt>bottom</tt> </td><td>Bottom printable margin in points</td></tr> | |
1179 | <tr><td><tt>left</tt> </td><td>Left printable margin in points</td></tr> | |
1180 | <tr><td><tt>length</tt> </td><td>Length of media in points</td></tr> | |
1181 | <tr><td><tt>marked</tt> </td><td>Page size selected?</td></tr> | |
1182 | <tr><td><tt>name[PPD_MAX_NAME]</tt> </td><td>Media size option</td></tr> | |
1183 | <tr><td><tt>right</tt> </td><td>Right printable margin in points</td></tr> | |
1184 | <tr><td><tt>top</tt> </td><td>Top printable margin in points</td></tr> | |
1185 | <tr><td><tt>width</tt> </td><td>Width of media in points</td></tr> | |
1186 | </tbody></table></div> | |
1187 | <!-- NEW PAGE --> | |
1188 | <h2 class='title'><a name='TYPES'>Types</a></h2> | |
1189 | <ul> | |
1190 | <li><a href='#ppd_attr_t'><tt>ppd_attr_t</tt></a> <span class='info'> CUPS 1.1.19 </span></li> | |
1191 | <li><a href='#ppd_choice_t'><tt>ppd_choice_t</tt></a> </li> | |
1192 | <li><a href='#ppd_const_t'><tt>ppd_const_t</tt></a> </li> | |
ecdc0628 | 1193 | <li><a href='#ppd_coption_t'><tt>ppd_coption_t</tt></a> <span class='info'> CUPS 1.2 </span></li> |
1194 | <li><a href='#ppd_cparam_t'><tt>ppd_cparam_t</tt></a> <span class='info'> CUPS 1.2 </span></li> | |
1195 | <li><a href='#ppd_cptype_t'><tt>ppd_cptype_t</tt></a> <span class='info'> CUPS 1.2 </span></li> | |
1196 | <li><a href='#ppd_cpvalue_t'><tt>ppd_cpvalue_t</tt></a> <span class='info'> CUPS 1.2 </span></li> | |
ef416fc2 | 1197 | <li><a href='#ppd_emul_t'><tt>ppd_emul_t</tt></a> </li> |
ef416fc2 | 1198 | <li><a href='#ppd_file_t'><tt>ppd_file_t</tt></a> </li> |
1199 | <li><a href='#ppd_group_t'><tt>ppd_group_t</tt></a> </li> | |
1200 | <li><a href='#ppd_option_t'><tt>ppd_option_t</tt></a> </li> | |
1201 | <li><a href='#ppd_profile_t'><tt>ppd_profile_t</tt></a> </li> | |
1202 | <li><a href='#ppd_section_t'><tt>ppd_section_t</tt></a> </li> | |
1203 | <li><a href='#ppd_size_t'><tt>ppd_size_t</tt></a> </li> | |
1204 | <li><a href='#ppd_ui_t'><tt>ppd_ui_t</tt></a> </li> | |
1205 | </ul> | |
1206 | <!-- NEW PAGE --> | |
1207 | <h3 class='title'><span class='info'> CUPS 1.1.19 </span><a name='ppd_attr_t'>ppd_attr_t</a></h3> | |
1208 | <h4>Description</h4> | |
1209 | <p>PPD Attribute Structure </p> | |
1210 | <h4>Definition</h4> | |
1211 | <pre> | |
ecdc0628 | 1212 | typedef struct <a href='#ppd_attr_s'>ppd_attr_s</a> ppd_attr_t; |
ef416fc2 | 1213 | </pre> |
1214 | <!-- NEW PAGE --> | |
1215 | <h3 class='title'><a name='ppd_choice_t'>ppd_choice_t</a></h3> | |
1216 | <h4>Description</h4> | |
1217 | <p>Option choices</p> | |
1218 | <h4>Definition</h4> | |
1219 | <pre> | |
ecdc0628 | 1220 | typedef struct <a href='#ppd_choice_s'>ppd_choice_s</a> ppd_choice_t; |
ef416fc2 | 1221 | </pre> |
1222 | <!-- NEW PAGE --> | |
1223 | <h3 class='title'><a name='ppd_const_t'>ppd_const_t</a></h3> | |
1224 | <h4>Description</h4> | |
1225 | <p>Constraints</p> | |
1226 | <h4>Definition</h4> | |
1227 | <pre> | |
1228 | typedef struct ppd_const_t; | |
1229 | </pre> | |
1230 | <!-- NEW PAGE --> | |
ecdc0628 | 1231 | <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='ppd_coption_t'>ppd_coption_t</a></h3> |
ef416fc2 | 1232 | <h4>Description</h4> |
ecdc0628 | 1233 | <p>Custom Option </p> |
ef416fc2 | 1234 | <h4>Definition</h4> |
1235 | <pre> | |
ecdc0628 | 1236 | typedef struct <a href='#ppd_coption_s'>ppd_coption_s</a> ppd_coption_t; |
ef416fc2 | 1237 | </pre> |
1238 | <!-- NEW PAGE --> | |
ecdc0628 | 1239 | <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='ppd_cparam_t'>ppd_cparam_t</a></h3> |
ef416fc2 | 1240 | <h4>Description</h4> |
ecdc0628 | 1241 | <p>Custom Parameter </p> |
ef416fc2 | 1242 | <h4>Definition</h4> |
1243 | <pre> | |
ecdc0628 | 1244 | typedef struct <a href='#ppd_cparam_s'>ppd_cparam_s</a> ppd_cparam_t; |
ef416fc2 | 1245 | </pre> |
1246 | <!-- NEW PAGE --> | |
ecdc0628 | 1247 | <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='ppd_cptype_t'>ppd_cptype_t</a></h3> |
ef416fc2 | 1248 | <h4>Description</h4> |
ecdc0628 | 1249 | <p>Custom Parameter Type </p> |
ef416fc2 | 1250 | <h4>Definition</h4> |
1251 | <pre> | |
ecdc0628 | 1252 | typedef enum <a href='#ppd_cptype_e'>ppd_cptype_e</a> ppd_cptype_t; |
ef416fc2 | 1253 | </pre> |
1254 | <!-- NEW PAGE --> | |
ecdc0628 | 1255 | <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='ppd_cpvalue_t'>ppd_cpvalue_t</a></h3> |
ef416fc2 | 1256 | <h4>Description</h4> |
ecdc0628 | 1257 | <p>Custom Parameter Value </p> |
ef416fc2 | 1258 | <h4>Definition</h4> |
1259 | <pre> | |
ecdc0628 | 1260 | typedef union <a href='#ppd_cpvalue_u'>ppd_cpvalue_u</a> ppd_cpvalue_t; |
ef416fc2 | 1261 | </pre> |
1262 | <!-- NEW PAGE --> | |
ecdc0628 | 1263 | <h3 class='title'><a name='ppd_emul_t'>ppd_emul_t</a></h3> |
ef416fc2 | 1264 | <h4>Description</h4> |
ecdc0628 | 1265 | <p>Emulators</p> |
ef416fc2 | 1266 | <h4>Definition</h4> |
1267 | <pre> | |
ecdc0628 | 1268 | typedef struct <a href='#ppd_emul_s'>ppd_emul_s</a> ppd_emul_t; |
ef416fc2 | 1269 | </pre> |
1270 | <!-- NEW PAGE --> | |
1271 | <h3 class='title'><a name='ppd_file_t'>ppd_file_t</a></h3> | |
1272 | <h4>Description</h4> | |
ecdc0628 | 1273 | <p>PPD File</p> |
ef416fc2 | 1274 | <h4>Definition</h4> |
1275 | <pre> | |
ecdc0628 | 1276 | typedef struct <a href='#ppd_file_s'>ppd_file_s</a> ppd_file_t; |
ef416fc2 | 1277 | </pre> |
1278 | <!-- NEW PAGE --> | |
1279 | <h3 class='title'><a name='ppd_group_t'>ppd_group_t</a></h3> | |
1280 | <h4>Description</h4> | |
1281 | <p>Groups</p> | |
1282 | <h4>Definition</h4> | |
1283 | <pre> | |
ecdc0628 | 1284 | typedef struct <a href='#ppd_group_s'>ppd_group_s</a> ppd_group_t; |
ef416fc2 | 1285 | </pre> |
1286 | <!-- NEW PAGE --> | |
1287 | <h3 class='title'><a name='ppd_option_t'>ppd_option_t</a></h3> | |
1288 | <h4>Description</h4> | |
1289 | <p>Options</p> | |
1290 | <h4>Definition</h4> | |
1291 | <pre> | |
ecdc0628 | 1292 | typedef struct <a href='#ppd_option_s'>ppd_option_s</a> ppd_option_t; |
ef416fc2 | 1293 | </pre> |
1294 | <!-- NEW PAGE --> | |
1295 | <h3 class='title'><a name='ppd_profile_t'>ppd_profile_t</a></h3> | |
1296 | <h4>Description</h4> | |
1297 | <p>sRGB Color Profiles</p> | |
1298 | <h4>Definition</h4> | |
1299 | <pre> | |
ecdc0628 | 1300 | typedef struct <a href='#ppd_profile_s'>ppd_profile_s</a> ppd_profile_t; |
ef416fc2 | 1301 | </pre> |
1302 | <!-- NEW PAGE --> | |
1303 | <h3 class='title'><a name='ppd_section_t'>ppd_section_t</a></h3> | |
1304 | <h4>Description</h4> | |
1305 | <p>Order dependency sections</p> | |
1306 | <h4>Definition</h4> | |
1307 | <pre> | |
1308 | typedef enum <a href='#ppd_section_e'>ppd_section_e</a> ppd_section_t; | |
1309 | </pre> | |
1310 | <!-- NEW PAGE --> | |
1311 | <h3 class='title'><a name='ppd_size_t'>ppd_size_t</a></h3> | |
1312 | <h4>Description</h4> | |
1313 | <p>Page Sizes</p> | |
1314 | <h4>Definition</h4> | |
1315 | <pre> | |
ecdc0628 | 1316 | typedef struct <a href='#ppd_size_s'>ppd_size_s</a> ppd_size_t; |
ef416fc2 | 1317 | </pre> |
1318 | <!-- NEW PAGE --> | |
1319 | <h3 class='title'><a name='ppd_ui_t'>ppd_ui_t</a></h3> | |
1320 | <h4>Description</h4> | |
1321 | <p>UI Types</p> | |
1322 | <h4>Definition</h4> | |
1323 | <pre> | |
1324 | typedef enum <a href='#ppd_ui_e'>ppd_ui_e</a> ppd_ui_t; | |
1325 | </pre> | |
1326 | <!-- NEW PAGE --> | |
1327 | <h2 class='title'><a name='UNIONS'>Unions</a></h2> | |
1328 | <ul> | |
ecdc0628 | 1329 | <li><a href='#ppd_cpvalue_u'><tt>ppd_cpvalue_u</tt></a> <span class='info'> CUPS 1.2 </span></li> |
ef416fc2 | 1330 | </ul> |
1331 | <!-- NEW PAGE --> | |
ecdc0628 | 1332 | <h3 class='title'><span class='info'> CUPS 1.2 </span><a name='ppd_cpvalue_u'>ppd_cpvalue_u</a></h3> |
ef416fc2 | 1333 | <h4>Description</h4> |
ecdc0628 | 1334 | <p>Custom Parameter Value </p> |
ef416fc2 | 1335 | <h4>Definition</h4> |
1336 | <pre> | |
ecdc0628 | 1337 | union ppd_cpvalue_u |
ef416fc2 | 1338 | { |
ecdc0628 | 1339 | float custom_curve; |
1340 | int custom_int; | |
1341 | float custom_invcurve; | |
1342 | char * custom_passcode; | |
1343 | char * custom_password; | |
1344 | float custom_points; | |
1345 | float custom_real; | |
1346 | char * custom_string; | |
ef416fc2 | 1347 | }; |
1348 | </pre> | |
1349 | <h4>Members</h4> | |
1350 | <div class='table'><table align='center' border='1' width='80%'> | |
1351 | <thead><tr><th>Name</th><th>Description</th></tr></thead> | |
1352 | <tbody> | |
ecdc0628 | 1353 | <tr><td><tt>custom_curve</tt> </td><td>Gamma value</td></tr> |
1354 | <tr><td><tt>custom_int</tt> </td><td>Integer value</td></tr> | |
1355 | <tr><td><tt>custom_invcurve</tt> </td><td>Gamma value</td></tr> | |
1356 | <tr><td><tt>custom_passcode</tt> </td><td>Passcode value</td></tr> | |
1357 | <tr><td><tt>custom_password</tt> </td><td>Password value</td></tr> | |
1358 | <tr><td><tt>custom_points</tt> </td><td>Measurement value</td></tr> | |
1359 | <tr><td><tt>custom_real</tt> </td><td>Real value</td></tr> | |
1360 | <tr><td><tt>custom_string</tt> </td><td>String value</td></tr> | |
ef416fc2 | 1361 | </tbody></table></div> |
1362 | </body> | |
1363 | </html> |