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