aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-iff.html
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-iff.html')
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-iff.html872
1 files changed, 872 insertions, 0 deletions
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-iff.html b/src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-iff.html
new file mode 100644
index 0000000..69e560e
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-iff.html
@@ -0,0 +1,872 @@
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<title>iff</title>
6<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
7<link rel="start" href="index.html" title="libg3d Reference Manual">
8<link rel="up" href="ch02.html" title="Plugin interface">
9<link rel="prev" href="libg3d-stream.html" title="stream">
10<link rel="next" href="libg3d-read.html" title="read">
11<meta name="generator" content="GTK-Doc V1.10 (XML mode)">
12<link rel="stylesheet" href="style.css" type="text/css">
13<link rel="chapter" href="ch01.html" title="Application interface">
14<link rel="chapter" href="ch02.html" title="Plugin interface">
15</head>
16<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
17<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
18<tr valign="middle">
19<td><a accesskey="p" href="libg3d-stream.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
20<td><a accesskey="u" href="ch02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
21<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
22<th width="100%" align="center">libg3d Reference Manual</th>
23<td><a accesskey="n" href="libg3d-read.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
24</tr>
25<tr><td colspan="5" class="shortcuts"><nobr><a href="#libg3d-iff.synopsis" class="shortcut">Top</a>
26  | 
27 <a href="#libg3d-iff.description" class="shortcut">Description</a></nobr></td></tr>
28</table>
29<div class="refentry" lang="en">
30<a name="libg3d-iff"></a><div class="titlepage"></div>
31<div class="refnamediv"><table width="100%"><tr>
32<td valign="top">
33<h2><span class="refentrytitle"><a name="libg3d-iff.top_of_page"></a>iff</span></h2>
34<p>iff — IFF file helper functions</p>
35</td>
36<td valign="top" align="right"></td>
37</tr></table></div>
38<div class="refsynopsisdiv">
39<a name="libg3d-iff.synopsis"></a><h2>Synopsis</h2>
40<pre class="synopsis">
41
42#include &lt;g3d/iff.h&gt;
43
44#define <a class="link" href="libg3d-iff.html#G3D-IFF-PAD1:CAPS" title="G3D_IFF_PAD1">G3D_IFF_PAD1</a>
45#define <a class="link" href="libg3d-iff.html#G3D-IFF-PAD2:CAPS" title="G3D_IFF_PAD2">G3D_IFF_PAD2</a>
46#define <a class="link" href="libg3d-iff.html#G3D-IFF-PAD4:CAPS" title="G3D_IFF_PAD4">G3D_IFF_PAD4</a>
47#define <a class="link" href="libg3d-iff.html#G3D-IFF-PAD8:CAPS" title="G3D_IFF_PAD8">G3D_IFF_PAD8</a>
48#define <a class="link" href="libg3d-iff.html#G3D-IFF-LE:CAPS" title="G3D_IFF_LE">G3D_IFF_LE</a>
49#define <a class="link" href="libg3d-iff.html#G3D-IFF-LEN16:CAPS" title="G3D_IFF_LEN16">G3D_IFF_LEN16</a>
50#define <a class="link" href="libg3d-iff.html#G3D-IFF-SUBCHUNK-LEN16:CAPS" title="G3D_IFF_SUBCHUNK_LEN16">G3D_IFF_SUBCHUNK_LEN16</a>
51#define <a class="link" href="libg3d-iff.html#G3D-IFF-MKID:CAPS" title="G3D_IFF_MKID()">G3D_IFF_MKID</a> (a,b,c,d)
52<a
53href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
54>gboolean</a> <a class="link" href="libg3d-iff.html#g3d-iff-check" title="g3d_iff_check ()">g3d_iff_check</a> (<a class="link" href="libg3d-stream.html#G3DStream" title="G3DStream">G3DStream</a> *stream,
55 <a
56href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
57>guint32</a> *id,
58 <a
59href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"
60>gsize</a> *len);
61<a
62href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"
63>gsize</a> <a class="link" href="libg3d-iff.html#g3d-iff-read-chunk" title="g3d_iff_read_chunk ()">g3d_iff_read_chunk</a> (<a class="link" href="libg3d-stream.html#G3DStream" title="G3DStream">G3DStream</a> *stream,
64 <a
65href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
66>guint32</a> *id,
67 <a
68href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"
69>gsize</a> *len,
70 <a
71href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
72>guint32</a> flags);
73<a
74href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
75>gpointer</a> <a class="link" href="libg3d-iff.html#g3d-iff-handle-chunk" title="g3d_iff_handle_chunk ()">g3d_iff_handle_chunk</a> (<a class="link" href="libg3d-iff.html#G3DIffGlobal" title="G3DIffGlobal">G3DIffGlobal</a> *global,
76 <a class="link" href="libg3d-iff.html#G3DIffLocal" title="G3DIffLocal">G3DIffLocal</a> *plocal,
77 <a class="link" href="libg3d-iff.html#G3DIffChunkInfo" title="G3DIffChunkInfo">G3DIffChunkInfo</a> *chunks,
78 <a
79href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
80>guint32</a> flags);
81<a
82href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
83>gboolean</a> <a class="link" href="libg3d-iff.html#g3d-iff-chunk-matches" title="g3d_iff_chunk_matches ()">g3d_iff_chunk_matches</a> (<a
84href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
85>guint32</a> id,
86 <a
87href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
88>gchar</a> *tid);
89<a
90href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
91>gboolean</a> <a class="link" href="libg3d-iff.html#g3d-iff-read-ctnr" title="g3d_iff_read_ctnr ()">g3d_iff_read_ctnr</a> (<a class="link" href="libg3d-iff.html#G3DIffGlobal" title="G3DIffGlobal">G3DIffGlobal</a> *global,
92 <a class="link" href="libg3d-iff.html#G3DIffLocal" title="G3DIffLocal">G3DIffLocal</a> *local,
93 <a class="link" href="libg3d-iff.html#G3DIffChunkInfo" title="G3DIffChunkInfo">G3DIffChunkInfo</a> *chunks,
94 <a
95href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
96>guint32</a> flags);
97<a
98href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
99>gchar</a>* <a class="link" href="libg3d-iff.html#g3d-iff-id-to-text" title="g3d_iff_id_to_text ()">g3d_iff_id_to_text</a> (<a
100href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
101>guint32</a> id);
102FILE* <a class="link" href="libg3d-iff.html#g3d-iff-open" title="g3d_iff_open ()">g3d_iff_open</a> (const <a
103href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
104>gchar</a> *filename,
105 <a
106href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
107>guint32</a> *id,
108 <a
109href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
110>guint32</a> *len);
111int <a class="link" href="libg3d-iff.html#g3d-iff-readchunk" title="g3d_iff_readchunk ()">g3d_iff_readchunk</a> (FILE *f,
112 <a
113href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
114>guint32</a> *id,
115 <a
116href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
117>guint32</a> *len,
118 <a
119href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
120>guint32</a> flags);
121<a
122href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
123>gboolean</a> (<a class="link" href="libg3d-iff.html#G3DIffChunkCallback" title="G3DIffChunkCallback ()">*G3DIffChunkCallback</a>) (<a class="link" href="libg3d-iff.html#G3DIffGlobal" title="G3DIffGlobal">G3DIffGlobal</a> *global,
124 <a class="link" href="libg3d-iff.html#G3DIffLocal" title="G3DIffLocal">G3DIffLocal</a> *local);
125#define <a class="link" href="libg3d-iff.html#g3d-iff-chunk-callback" title="g3d_iff_chunk_callback">g3d_iff_chunk_callback</a>
126 <a class="link" href="libg3d-iff.html#G3DIffChunkInfo" title="G3DIffChunkInfo">G3DIffChunkInfo</a>;
127#define <a class="link" href="libg3d-iff.html#g3d-iff-chunk-info" title="g3d_iff_chunk_info">g3d_iff_chunk_info</a>
128 <a class="link" href="libg3d-iff.html#G3DIffGlobal" title="G3DIffGlobal">G3DIffGlobal</a>;
129#define <a class="link" href="libg3d-iff.html#g3d-iff-gdata" title="g3d_iff_gdata">g3d_iff_gdata</a>
130 <a class="link" href="libg3d-iff.html#G3DIffLocal" title="G3DIffLocal">G3DIffLocal</a>;
131#define <a class="link" href="libg3d-iff.html#g3d-iff-ldata" title="g3d_iff_ldata">g3d_iff_ldata</a>
132</pre>
133</div>
134<div class="refsect1" lang="en">
135<a name="libg3d-iff.description"></a><h2>Description</h2>
136<p>
137These are helper functions to read data from the Interchange File Format
138(IFF).</p>
139<p>
140
141</p>
142</div>
143<div class="refsect1" lang="en">
144<a name="libg3d-iff.details"></a><h2>Details</h2>
145<div class="refsect2" lang="en">
146<a name="G3D-IFF-PAD1:CAPS"></a><h3>G3D_IFF_PAD1</h3>
147<pre class="programlisting">#define G3D_IFF_PAD1 0x01
148</pre>
149<p>
150No padding is done after chunks.</p>
151<p>
152
153</p>
154</div>
155<hr>
156<div class="refsect2" lang="en">
157<a name="G3D-IFF-PAD2:CAPS"></a><h3>G3D_IFF_PAD2</h3>
158<pre class="programlisting">#define G3D_IFF_PAD2 0x02
159</pre>
160<p>
161Chunks are 2-byte aligned</p>
162<p>
163
164</p>
165</div>
166<hr>
167<div class="refsect2" lang="en">
168<a name="G3D-IFF-PAD4:CAPS"></a><h3>G3D_IFF_PAD4</h3>
169<pre class="programlisting">#define G3D_IFF_PAD4 0x04
170</pre>
171<p>
172Chunks are 4-byte aligned</p>
173<p>
174
175</p>
176</div>
177<hr>
178<div class="refsect2" lang="en">
179<a name="G3D-IFF-PAD8:CAPS"></a><h3>G3D_IFF_PAD8</h3>
180<pre class="programlisting">#define G3D_IFF_PAD8 0x08
181</pre>
182<p>
183Chunks are 8-byte aligned</p>
184<p>
185
186</p>
187</div>
188<hr>
189<div class="refsect2" lang="en">
190<a name="G3D-IFF-LE:CAPS"></a><h3>G3D_IFF_LE</h3>
191<pre class="programlisting">#define G3D_IFF_LE 0x40 /* little endian */
192</pre>
193<p>
194The file has little-endian data.</p>
195<p>
196
197</p>
198</div>
199<hr>
200<div class="refsect2" lang="en">
201<a name="G3D-IFF-LEN16:CAPS"></a><h3>G3D_IFF_LEN16</h3>
202<pre class="programlisting">#define G3D_IFF_LEN16 0x20
203</pre>
204<p>
205All chunks have 16-bit sizes.</p>
206<p>
207
208</p>
209</div>
210<hr>
211<div class="refsect2" lang="en">
212<a name="G3D-IFF-SUBCHUNK-LEN16:CAPS"></a><h3>G3D_IFF_SUBCHUNK_LEN16</h3>
213<pre class="programlisting">#define G3D_IFF_SUBCHUNK_LEN16 0x10
214</pre>
215<p>
216All chunks except the toplevel ones have 16-bit sizes.</p>
217<p>
218
219</p>
220</div>
221<hr>
222<div class="refsect2" lang="en">
223<a name="G3D-IFF-MKID:CAPS"></a><h3>G3D_IFF_MKID()</h3>
224<pre class="programlisting">#define G3D_IFF_MKID(a,b,c,d)</pre>
225<p>
226Generate an IFF chunk identifier from character representation, e.g.
227G3D_IFF_MKID('F','O','R','M').</p>
228<p>
229
230</p>
231<div class="variablelist"><table border="0">
232<col align="left" valign="top">
233<tbody>
234<tr>
235<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
236<td> first byte
237</td>
238</tr>
239<tr>
240<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
241<td> second byte
242</td>
243</tr>
244<tr>
245<td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
246<td> third byte
247</td>
248</tr>
249<tr>
250<td><p><span class="term"><em class="parameter"><code>d</code></em> :</span></p></td>
251<td> fourth byte
252</td>
253</tr>
254</tbody>
255</table></div>
256</div>
257<hr>
258<div class="refsect2" lang="en">
259<a name="g3d-iff-check"></a><h3>g3d_iff_check ()</h3>
260<pre class="programlisting"><a
261href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
262>gboolean</a> g3d_iff_check (<a class="link" href="libg3d-stream.html#G3DStream" title="G3DStream">G3DStream</a> *stream,
263 <a
264href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
265>guint32</a> *id,
266 <a
267href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"
268>gsize</a> *len);</pre>
269<p>
270Checks a stream for a valid IFF signature and reads the top level container.</p>
271<p>
272
273</p>
274<div class="variablelist"><table border="0">
275<col align="left" valign="top">
276<tbody>
277<tr>
278<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
279<td> stream containing IFF file to check
280</td>
281</tr>
282<tr>
283<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
284<td> top level ID (out)
285</td>
286</tr>
287<tr>
288<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
289<td> length of top level container (out)
290</td>
291</tr>
292<tr>
293<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
294<td> TRUE on success (valid IFF), FALSE else
295</td>
296</tr>
297</tbody>
298</table></div>
299</div>
300<hr>
301<div class="refsect2" lang="en">
302<a name="g3d-iff-read-chunk"></a><h3>g3d_iff_read_chunk ()</h3>
303<pre class="programlisting"><a
304href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"
305>gsize</a> g3d_iff_read_chunk (<a class="link" href="libg3d-stream.html#G3DStream" title="G3DStream">G3DStream</a> *stream,
306 <a
307href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
308>guint32</a> *id,
309 <a
310href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"
311>gsize</a> *len,
312 <a
313href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
314>guint32</a> flags);</pre>
315<p>
316Reads one chunk header from an IFF file.</p>
317<p>
318
319</p>
320<div class="variablelist"><table border="0">
321<col align="left" valign="top">
322<tbody>
323<tr>
324<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
325<td> stream to read from
326</td>
327</tr>
328<tr>
329<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
330<td> ID of chunk (out)
331</td>
332</tr>
333<tr>
334<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
335<td> length of chunk (excluding header) (out)
336</td>
337</tr>
338<tr>
339<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
340<td> flags
341</td>
342</tr>
343<tr>
344<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
345<td> real length of chunk including header and possible padding byte
346</td>
347</tr>
348</tbody>
349</table></div>
350</div>
351<hr>
352<div class="refsect2" lang="en">
353<a name="g3d-iff-handle-chunk"></a><h3>g3d_iff_handle_chunk ()</h3>
354<pre class="programlisting"><a
355href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
356>gpointer</a> g3d_iff_handle_chunk (<a class="link" href="libg3d-iff.html#G3DIffGlobal" title="G3DIffGlobal">G3DIffGlobal</a> *global,
357 <a class="link" href="libg3d-iff.html#G3DIffLocal" title="G3DIffLocal">G3DIffLocal</a> *plocal,
358 <a class="link" href="libg3d-iff.html#G3DIffChunkInfo" title="G3DIffChunkInfo">G3DIffChunkInfo</a> *chunks,
359 <a
360href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
361>guint32</a> flags);</pre>
362<p>
363Handle an IFF chunk based on chunk description.</p>
364<p>
365
366</p>
367<div class="variablelist"><table border="0">
368<col align="left" valign="top">
369<tbody>
370<tr>
371<td><p><span class="term"><em class="parameter"><code>global</code></em> :</span></p></td>
372<td> global data
373</td>
374</tr>
375<tr>
376<td><p><span class="term"><em class="parameter"><code>plocal</code></em> :</span></p></td>
377<td> local data of parent chunk, must not be NULL
378</td>
379</tr>
380<tr>
381<td><p><span class="term"><em class="parameter"><code>chunks</code></em> :</span></p></td>
382<td> chunk description list
383</td>
384</tr>
385<tr>
386<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
387<td> IFF flags
388</td>
389</tr>
390<tr>
391<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
392<td> level object for siblings, may be NULL.
393</td>
394</tr>
395</tbody>
396</table></div>
397</div>
398<hr>
399<div class="refsect2" lang="en">
400<a name="g3d-iff-chunk-matches"></a><h3>g3d_iff_chunk_matches ()</h3>
401<pre class="programlisting"><a
402href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
403>gboolean</a> g3d_iff_chunk_matches (<a
404href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
405>guint32</a> id,
406 <a
407href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
408>gchar</a> *tid);</pre>
409<p>
410Check whether <em class="parameter"><code>id</code></em> and <em class="parameter"><code>tid</code></em> match.</p>
411<p>
412
413</p>
414<div class="variablelist"><table border="0">
415<col align="left" valign="top">
416<tbody>
417<tr>
418<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
419<td> IFF identifier
420</td>
421</tr>
422<tr>
423<td><p><span class="term"><em class="parameter"><code>tid</code></em> :</span></p></td>
424<td> textual representation of identifier
425</td>
426</tr>
427<tr>
428<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
429<td> TRUE on match, FALSE else.
430</td>
431</tr>
432</tbody>
433</table></div>
434</div>
435<hr>
436<div class="refsect2" lang="en">
437<a name="g3d-iff-read-ctnr"></a><h3>g3d_iff_read_ctnr ()</h3>
438<pre class="programlisting"><a
439href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
440>gboolean</a> g3d_iff_read_ctnr (<a class="link" href="libg3d-iff.html#G3DIffGlobal" title="G3DIffGlobal">G3DIffGlobal</a> *global,
441 <a class="link" href="libg3d-iff.html#G3DIffLocal" title="G3DIffLocal">G3DIffLocal</a> *local,
442 <a class="link" href="libg3d-iff.html#G3DIffChunkInfo" title="G3DIffChunkInfo">G3DIffChunkInfo</a> *chunks,
443 <a
444href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
445>guint32</a> flags);</pre>
446<p>
447Read subchunks in current chunk and handle them appropriately.</p>
448<p>
449
450</p>
451<div class="variablelist"><table border="0">
452<col align="left" valign="top">
453<tbody>
454<tr>
455<td><p><span class="term"><em class="parameter"><code>global</code></em> :</span></p></td>
456<td> global data
457</td>
458</tr>
459<tr>
460<td><p><span class="term"><em class="parameter"><code>local</code></em> :</span></p></td>
461<td> local data of current chunk, must not be NULL
462</td>
463</tr>
464<tr>
465<td><p><span class="term"><em class="parameter"><code>chunks</code></em> :</span></p></td>
466<td> chunk description list
467</td>
468</tr>
469<tr>
470<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
471<td> IFF flags
472</td>
473</tr>
474<tr>
475<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
476<td> TRUE on success, FALSE else.
477</td>
478</tr>
479</tbody>
480</table></div>
481</div>
482<hr>
483<div class="refsect2" lang="en">
484<a name="g3d-iff-id-to-text"></a><h3>g3d_iff_id_to_text ()</h3>
485<pre class="programlisting"><a
486href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
487>gchar</a>* g3d_iff_id_to_text (<a
488href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
489>guint32</a> id);</pre>
490<p>
491Get the text representation of an IFF chunk identifier.</p>
492<p>
493
494</p>
495<div class="variablelist"><table border="0">
496<col align="left" valign="top">
497<tbody>
498<tr>
499<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
500<td> an IFF identifier
501</td>
502</tr>
503<tr>
504<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
505<td> a newly allocated string containing the text identifier.
506</td>
507</tr>
508</tbody>
509</table></div>
510</div>
511<hr>
512<div class="refsect2" lang="en">
513<a name="g3d-iff-open"></a><h3>g3d_iff_open ()</h3>
514<pre class="programlisting">FILE* g3d_iff_open (const <a
515href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
516>gchar</a> *filename,
517 <a
518href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
519>guint32</a> *id,
520 <a
521href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
522>guint32</a> *len);</pre>
523<p>
524Opens an IFF file, checks it and reads its top level container.</p>
525<p>
526
527</p>
528<div class="variablelist"><table border="0">
529<col align="left" valign="top">
530<tbody>
531<tr>
532<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
533<td> file name of IFF file
534</td>
535</tr>
536<tr>
537<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
538<td> top level ID (out)
539</td>
540</tr>
541<tr>
542<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
543<td> length of top level container (out)
544</td>
545</tr>
546<tr>
547<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
548<td> the file pointer of open file or NULL in case of an error
549</td>
550</tr>
551</tbody>
552</table></div>
553</div>
554<hr>
555<div class="refsect2" lang="en">
556<a name="g3d-iff-readchunk"></a><h3>g3d_iff_readchunk ()</h3>
557<pre class="programlisting">int g3d_iff_readchunk (FILE *f,
558 <a
559href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
560>guint32</a> *id,
561 <a
562href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
563>guint32</a> *len,
564 <a
565href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
566>guint32</a> flags);</pre>
567<p>
568Reads one chunk header from an IFF file.</p>
569<p>
570
571</p>
572<div class="variablelist"><table border="0">
573<col align="left" valign="top">
574<tbody>
575<tr>
576<td><p><span class="term"><em class="parameter"><code>f</code></em> :</span></p></td>
577<td> the open IFF file pointer
578</td>
579</tr>
580<tr>
581<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
582<td> ID of chunk (out)
583</td>
584</tr>
585<tr>
586<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
587<td> length of chunk (excluding header) (out)
588</td>
589</tr>
590<tr>
591<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
592<td> flags
593</td>
594</tr>
595<tr>
596<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
597<td> real length of chunk including header and possible padding byte
598</td>
599</tr>
600</tbody>
601</table></div>
602</div>
603<hr>
604<div class="refsect2" lang="en">
605<a name="G3DIffChunkCallback"></a><h3>G3DIffChunkCallback ()</h3>
606<pre class="programlisting"><a
607href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
608>gboolean</a> (*G3DIffChunkCallback) (<a class="link" href="libg3d-iff.html#G3DIffGlobal" title="G3DIffGlobal">G3DIffGlobal</a> *global,
609 <a class="link" href="libg3d-iff.html#G3DIffLocal" title="G3DIffLocal">G3DIffLocal</a> *local);</pre>
610<p>
611IFF callback function prototype.</p>
612<p>
613
614</p>
615<div class="variablelist"><table border="0">
616<col align="left" valign="top">
617<tbody>
618<tr>
619<td><p><span class="term"><em class="parameter"><code>global</code></em> :</span></p></td>
620<td> the global data
621</td>
622</tr>
623<tr>
624<td><p><span class="term"><em class="parameter"><code>local</code></em> :</span></p></td>
625<td> the local data
626</td>
627</tr>
628<tr>
629<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
630<td> TRUE on success, FALSE else.
631</td>
632</tr>
633</tbody>
634</table></div>
635</div>
636<hr>
637<div class="refsect2" lang="en">
638<a name="g3d-iff-chunk-callback"></a><h3>g3d_iff_chunk_callback</h3>
639<pre class="programlisting">#define g3d_iff_chunk_callback G3DIffChunkCallback
640</pre>
641<p>
642IFF chunk callback (deprecated).</p>
643<p>
644
645</p>
646</div>
647<hr>
648<div class="refsect2" lang="en">
649<a name="G3DIffChunkInfo"></a><h3>G3DIffChunkInfo</h3>
650<pre class="programlisting">typedef struct {
651 gchar *id;
652 gchar *description;
653 gboolean container;
654 G3DIffChunkCallback callback;
655} G3DIffChunkInfo;
656</pre>
657<p>
658A chunk type description.</p>
659<p>
660
661</p>
662<div class="variablelist"><table border="0">
663<col align="left" valign="top">
664<tbody>
665<tr>
666<td><p><span class="term"><a
667href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
668>gchar</a> *<em class="structfield"><code>id</code></em>;</span></p></td>
669<td> identifier of chunk
670</td>
671</tr>
672<tr>
673<td><p><span class="term"><a
674href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
675>gchar</a> *<em class="structfield"><code>description</code></em>;</span></p></td>
676<td> human-readable description of chunk type
677</td>
678</tr>
679<tr>
680<td><p><span class="term"><a
681href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
682>gboolean</a> <em class="structfield"><code>container</code></em>;</span></p></td>
683<td> TRUE if this chunk contains sub-chunks
684</td>
685</tr>
686<tr>
687<td><p><span class="term"><a class="link" href="libg3d-iff.html#G3DIffChunkCallback" title="G3DIffChunkCallback ()">G3DIffChunkCallback</a> <em class="structfield"><code>callback</code></em>;</span></p></td>
688<td> function to be called if such a chunk is found
689</td>
690</tr>
691</tbody>
692</table></div>
693</div>
694<hr>
695<div class="refsect2" lang="en">
696<a name="g3d-iff-chunk-info"></a><h3>g3d_iff_chunk_info</h3>
697<pre class="programlisting">#define g3d_iff_chunk_info G3DIffChunkInfo
698</pre>
699<p>
700IFF chunk description (deprecated).</p>
701<p>
702
703</p>
704</div>
705<hr>
706<div class="refsect2" lang="en">
707<a name="G3DIffGlobal"></a><h3>G3DIffGlobal</h3>
708<pre class="programlisting">typedef struct {
709 G3DContext *context;
710 G3DModel *model;
711 G3DStream *stream;
712 guint32 flags;
713 gpointer user_data;
714 FILE *f;
715 long int max_fpos;
716} G3DIffGlobal;
717</pre>
718<p>
719The plugin-global data to be given to IFF callback functions.</p>
720<p>
721
722</p>
723<div class="variablelist"><table border="0">
724<col align="left" valign="top">
725<tbody>
726<tr>
727<td><p><span class="term"><a class="link" href="libg3d-context.html#G3DContext" title="G3DContext">G3DContext</a> *<em class="structfield"><code>context</code></em>;</span></p></td>
728<td> a valid context
729</td>
730</tr>
731<tr>
732<td><p><span class="term"><a class="link" href="libg3d-model.html#G3DModel" title="G3DModel">G3DModel</a> *<em class="structfield"><code>model</code></em>;</span></p></td>
733<td> a model
734</td>
735</tr>
736<tr>
737<td><p><span class="term"><a class="link" href="libg3d-stream.html#G3DStream" title="G3DStream">G3DStream</a> *<em class="structfield"><code>stream</code></em>;</span></p></td>
738<td> the stream to read model from
739</td>
740</tr>
741<tr>
742<td><p><span class="term"><a
743href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
744>guint32</a> <em class="structfield"><code>flags</code></em>;</span></p></td>
745<td> IFF flags
746</td>
747</tr>
748<tr>
749<td><p><span class="term"><a
750href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
751>gpointer</a> <em class="structfield"><code>user_data</code></em>;</span></p></td>
752<td> to be used by plugin
753</td>
754</tr>
755<tr>
756<td><p><span class="term">FILE *<em class="structfield"><code>f</code></em>;</span></p></td>
757<td> file to read model from (DEPRECATED)
758</td>
759</tr>
760<tr>
761<td><p><span class="term">long int <em class="structfield"><code>max_fpos</code></em>;</span></p></td>
762<td> maximum file position (DEPRECATED)
763</td>
764</tr>
765</tbody>
766</table></div>
767</div>
768<hr>
769<div class="refsect2" lang="en">
770<a name="g3d-iff-gdata"></a><h3>g3d_iff_gdata</h3>
771<pre class="programlisting">#define g3d_iff_gdata G3DIffGlobal
772</pre>
773<p>
774IFF global data (deprecated).</p>
775<p>
776
777</p>
778</div>
779<hr>
780<div class="refsect2" lang="en">
781<a name="G3DIffLocal"></a><h3>G3DIffLocal</h3>
782<pre class="programlisting">typedef struct {
783 guint32 id;
784 guint32 parent_id;
785 gpointer object;
786 gint32 level;
787 gpointer level_object;
788 gint32 nb;
789 gboolean finalize;
790} G3DIffLocal;
791</pre>
792<p>
793The function-local data for IFF callback functions.</p>
794<p>
795
796</p>
797<div class="variablelist"><table border="0">
798<col align="left" valign="top">
799<tbody>
800<tr>
801<td><p><span class="term"><a
802href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
803>guint32</a> <em class="structfield"><code>id</code></em>;</span></p></td>
804<td> chunk identifier
805</td>
806</tr>
807<tr>
808<td><p><span class="term"><a
809href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
810>guint32</a> <em class="structfield"><code>parent_id</code></em>;</span></p></td>
811<td> parent chunk identifier
812</td>
813</tr>
814<tr>
815<td><p><span class="term"><a
816href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
817>gpointer</a> <em class="structfield"><code>object</code></em>;</span></p></td>
818<td> an object set by parent callbacks, may be NULL
819</td>
820</tr>
821<tr>
822<td><p><span class="term"><a
823href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint32"
824>gint32</a> <em class="structfield"><code>level</code></em>;</span></p></td>
825<td> level of chunk
826</td>
827</tr>
828<tr>
829<td><p><span class="term"><a
830href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
831>gpointer</a> <em class="structfield"><code>level_object</code></em>;</span></p></td>
832<td> object shared by callbacks on the same level, may be NULL
833</td>
834</tr>
835<tr>
836<td><p><span class="term"><a
837href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint32"
838>gint32</a> <em class="structfield"><code>nb</code></em>;</span></p></td>
839<td> number of bytes remaining in chunk, has to be decremented after
840correctly after reading from stream
841</td>
842</tr>
843<tr>
844<td><p><span class="term"><a
845href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
846>gboolean</a> <em class="structfield"><code>finalize</code></em>;</span></p></td>
847<td> for container chunks the callback function is called before
848and after processing possible sub-chunks, the second time <em class="parameter"><code>finalize</code></em> is set
849to TRUE
850</td>
851</tr>
852</tbody>
853</table></div>
854</div>
855<hr>
856<div class="refsect2" lang="en">
857<a name="g3d-iff-ldata"></a><h3>g3d_iff_ldata</h3>
858<pre class="programlisting">#define g3d_iff_ldata G3DIffLocal
859</pre>
860<p>
861IFF local data (deprecated).</p>
862<p>
863
864</p>
865</div>
866</div>
867</div>
868<div class="footer">
869<hr>
870 Generated by GTK-Doc V1.10</div>
871</body>
872</html>