]> git.ipfire.org Git - thirdparty/cups.git/blame - doc/help/api-raster.html
Merge changes from CUPS 1.4svn-r7255.
[thirdparty/cups.git] / doc / help / api-raster.html
CommitLineData
b423cd4c 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>Raster 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<!--
f7faf1f5 19 "$Id$"
b423cd4c 20
21 Raster API introduction for the Common UNIX Printing System (CUPS).
22
23 Copyright 1997-2006 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 raster API provides a standard interface for reading
45and writing CUPS raster streams which are used for printing to
46raster printers. Because the raster format is updated from time
47to time, it is important to use this API to avoid
48incompatibilities with newer versions of CUPS.</p>
49
50<h2 class='title'>General Usage</h2>
51
52<p>The <var>&lt;cups/raster.h&gt;</var> header file must be
53included to use the <tt>cupsRaster</tt> functions.</p>
54
55<p>Programs using these functions must be linked to the CUPS
56imaging library: <var>libcupsimage.a</var>,
57<var>libcupsimage.so.2</var>, <var>libcupsimage.2.dylib</var>,
58<var>libcupsimage_s.a</var>, or <var>libcupsimage2.lib</var>
59depending on the platform. The following command compiles
60<var>myprogram.c</var> using GCC and the CUPS imaging
61library:</p>
62
63<pre class='command'>
64<kbd>gcc -o myprogram myprogram.c -lcupsimage</kbd>
65</pre>
66
67<h2 class='title'>Compatibility</h2>
68
69<p>Unless otherwise specified, the raster API functions require
70CUPS 1.1 or higher.</p>
71
72<h2 class='title'>Licensing</h2>
73
74<p>The CUPS raster API is provided under the terms of the GNU
26d47ec6 75Library General Public License, with exceptions for MacOS X-based
b423cd4c 76programs. Please see the CUPS license agreement for more
77information.</p>
78<h2 class='title'>Contents</h2>
79<ul>
80 <li><a href='#ENUMERATIONS'>Enumerations</a></li>
81 <li><a href='#FUNCTIONS'>Functions</a></li>
82 <li><a href='#STRUCTURES'>Structures</a></li>
83 <li><a href='#TYPES'>Types</a></li>
84</ul>
85<!-- NEW PAGE -->
86<h2 class='title'><a name='ENUMERATIONS'>Enumerations</a></h2>
87<ul>
26d47ec6 88 <li><a href='#cups_adv_e'><tt>cups_adv_e</tt></a> </li>
b423cd4c 89 <li><a href='#cups_bool_e'><tt>cups_bool_e</tt></a> </li>
f7deaa1a 90 <li><a href='#cups_cspace_e'><tt>cups_cspace_e</tt></a> </li>
91 <li><a href='#cups_cut_e'><tt>cups_cut_e</tt></a> </li>
92 <li><a href='#cups_edge_e'><tt>cups_edge_e</tt></a> </li>
93 <li><a href='#cups_jog_e'><tt>cups_jog_e</tt></a> </li>
94 <li><a href='#cups_mode_e'><tt>cups_mode_e</tt></a> </li>
95 <li><a href='#cups_order_e'><tt>cups_order_e</tt></a> </li>
96 <li><a href='#cups_orient_e'><tt>cups_orient_e</tt></a> </li>
b423cd4c 97</ul>
98<!-- NEW PAGE -->
26d47ec6 99<h3 class='title'><a name='cups_adv_e'>cups_adv_e</a></h3>
100<h4>Description</h4>
bc44d920 101<p>AdvanceMedia attribute values
26d47ec6 102<h4>Values</h4>
bc44d920 103<div class='table'><table align='center' border='1' width='80%' summary='Values'>
26d47ec6 104<thead><tr><th>Name</th><th>Description</th></tr></thead>
105<tbody>
bc44d920 106<tr><td><tt>CUPS_ADVANCE_FILE</tt> </td><td>Advance the roll after this file
107</td></tr>
108<tr><td><tt>CUPS_ADVANCE_JOB</tt> </td><td>Advance the roll after this job
109</td></tr>
110<tr><td><tt>CUPS_ADVANCE_NONE</tt> </td><td>Never advance the roll
111</td></tr>
112<tr><td><tt>CUPS_ADVANCE_PAGE</tt> </td><td>Advance the roll after this page
113</td></tr>
114<tr><td><tt>CUPS_ADVANCE_SET</tt> </td><td>Advance the roll after this set
115</td></tr>
26d47ec6 116</tbody></table></div>
117<!-- NEW PAGE -->
b423cd4c 118<h3 class='title'><a name='cups_bool_e'>cups_bool_e</a></h3>
119<h4>Description</h4>
bc44d920 120<p>Types...
b423cd4c 121<h4>Values</h4>
bc44d920 122<div class='table'><table align='center' border='1' width='80%' summary='Values'>
b423cd4c 123<thead><tr><th>Name</th><th>Description</th></tr></thead>
124<tbody>
bc44d920 125<tr><td><tt>CUPS_FALSE</tt> </td><td>Logical false
126</td></tr>
127<tr><td><tt>CUPS_TRUE</tt> </td><td>Logical true
128</td></tr>
b423cd4c 129</tbody></table></div>
130<!-- NEW PAGE -->
f7deaa1a 131<h3 class='title'><a name='cups_cspace_e'>cups_cspace_e</a></h3>
132<h4>Description</h4>
bc44d920 133<p>
f7deaa1a 134<h4>Values</h4>
bc44d920 135<div class='table'><table align='center' border='1' width='80%' summary='Values'>
f7deaa1a 136<thead><tr><th>Name</th><th>Description</th></tr></thead>
137<tbody>
bc44d920 138<tr><td><tt>CUPS_CSPACE_CIELab</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>CIE Lab
139</td></tr>
140<tr><td><tt>CUPS_CSPACE_CIEXYZ</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>CIE XYZ
141</td></tr>
142<tr><td><tt>CUPS_CSPACE_CMY</tt> </td><td>Cyan, magenta, yellow
143</td></tr>
144<tr><td><tt>CUPS_CSPACE_CMYK</tt> </td><td>Cyan, magenta, yellow, black
145</td></tr>
146<tr><td><tt>CUPS_CSPACE_GMCK</tt> </td><td>Gold, magenta, yellow, black
147</td></tr>
148<tr><td><tt>CUPS_CSPACE_GMCS</tt> </td><td>Gold, magenta, yellow, silver
149</td></tr>
150<tr><td><tt>CUPS_CSPACE_GOLD</tt> </td><td>Gold foil
151</td></tr>
152<tr><td><tt>CUPS_CSPACE_ICC1</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>ICC-based, 1 color
153</td></tr>
154<tr><td><tt>CUPS_CSPACE_ICC2</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>ICC-based, 2 colors
155</td></tr>
156<tr><td><tt>CUPS_CSPACE_ICC3</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>ICC-based, 3 colors
157</td></tr>
158<tr><td><tt>CUPS_CSPACE_ICC4</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>ICC-based, 4 colors
159</td></tr>
160<tr><td><tt>CUPS_CSPACE_ICC5</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>ICC-based, 5 colors
161</td></tr>
162<tr><td><tt>CUPS_CSPACE_ICC6</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>ICC-based, 6 colors
163</td></tr>
164<tr><td><tt>CUPS_CSPACE_ICC7</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>ICC-based, 7 colors
165</td></tr>
166<tr><td><tt>CUPS_CSPACE_ICC8</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>ICC-based, 8 colors
167</td></tr>
168<tr><td><tt>CUPS_CSPACE_ICC9</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>ICC-based, 9 colors
169</td></tr>
170<tr><td><tt>CUPS_CSPACE_ICCA</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>ICC-based, 10 colors
171</td></tr>
172<tr><td><tt>CUPS_CSPACE_ICCB</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>ICC-based, 11 colors
173</td></tr>
174<tr><td><tt>CUPS_CSPACE_ICCC</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>ICC-based, 12 colors
175</td></tr>
176<tr><td><tt>CUPS_CSPACE_ICCD</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>ICC-based, 13 colors
177</td></tr>
178<tr><td><tt>CUPS_CSPACE_ICCE</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>ICC-based, 14 colors
179</td></tr>
180<tr><td><tt>CUPS_CSPACE_ICCF</tt> <span class='info'>&nbsp;CUPS 1.1.19&nbsp;</span></td><td>ICC-based, 15 colors
181</td></tr>
182<tr><td><tt>CUPS_CSPACE_K</tt> </td><td>Black
183</td></tr>
184<tr><td><tt>CUPS_CSPACE_KCMY</tt> </td><td>Black, cyan, magenta, yellow
185</td></tr>
f7deaa1a 186<tr><td><tt>CUPS_CSPACE_KCMYcm</tt> </td><td>Black, cyan, magenta, yellow, *
bc44d920 187light-cyan, light-magenta
188</td></tr>
189<tr><td><tt>CUPS_CSPACE_RGB</tt> </td><td>Red, green, blue
190</td></tr>
191<tr><td><tt>CUPS_CSPACE_RGBA</tt> </td><td>Red, green, blue, alpha
192</td></tr>
193<tr><td><tt>CUPS_CSPACE_RGBW</tt> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></td><td>Red, green, blue, white
194</td></tr>
195<tr><td><tt>CUPS_CSPACE_SILVER</tt> </td><td>Silver foil
196</td></tr>
197<tr><td><tt>CUPS_CSPACE_W</tt> </td><td>Luminance
198</td></tr>
199<tr><td><tt>CUPS_CSPACE_WHITE</tt> </td><td>White ink (as black)
200</td></tr>
201<tr><td><tt>CUPS_CSPACE_YMC</tt> </td><td>Yellow, magenta, cyan
202</td></tr>
203<tr><td><tt>CUPS_CSPACE_YMCK</tt> </td><td>Yellow, magenta, cyan, black
204</td></tr>
f7deaa1a 205</tbody></table></div>
206<!-- NEW PAGE -->
207<h3 class='title'><a name='cups_cut_e'>cups_cut_e</a></h3>
208<h4>Description</h4>
bc44d920 209<p>
f7deaa1a 210<h4>Values</h4>
bc44d920 211<div class='table'><table align='center' border='1' width='80%' summary='Values'>
f7deaa1a 212<thead><tr><th>Name</th><th>Description</th></tr></thead>
213<tbody>
bc44d920 214<tr><td><tt>CUPS_CUT_FILE</tt> </td><td>Cut the roll after this file
215</td></tr>
216<tr><td><tt>CUPS_CUT_JOB</tt> </td><td>Cut the roll after this job
217</td></tr>
218<tr><td><tt>CUPS_CUT_NONE</tt> </td><td>Never cut the roll
219</td></tr>
220<tr><td><tt>CUPS_CUT_PAGE</tt> </td><td>Cut the roll after this page
221</td></tr>
222<tr><td><tt>CUPS_CUT_SET</tt> </td><td>Cut the roll after this set
223</td></tr>
f7deaa1a 224</tbody></table></div>
225<!-- NEW PAGE -->
226<h3 class='title'><a name='cups_edge_e'>cups_edge_e</a></h3>
227<h4>Description</h4>
bc44d920 228<p>
f7deaa1a 229<h4>Values</h4>
bc44d920 230<div class='table'><table align='center' border='1' width='80%' summary='Values'>
f7deaa1a 231<thead><tr><th>Name</th><th>Description</th></tr></thead>
232<tbody>
bc44d920 233<tr><td><tt>CUPS_EDGE_BOTTOM</tt> </td><td>Leading edge is the bottom of the page
234</td></tr>
235<tr><td><tt>CUPS_EDGE_LEFT</tt> </td><td>Leading edge is the left of the page
236</td></tr>
237<tr><td><tt>CUPS_EDGE_RIGHT</tt> </td><td>Leading edge is the right of the page
238</td></tr>
239<tr><td><tt>CUPS_EDGE_TOP</tt> </td><td>Leading edge is the top of the page
240</td></tr>
f7deaa1a 241</tbody></table></div>
242<!-- NEW PAGE -->
243<h3 class='title'><a name='cups_jog_e'>cups_jog_e</a></h3>
244<h4>Description</h4>
bc44d920 245<p>
f7deaa1a 246<h4>Values</h4>
bc44d920 247<div class='table'><table align='center' border='1' width='80%' summary='Values'>
f7deaa1a 248<thead><tr><th>Name</th><th>Description</th></tr></thead>
249<tbody>
bc44d920 250<tr><td><tt>CUPS_JOG_FILE</tt> </td><td>Move pages after this file
251</td></tr>
252<tr><td><tt>CUPS_JOG_JOB</tt> </td><td>Move pages after this job
253</td></tr>
254<tr><td><tt>CUPS_JOG_NONE</tt> </td><td>Never move pages
255</td></tr>
256<tr><td><tt>CUPS_JOG_SET</tt> </td><td>Move pages after this set
257</td></tr>
f7deaa1a 258</tbody></table></div>
259<!-- NEW PAGE -->
260<h3 class='title'><a name='cups_mode_e'>cups_mode_e</a></h3>
261<h4>Description</h4>
bc44d920 262<p>
f7deaa1a 263<h4>Values</h4>
bc44d920 264<div class='table'><table align='center' border='1' width='80%' summary='Values'>
f7deaa1a 265<thead><tr><th>Name</th><th>Description</th></tr></thead>
266<tbody>
bc44d920 267<tr><td><tt>CUPS_RASTER_READ</tt> </td><td>Open stream for reading
268</td></tr>
269<tr><td><tt>CUPS_RASTER_WRITE</tt> </td><td>Open stream for writing
270</td></tr>
271<tr><td><tt>CUPS_RASTER_WRITE_COMPRESSED</tt> <span class='info'>&nbsp;CUPS 1.3&nbsp;</span></td><td>Open stream for compressed writing
272</td></tr>
f7deaa1a 273</tbody></table></div>
274<!-- NEW PAGE -->
275<h3 class='title'><a name='cups_order_e'>cups_order_e</a></h3>
276<h4>Description</h4>
bc44d920 277<p>
f7deaa1a 278<h4>Values</h4>
bc44d920 279<div class='table'><table align='center' border='1' width='80%' summary='Values'>
f7deaa1a 280<thead><tr><th>Name</th><th>Description</th></tr></thead>
281<tbody>
bc44d920 282<tr><td><tt>CUPS_ORDER_BANDED</tt> </td><td>CCC MMM YYY KKK ...
283</td></tr>
284<tr><td><tt>CUPS_ORDER_CHUNKED</tt> </td><td>CMYK CMYK CMYK ...
285</td></tr>
286<tr><td><tt>CUPS_ORDER_PLANAR</tt> </td><td>CCC ... MMM ... YYY ... KKK ...
287</td></tr>
f7deaa1a 288</tbody></table></div>
289<!-- NEW PAGE -->
290<h3 class='title'><a name='cups_orient_e'>cups_orient_e</a></h3>
291<h4>Description</h4>
bc44d920 292<p>
f7deaa1a 293<h4>Values</h4>
bc44d920 294<div class='table'><table align='center' border='1' width='80%' summary='Values'>
f7deaa1a 295<thead><tr><th>Name</th><th>Description</th></tr></thead>
296<tbody>
bc44d920 297<tr><td><tt>CUPS_ORIENT_0</tt> </td><td>Don't rotate the page
298</td></tr>
299<tr><td><tt>CUPS_ORIENT_180</tt> </td><td>Turn the page upside down
300</td></tr>
301<tr><td><tt>CUPS_ORIENT_270</tt> </td><td>Rotate the page clockwise
302</td></tr>
303<tr><td><tt>CUPS_ORIENT_90</tt> </td><td>Rotate the page counter-clockwise
304</td></tr>
f7deaa1a 305</tbody></table></div>
306<!-- NEW PAGE -->
b423cd4c 307<h2 class='title'><a name='FUNCTIONS'>Functions</a></h2>
308<ul>
309 <li><a href='#cupsRasterClose'><tt>cupsRasterClose()</tt></a> </li>
310 <li><a href='#cupsRasterInterpretPPD'><tt>cupsRasterInterpretPPD()</tt></a> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></li>
311 <li><a href='#cupsRasterOpen'><tt>cupsRasterOpen()</tt></a> </li>
312 <li><a href='#cupsRasterReadHeader'><tt>cupsRasterReadHeader()</tt></a> </li>
313 <li><a href='#cupsRasterReadHeader2'><tt>cupsRasterReadHeader2()</tt></a> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></li>
314 <li><a href='#cupsRasterReadPixels'><tt>cupsRasterReadPixels()</tt></a> </li>
315 <li><a href='#cupsRasterWriteHeader'><tt>cupsRasterWriteHeader()</tt></a> </li>
316 <li><a href='#cupsRasterWriteHeader2'><tt>cupsRasterWriteHeader2()</tt></a> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></li>
317 <li><a href='#cupsRasterWritePixels'><tt>cupsRasterWritePixels()</tt></a> </li>
318</ul>
319<!-- NEW PAGE -->
320<h3 class='title'><a name='cupsRasterClose'>cupsRasterClose()</a></h3>
321<h4>Description</h4>
bc44d920 322<p>Close a raster stream.
b423cd4c 323<h4>Syntax</h4>
bc44d920 324<p><tt>
325void<br>
b423cd4c 326cupsRasterClose(
327 <a href='#cups_raster_t'>cups_raster_t</a> * r);
bc44d920 328</tt></p>
b423cd4c 329<h4>Arguments</h4>
bc44d920 330<div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'>
b423cd4c 331<thead><tr><th>Name</th><th>Description</th></tr></thead>
332<tbody>
333<tr><td><tt>r</tt></td><td>Stream to close</td></tr>
334</tbody></table></div>
335<h4>Returns</h4>
336<p>Nothing.</p>
337<!-- NEW PAGE -->
338<h3 class='title'><span class='info'>&nbsp;CUPS 1.2&nbsp;</span><a name='cupsRasterInterpretPPD'>cupsRasterInterpretPPD()</a></h3>
339<h4>Description</h4>
340<p>Interpret PPD commands to create a page header.
bc44d920 341<p>This function does not mark the options in the PPD using the &quot;num_options&quot;
b423cd4c 342and &quot;options&quot; arguments. Instead, mark the options prior to calling
343cupsRasterInterpretPPD() - this allows you to do per-page options
344without manipulating the options array.
bc44d920 345<p>The &quot;func&quot; argument specifies an optional callback function that is
26d47ec6 346called prior to the computation of the final raster data. The function
347can make changes to the cups_page_header2_t data as needed to use a
348supported raster format and then returns 0 on success and -1 if the
349requested attributes cannot be supported.
bc44d920 350<p>cupsRasterInterpretPPD() supports a subset of the PostScript language.
351Currently only the [, ], &lt;&lt;, &gt;&gt;, {, }, cleartomark, copy, dup, index,
352pop, roll, setpagedevice, and stopped operators are supported.
353
26d47ec6 354
b423cd4c 355<h4>Syntax</h4>
bc44d920 356<p><tt>
357int<br>
b423cd4c 358cupsRasterInterpretPPD(
359 <a href='#cups_page_header2_t'>cups_page_header2_t</a> * h,
360 ppd_file_t * ppd,
361 int num_options,
26d47ec6 362 cups_option_t * options,
363 <a href='#cups_interpret_cb_t'>cups_interpret_cb_t</a> func);
bc44d920 364</tt></p>
b423cd4c 365<h4>Arguments</h4>
bc44d920 366<div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'>
b423cd4c 367<thead><tr><th>Name</th><th>Description</th></tr></thead>
368<tbody>
369<tr><td><tt>h</tt></td><td>Page header</td></tr>
370<tr><td><tt>ppd</tt></td><td>PPD file</td></tr>
371<tr><td><tt>num_options</tt></td><td>Number of options</td></tr>
372<tr><td><tt>options</tt></td><td>Options</td></tr>
26d47ec6 373<tr><td><tt>func</tt></td><td>Optional page header callback</td></tr>
b423cd4c 374</tbody></table></div>
375<h4>Returns</h4>
376<p>0 on success, -1 on failure</p>
377<!-- NEW PAGE -->
378<h3 class='title'><a name='cupsRasterOpen'>cupsRasterOpen()</a></h3>
379<h4>Description</h4>
bc44d920 380<p>Open a raster stream.
b423cd4c 381<h4>Syntax</h4>
bc44d920 382<p><tt>
383<a href='#cups_raster_t'>cups_raster_t</a> *<br>
b423cd4c 384cupsRasterOpen(
385 int fd,
386 cups_mode_t mode);
bc44d920 387</tt></p>
b423cd4c 388<h4>Arguments</h4>
bc44d920 389<div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'>
b423cd4c 390<thead><tr><th>Name</th><th>Description</th></tr></thead>
391<tbody>
392<tr><td><tt>fd</tt></td><td>File descriptor</td></tr>
393<tr><td><tt>mode</tt></td><td>Mode</td></tr>
394</tbody></table></div>
395<h4>Returns</h4>
396<p>New stream</p>
397<!-- NEW PAGE -->
398<h3 class='title'><a name='cupsRasterReadHeader'>cupsRasterReadHeader()</a></h3>
399<h4>Description</h4>
400<p>Read a raster page header and store it in a
bc44d920 401V1 page header structure.
b423cd4c 402<h4>Syntax</h4>
bc44d920 403<p><tt>
404unsigned<br>
b423cd4c 405cupsRasterReadHeader(
406 <a href='#cups_raster_t'>cups_raster_t</a> * r,
407 <a href='#cups_page_header_t'>cups_page_header_t</a> * h);
bc44d920 408</tt></p>
b423cd4c 409<h4>Arguments</h4>
bc44d920 410<div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'>
b423cd4c 411<thead><tr><th>Name</th><th>Description</th></tr></thead>
412<tbody>
413<tr><td><tt>r</tt></td><td>Raster stream</td></tr>
414<tr><td><tt>h</tt></td><td>Pointer to header data</td></tr>
415</tbody></table></div>
416<h4>Returns</h4>
417<p>1 on success, 0 on fail</p>
418<!-- NEW PAGE -->
419<h3 class='title'><span class='info'>&nbsp;CUPS 1.2&nbsp;</span><a name='cupsRasterReadHeader2'>cupsRasterReadHeader2()</a></h3>
420<h4>Description</h4>
421<p>Read a raster page header and store it in a
422V2 page header structure.
423
bc44d920 424
b423cd4c 425<h4>Syntax</h4>
bc44d920 426<p><tt>
427unsigned<br>
b423cd4c 428cupsRasterReadHeader2(
429 <a href='#cups_raster_t'>cups_raster_t</a> * r,
430 <a href='#cups_page_header2_t'>cups_page_header2_t</a> * h);
bc44d920 431</tt></p>
b423cd4c 432<h4>Arguments</h4>
bc44d920 433<div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'>
b423cd4c 434<thead><tr><th>Name</th><th>Description</th></tr></thead>
435<tbody>
436<tr><td><tt>r</tt></td><td>Raster stream</td></tr>
437<tr><td><tt>h</tt></td><td>Pointer to header data</td></tr>
438</tbody></table></div>
439<h4>Returns</h4>
440<p>1 on success, 0 on fail</p>
441<!-- NEW PAGE -->
442<h3 class='title'><a name='cupsRasterReadPixels'>cupsRasterReadPixels()</a></h3>
443<h4>Description</h4>
bc44d920 444<p>Read raster pixels.
b423cd4c 445<h4>Syntax</h4>
bc44d920 446<p><tt>
447unsigned<br>
b423cd4c 448cupsRasterReadPixels(
449 <a href='#cups_raster_t'>cups_raster_t</a> * r,
450 unsigned char * p,
451 unsigned len);
bc44d920 452</tt></p>
b423cd4c 453<h4>Arguments</h4>
bc44d920 454<div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'>
b423cd4c 455<thead><tr><th>Name</th><th>Description</th></tr></thead>
456<tbody>
457<tr><td><tt>r</tt></td><td>Raster stream</td></tr>
458<tr><td><tt>p</tt></td><td>Pointer to pixel buffer</td></tr>
459<tr><td><tt>len</tt></td><td>Number of bytes to read</td></tr>
460</tbody></table></div>
461<h4>Returns</h4>
462<p>Number of bytes read</p>
463<!-- NEW PAGE -->
464<h3 class='title'><a name='cupsRasterWriteHeader'>cupsRasterWriteHeader()</a></h3>
465<h4>Description</h4>
466<p>Write a raster page header from a V1 page
bc44d920 467header structure.
b423cd4c 468<h4>Syntax</h4>
bc44d920 469<p><tt>
470unsigned<br>
b423cd4c 471cupsRasterWriteHeader(
472 <a href='#cups_raster_t'>cups_raster_t</a> * r,
473 <a href='#cups_page_header_t'>cups_page_header_t</a> * h);
bc44d920 474</tt></p>
b423cd4c 475<h4>Arguments</h4>
bc44d920 476<div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'>
b423cd4c 477<thead><tr><th>Name</th><th>Description</th></tr></thead>
478<tbody>
479<tr><td><tt>r</tt></td><td>Raster stream</td></tr>
480<tr><td><tt>h</tt></td><td>Raster page header</td></tr>
481</tbody></table></div>
482<h4>Returns</h4>
483<p>1 on success, 0 on failure</p>
484<!-- NEW PAGE -->
485<h3 class='title'><span class='info'>&nbsp;CUPS 1.2&nbsp;</span><a name='cupsRasterWriteHeader2'>cupsRasterWriteHeader2()</a></h3>
486<h4>Description</h4>
487<p>Write a raster page header from a V2 page
488header structure.
489
bc44d920 490
b423cd4c 491<h4>Syntax</h4>
bc44d920 492<p><tt>
493unsigned<br>
b423cd4c 494cupsRasterWriteHeader2(
495 <a href='#cups_raster_t'>cups_raster_t</a> * r,
496 <a href='#cups_page_header2_t'>cups_page_header2_t</a> * h);
bc44d920 497</tt></p>
b423cd4c 498<h4>Arguments</h4>
bc44d920 499<div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'>
b423cd4c 500<thead><tr><th>Name</th><th>Description</th></tr></thead>
501<tbody>
502<tr><td><tt>r</tt></td><td>Raster stream</td></tr>
503<tr><td><tt>h</tt></td><td>Raster page header</td></tr>
504</tbody></table></div>
505<h4>Returns</h4>
506<p>1 on success, 0 on failure</p>
507<!-- NEW PAGE -->
508<h3 class='title'><a name='cupsRasterWritePixels'>cupsRasterWritePixels()</a></h3>
509<h4>Description</h4>
bc44d920 510<p>Write raster pixels.
b423cd4c 511<h4>Syntax</h4>
bc44d920 512<p><tt>
513unsigned<br>
b423cd4c 514cupsRasterWritePixels(
515 <a href='#cups_raster_t'>cups_raster_t</a> * r,
516 unsigned char * p,
517 unsigned len);
bc44d920 518</tt></p>
b423cd4c 519<h4>Arguments</h4>
bc44d920 520<div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'>
b423cd4c 521<thead><tr><th>Name</th><th>Description</th></tr></thead>
522<tbody>
523<tr><td><tt>r</tt></td><td>Raster stream</td></tr>
524<tr><td><tt>p</tt></td><td>Bytes to write</td></tr>
525<tr><td><tt>len</tt></td><td>Number of bytes to write</td></tr>
526</tbody></table></div>
527<h4>Returns</h4>
528<p>Number of bytes written</p>
529<!-- NEW PAGE -->
530<h2 class='title'><a name='STRUCTURES'>Structures</a></h2>
531<ul>
532 <li><a href='#cups_page_header2_s'><tt>cups_page_header2_s</tt></a> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></li>
533 <li><a href='#cups_page_header_s'><tt>cups_page_header_s</tt></a> </li>
534</ul>
535<!-- NEW PAGE -->
536<h3 class='title'><span class='info'>&nbsp;CUPS 1.2&nbsp;</span><a name='cups_page_header2_s'>cups_page_header2_s</a></h3>
537<h4>Description</h4>
bc44d920 538<p>Version 2 Page Header
b423cd4c 539<h4>Definition</h4>
bc44d920 540<p><tt>
541struct cups_page_header2_s<br>
542{<br>
543&nbsp;&nbsp;unsigned AdvanceDistance;<br>
544&nbsp;&nbsp;cups_adv_t AdvanceMedia;<br>
545&nbsp;&nbsp;cups_bool_t Collate;<br>
546&nbsp;&nbsp;cups_cut_t CutMedia;<br>
547&nbsp;&nbsp;cups_bool_t Duplex;<br>
548&nbsp;&nbsp;unsigned HWResolution[2];<br>
549&nbsp;&nbsp;unsigned ImagingBoundingBox[4];<br>
550&nbsp;&nbsp;cups_bool_t InsertSheet;<br>
551&nbsp;&nbsp;cups_jog_t Jog;<br>
552&nbsp;&nbsp;cups_edge_t LeadingEdge;<br>
553&nbsp;&nbsp;cups_bool_t ManualFeed;<br>
554&nbsp;&nbsp;unsigned Margins[2];<br>
555&nbsp;&nbsp;char MediaClass[64];<br>
556&nbsp;&nbsp;char MediaColor[64];<br>
557&nbsp;&nbsp;unsigned MediaPosition;<br>
558&nbsp;&nbsp;char MediaType[64];<br>
559&nbsp;&nbsp;unsigned MediaWeight;<br>
560&nbsp;&nbsp;cups_bool_t MirrorPrint;<br>
561&nbsp;&nbsp;cups_bool_t NegativePrint;<br>
562&nbsp;&nbsp;unsigned NumCopies;<br>
563&nbsp;&nbsp;cups_orient_t Orientation;<br>
564&nbsp;&nbsp;cups_bool_t OutputFaceUp;<br>
565&nbsp;&nbsp;char OutputType[64];<br>
566&nbsp;&nbsp;unsigned PageSize[2];<br>
567&nbsp;&nbsp;cups_bool_t Separations;<br>
568&nbsp;&nbsp;cups_bool_t TraySwitch;<br>
569&nbsp;&nbsp;cups_bool_t Tumble;<br>
570&nbsp;&nbsp;unsigned cupsBitsPerColor;<br>
571&nbsp;&nbsp;unsigned cupsBitsPerPixel;<br>
572&nbsp;&nbsp;float cupsBorderlessScalingFactor;<br>
573&nbsp;&nbsp;unsigned cupsBytesPerLine;<br>
574&nbsp;&nbsp;cups_order_t cupsColorOrder;<br>
575&nbsp;&nbsp;cups_cspace_t cupsColorSpace;<br>
576&nbsp;&nbsp;unsigned cupsCompression;<br>
577&nbsp;&nbsp;unsigned cupsHeight;<br>
578&nbsp;&nbsp;float cupsImagingBBox[4];<br>
579&nbsp;&nbsp;unsigned cupsInteger[16];<br>
580&nbsp;&nbsp;char cupsMarkerType[64];<br>
581&nbsp;&nbsp;unsigned cupsMediaType;<br>
582&nbsp;&nbsp;unsigned cupsNumColors;<br>
583&nbsp;&nbsp;char cupsPageSizeName[64];<br>
584&nbsp;&nbsp;float cupsPageSize[2];<br>
585&nbsp;&nbsp;float cupsReal[16];<br>
586&nbsp;&nbsp;char cupsRenderingIntent[64];<br>
587&nbsp;&nbsp;unsigned cupsRowCount;<br>
588&nbsp;&nbsp;unsigned cupsRowFeed;<br>
589&nbsp;&nbsp;unsigned cupsRowStep;<br>
590&nbsp;&nbsp;char cupsString[16][64];<br>
591&nbsp;&nbsp;unsigned cupsWidth;<br>
592};</tt></p>
b423cd4c 593<h4>Members</h4>
bc44d920 594<div class='table'><table align='center' border='1' width='80%' summary='Members'>
b423cd4c 595<thead><tr><th>Name</th><th>Description</th></tr></thead>
596<tbody>
bc44d920 597<tr><td><tt>AdvanceDistance</tt> </td><td>AdvanceDistance value in points
598</td></tr>
599<tr><td><tt>AdvanceMedia</tt> </td><td>AdvanceMedia value (see above)
600</td></tr>
601<tr><td><tt>Collate</tt> </td><td>Collated copies value
602</td></tr>
603<tr><td><tt>CutMedia</tt> </td><td>CutMedia value (see above)
604</td></tr>
605<tr><td><tt>Duplex</tt> </td><td>Duplexed (double-sided) value
606</td></tr>
607<tr><td><tt>HWResolution[2]</tt> </td><td>Resolution in dots-per-inch
608</td></tr>
609<tr><td><tt>ImagingBoundingBox[4]</tt> </td><td>Pixel region that is painted (points)
610</td></tr>
611<tr><td><tt>InsertSheet</tt> </td><td>InsertSheet value
612</td></tr>
613<tr><td><tt>Jog</tt> </td><td>Jog value (see above)
614</td></tr>
615<tr><td><tt>LeadingEdge</tt> </td><td>LeadingEdge value (see above)
616</td></tr>
617<tr><td><tt>ManualFeed</tt> </td><td>ManualFeed value
618</td></tr>
619<tr><td><tt>Margins[2]</tt> </td><td>Lower-lefthand margins in points
620</td></tr>
621<tr><td><tt>MediaClass[64]</tt> </td><td>MediaClass string
622</td></tr>
623<tr><td><tt>MediaColor[64]</tt> </td><td>MediaColor string
624</td></tr>
625<tr><td><tt>MediaPosition</tt> </td><td>MediaPosition value
626</td></tr>
627<tr><td><tt>MediaType[64]</tt> </td><td>MediaType string
628</td></tr>
629<tr><td><tt>MediaWeight</tt> </td><td>MediaWeight value in grams/m^2
630</td></tr>
631<tr><td><tt>MirrorPrint</tt> </td><td>MirrorPrint value
632</td></tr>
633<tr><td><tt>NegativePrint</tt> </td><td>NegativePrint value
634</td></tr>
635<tr><td><tt>NumCopies</tt> </td><td>Number of copies to produce
636</td></tr>
637<tr><td><tt>Orientation</tt> </td><td>Orientation value (see above)
638</td></tr>
639<tr><td><tt>OutputFaceUp</tt> </td><td>OutputFaceUp value
640</td></tr>
641<tr><td><tt>OutputType[64]</tt> </td><td>OutputType string
642</td></tr>
643<tr><td><tt>PageSize[2]</tt> </td><td>Width and length of page in points
644</td></tr>
645<tr><td><tt>Separations</tt> </td><td>Separations value
646</td></tr>
647<tr><td><tt>TraySwitch</tt> </td><td>TraySwitch value
648</td></tr>
649<tr><td><tt>Tumble</tt> </td><td>Tumble value
650</td></tr>
651<tr><td><tt>cupsBitsPerColor</tt> </td><td>Number of bits for each color
652</td></tr>
653<tr><td><tt>cupsBitsPerPixel</tt> </td><td>Number of bits for each pixel
654</td></tr>
655<tr><td><tt>cupsBorderlessScalingFactor</tt> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></td><td>Scaling that was applied to page data
656</td></tr>
657<tr><td><tt>cupsBytesPerLine</tt> </td><td>Number of bytes per line
658</td></tr>
659<tr><td><tt>cupsColorOrder</tt> </td><td>Order of colors
660</td></tr>
661<tr><td><tt>cupsColorSpace</tt> </td><td>True colorspace
662</td></tr>
663<tr><td><tt>cupsCompression</tt> </td><td>Device compression to use
664</td></tr>
665<tr><td><tt>cupsHeight</tt> </td><td>Height of page image in pixels
666</td></tr>
b423cd4c 667<tr><td><tt>cupsImagingBBox[4]</tt> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></td><td>Floating point ImagingBoundingBox *
bc44d920 668(scaling factor not applied)
669</td></tr>
670<tr><td><tt>cupsInteger[16]</tt> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></td><td>User-defined integer values
671</td></tr>
672<tr><td><tt>cupsMarkerType[64]</tt> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></td><td>Ink/toner type
673</td></tr>
674<tr><td><tt>cupsMediaType</tt> </td><td>Media type code
675</td></tr>
676<tr><td><tt>cupsNumColors</tt> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></td><td>Number of colors
677</td></tr>
678<tr><td><tt>cupsPageSizeName[64]</tt> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></td><td>PageSize name
679</td></tr>
b423cd4c 680<tr><td><tt>cupsPageSize[2]</tt> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></td><td>Floating point PageSize (scaling *
bc44d920 681factor not applied)
682</td></tr>
683<tr><td><tt>cupsReal[16]</tt> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></td><td>User-defined floating-point values
684</td></tr>
685<tr><td><tt>cupsRenderingIntent[64]</tt> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></td><td>Color rendering intent
686</td></tr>
687<tr><td><tt>cupsRowCount</tt> </td><td>Rows per band
688</td></tr>
689<tr><td><tt>cupsRowFeed</tt> </td><td>Feed between bands
690</td></tr>
691<tr><td><tt>cupsRowStep</tt> </td><td>Spacing between lines
692</td></tr>
693<tr><td><tt>cupsString[16][64]</tt> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></td><td>User-defined string values
694</td></tr>
695<tr><td><tt>cupsWidth</tt> </td><td>Width of page image in pixels
696</td></tr>
b423cd4c 697</tbody></table></div>
698<!-- NEW PAGE -->
699<h3 class='title'><a name='cups_page_header_s'>cups_page_header_s</a></h3>
700<h4>Description</h4>
bc44d920 701<p>Version 1 Page Header
b423cd4c 702<h4>Definition</h4>
bc44d920 703<p><tt>
704struct cups_page_header_s<br>
705{<br>
706&nbsp;&nbsp;unsigned AdvanceDistance;<br>
707&nbsp;&nbsp;cups_adv_t AdvanceMedia;<br>
708&nbsp;&nbsp;cups_bool_t Collate;<br>
709&nbsp;&nbsp;cups_cut_t CutMedia;<br>
710&nbsp;&nbsp;cups_bool_t Duplex;<br>
711&nbsp;&nbsp;unsigned HWResolution[2];<br>
712&nbsp;&nbsp;unsigned ImagingBoundingBox[4];<br>
713&nbsp;&nbsp;cups_bool_t InsertSheet;<br>
714&nbsp;&nbsp;cups_jog_t Jog;<br>
715&nbsp;&nbsp;cups_edge_t LeadingEdge;<br>
716&nbsp;&nbsp;cups_bool_t ManualFeed;<br>
717&nbsp;&nbsp;unsigned Margins[2];<br>
718&nbsp;&nbsp;char MediaClass[64];<br>
719&nbsp;&nbsp;char MediaColor[64];<br>
720&nbsp;&nbsp;unsigned MediaPosition;<br>
721&nbsp;&nbsp;char MediaType[64];<br>
722&nbsp;&nbsp;unsigned MediaWeight;<br>
723&nbsp;&nbsp;cups_bool_t MirrorPrint;<br>
724&nbsp;&nbsp;cups_bool_t NegativePrint;<br>
725&nbsp;&nbsp;unsigned NumCopies;<br>
726&nbsp;&nbsp;cups_orient_t Orientation;<br>
727&nbsp;&nbsp;cups_bool_t OutputFaceUp;<br>
728&nbsp;&nbsp;char OutputType[64];<br>
729&nbsp;&nbsp;unsigned PageSize[2];<br>
730&nbsp;&nbsp;cups_bool_t Separations;<br>
731&nbsp;&nbsp;cups_bool_t TraySwitch;<br>
732&nbsp;&nbsp;cups_bool_t Tumble;<br>
733&nbsp;&nbsp;unsigned cupsBitsPerColor;<br>
734&nbsp;&nbsp;unsigned cupsBitsPerPixel;<br>
735&nbsp;&nbsp;unsigned cupsBytesPerLine;<br>
736&nbsp;&nbsp;cups_order_t cupsColorOrder;<br>
737&nbsp;&nbsp;cups_cspace_t cupsColorSpace;<br>
738&nbsp;&nbsp;unsigned cupsCompression;<br>
739&nbsp;&nbsp;unsigned cupsHeight;<br>
740&nbsp;&nbsp;unsigned cupsMediaType;<br>
741&nbsp;&nbsp;unsigned cupsRowCount;<br>
742&nbsp;&nbsp;unsigned cupsRowFeed;<br>
743&nbsp;&nbsp;unsigned cupsRowStep;<br>
744&nbsp;&nbsp;unsigned cupsWidth;<br>
745};</tt></p>
b423cd4c 746<h4>Members</h4>
bc44d920 747<div class='table'><table align='center' border='1' width='80%' summary='Members'>
b423cd4c 748<thead><tr><th>Name</th><th>Description</th></tr></thead>
749<tbody>
bc44d920 750<tr><td><tt>AdvanceDistance</tt> </td><td>AdvanceDistance value in points
751</td></tr>
752<tr><td><tt>AdvanceMedia</tt> </td><td>AdvanceMedia value (see above)
753</td></tr>
754<tr><td><tt>Collate</tt> </td><td>Collated copies value
755</td></tr>
756<tr><td><tt>CutMedia</tt> </td><td>CutMedia value (see above)
757</td></tr>
758<tr><td><tt>Duplex</tt> </td><td>Duplexed (double-sided) value
759</td></tr>
760<tr><td><tt>HWResolution[2]</tt> </td><td>Resolution in dots-per-inch
761</td></tr>
762<tr><td><tt>ImagingBoundingBox[4]</tt> </td><td>Pixel region that is painted (points)
763</td></tr>
764<tr><td><tt>InsertSheet</tt> </td><td>InsertSheet value
765</td></tr>
766<tr><td><tt>Jog</tt> </td><td>Jog value (see above)
767</td></tr>
768<tr><td><tt>LeadingEdge</tt> </td><td>LeadingEdge value (see above)
769</td></tr>
770<tr><td><tt>ManualFeed</tt> </td><td>ManualFeed value
771</td></tr>
772<tr><td><tt>Margins[2]</tt> </td><td>Lower-lefthand margins in points
773</td></tr>
774<tr><td><tt>MediaClass[64]</tt> </td><td>MediaClass string
775</td></tr>
776<tr><td><tt>MediaColor[64]</tt> </td><td>MediaColor string
777</td></tr>
778<tr><td><tt>MediaPosition</tt> </td><td>MediaPosition value
779</td></tr>
780<tr><td><tt>MediaType[64]</tt> </td><td>MediaType string
781</td></tr>
782<tr><td><tt>MediaWeight</tt> </td><td>MediaWeight value in grams/m^2
783</td></tr>
784<tr><td><tt>MirrorPrint</tt> </td><td>MirrorPrint value
785</td></tr>
786<tr><td><tt>NegativePrint</tt> </td><td>NegativePrint value
787</td></tr>
788<tr><td><tt>NumCopies</tt> </td><td>Number of copies to produce
789</td></tr>
790<tr><td><tt>Orientation</tt> </td><td>Orientation value (see above)
791</td></tr>
792<tr><td><tt>OutputFaceUp</tt> </td><td>OutputFaceUp value
793</td></tr>
794<tr><td><tt>OutputType[64]</tt> </td><td>OutputType string
795</td></tr>
796<tr><td><tt>PageSize[2]</tt> </td><td>Width and length of page in points
797</td></tr>
798<tr><td><tt>Separations</tt> </td><td>Separations value
799</td></tr>
800<tr><td><tt>TraySwitch</tt> </td><td>TraySwitch value
801</td></tr>
802<tr><td><tt>Tumble</tt> </td><td>Tumble value
803</td></tr>
804<tr><td><tt>cupsBitsPerColor</tt> </td><td>Number of bits for each color
805</td></tr>
806<tr><td><tt>cupsBitsPerPixel</tt> </td><td>Number of bits for each pixel
807</td></tr>
808<tr><td><tt>cupsBytesPerLine</tt> </td><td>Number of bytes per line
809</td></tr>
810<tr><td><tt>cupsColorOrder</tt> </td><td>Order of colors
811</td></tr>
812<tr><td><tt>cupsColorSpace</tt> </td><td>True colorspace
813</td></tr>
814<tr><td><tt>cupsCompression</tt> </td><td>Device compression to use
815</td></tr>
816<tr><td><tt>cupsHeight</tt> </td><td>Height of page image in pixels
817</td></tr>
818<tr><td><tt>cupsMediaType</tt> </td><td>Media type code
819</td></tr>
820<tr><td><tt>cupsRowCount</tt> </td><td>Rows per band
821</td></tr>
822<tr><td><tt>cupsRowFeed</tt> </td><td>Feed between bands
823</td></tr>
824<tr><td><tt>cupsRowStep</tt> </td><td>Spacing between lines
825</td></tr>
826<tr><td><tt>cupsWidth</tt> </td><td>Width of page image in pixels
827</td></tr>
b423cd4c 828</tbody></table></div>
829<!-- NEW PAGE -->
830<h2 class='title'><a name='TYPES'>Types</a></h2>
831<ul>
26d47ec6 832 <li><a href='#cups_interpret_cb_t'><tt>cups_interpret_cb_t</tt></a> </li>
b423cd4c 833 <li><a href='#cups_page_header2_t'><tt>cups_page_header2_t</tt></a> <span class='info'>&nbsp;CUPS 1.2&nbsp;</span></li>
bc44d920 834 <li><a href='#cups_page_header_t'><tt>cups_page_header_t</tt></a> </li>
b423cd4c 835 <li><a href='#cups_raster_t'><tt>cups_raster_t</tt></a> </li>
836</ul>
837<!-- NEW PAGE -->
26d47ec6 838<h3 class='title'><a name='cups_interpret_cb_t'>cups_interpret_cb_t</a></h3>
b423cd4c 839<h4>Description</h4>
bc44d920 840<p>Prototypes...
b423cd4c 841<h4>Definition</h4>
bc44d920 842<p><tt>
26d47ec6 843typedef int (*cups_interpret_cb_t)(<a href='#cups_page_header2_t'>cups_page_header2_t</a> *header, int preferred_bits);
bc44d920 844</tt></p>
b423cd4c 845<!-- NEW PAGE -->
26d47ec6 846<h3 class='title'><span class='info'>&nbsp;CUPS 1.2&nbsp;</span><a name='cups_page_header2_t'>cups_page_header2_t</a></h3>
b423cd4c 847<h4>Description</h4>
bc44d920 848<p>Version 2 Page Header
b423cd4c 849<h4>Definition</h4>
bc44d920 850<p><tt>
26d47ec6 851typedef struct <a href='#cups_page_header2_s'>cups_page_header2_s</a> cups_page_header2_t;
bc44d920 852</tt></p>
853<!-- NEW PAGE -->
854<h3 class='title'><a name='cups_page_header_t'>cups_page_header_t</a></h3>
855<h4>Description</h4>
856<p>Version 1 Page Header
857<h4>Definition</h4>
858<p><tt>
859typedef struct <a href='#cups_page_header_s'>cups_page_header_s</a> cups_page_header_t;
860</tt></p>
b423cd4c 861<!-- NEW PAGE -->
862<h3 class='title'><a name='cups_raster_t'>cups_raster_t</a></h3>
863<h4>Description</h4>
bc44d920 864<p>Raster stream data
b423cd4c 865<h4>Definition</h4>
bc44d920 866<p><tt>
b423cd4c 867typedef struct _cups_raster_s cups_raster_t;
bc44d920 868</tt></p>
b423cd4c 869</body>
870</html>