aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/mimesh/libg3d-0.0.8/doc/api/xml/stream.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/mimesh/libg3d-0.0.8/doc/api/xml/stream.xml')
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/stream.xml801
1 files changed, 801 insertions, 0 deletions
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/stream.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/stream.xml
new file mode 100644
index 0000000..99d7bfb
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/stream.xml
@@ -0,0 +1,801 @@
1<?xml version="1.0"?>
2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
4<refentry id="libg3d-stream">
5<refmeta>
6<refentrytitle role="top_of_page" id="libg3d-stream.top_of_page">stream</refentrytitle>
7<manvolnum>3</manvolnum>
8<refmiscinfo>LIBG3D Library</refmiscinfo>
9</refmeta>
10
11<refnamediv>
12<refname>stream</refname>
13<refpurpose>I/O abstraction layer for plugins</refpurpose>
14<!--[<xref linkend="desc" endterm="desc.title"/>]-->
15</refnamediv>
16
17<refsynopsisdiv id="libg3d-stream.synopsis" role="synopsis">
18<title role="synopsis.title">Synopsis</title>
19
20<synopsis>
21
22#include &lt;g3d/stream.h&gt;
23
24 <link linkend="G3DStream">G3DStream</link>;
25<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-open-file">g3d_stream_open_file</link> (const <link linkend="gchar">gchar</link> *filename,
26 const <link linkend="gchar">gchar</link> *mode);
27<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-open-structured-file">g3d_stream_open_structured_file</link> (const <link linkend="gchar">gchar</link> *filename,
28 const <link linkend="gchar">gchar</link> *subfile);
29<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-open-structured-file-from-stream">g3d_stream_open_structured_file_from_stream</link>
30 (<link linkend="G3DStream">G3DStream</link> *stream,
31 const <link linkend="gchar">gchar</link> *subfile);
32<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-open-zip">g3d_stream_open_zip</link> (const <link linkend="gchar">gchar</link> *filename,
33 const <link linkend="gchar">gchar</link> *subfile);
34<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-open-zip-from-stream">g3d_stream_open_zip_from_stream</link> (<link linkend="G3DStream">G3DStream</link> *stream,
35 const <link linkend="gchar">gchar</link> *subfile);
36<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-open-gzip-from-stream">g3d_stream_open_gzip_from_stream</link> (<link linkend="G3DStream">G3DStream</link> *stream);
37<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-from-buffer">g3d_stream_from_buffer</link> (<link linkend="guint8">guint8</link> *buffer,
38 <link linkend="gsize">gsize</link> size,
39 const <link linkend="gchar">gchar</link> *title,
40 <link linkend="gboolean">gboolean</link> free_buffer);
41<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-zlib-inflate-stream">g3d_stream_zlib_inflate_stream</link> (<link linkend="G3DStream">G3DStream</link> *stream,
42 <link linkend="gsize">gsize</link> cmp_size);
43<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-new-custom">g3d_stream_new_custom</link> (<link linkend="guint32">guint32</link> flags,
44 const <link linkend="gchar">gchar</link> *uri,
45 <link linkend="G3DStreamReadFunc">G3DStreamReadFunc</link> readfunc,
46 <link linkend="G3DStreamReadLineFunc">G3DStreamReadLineFunc</link> readlinefunc,
47 <link linkend="G3DStreamSeekFunc">G3DStreamSeekFunc</link> seekfunc,
48 <link linkend="G3DStreamTellFunc">G3DStreamTellFunc</link> tellfunc,
49 <link linkend="G3DStreamSizeFunc">G3DStreamSizeFunc</link> sizefunc,
50 <link linkend="G3DStreamEofFunc">G3DStreamEofFunc</link> eoffunc,
51 <link linkend="G3DStreamCloseFunc">G3DStreamCloseFunc</link> closefunc,
52 <link linkend="gpointer">gpointer</link> data);
53<link linkend="gint">gint</link> <link linkend="g3d-stream-close">g3d_stream_close</link> (<link linkend="G3DStream">G3DStream</link> *stream);
54<link linkend="gint">gint</link> <link linkend="g3d-stream-skip">g3d_stream_skip</link> (<link linkend="G3DStream">G3DStream</link> *stream,
55 <link linkend="goffset">goffset</link> offset);
56<link linkend="gint">gint</link> <link linkend="g3d-stream-seek">g3d_stream_seek</link> (<link linkend="G3DStream">G3DStream</link> *stream,
57 <link linkend="goffset">goffset</link> offset,
58 <link linkend="GSeekType">GSeekType</link> whence);
59<link linkend="goffset">goffset</link> <link linkend="g3d-stream-tell">g3d_stream_tell</link> (<link linkend="G3DStream">G3DStream</link> *stream);
60<link linkend="goffset">goffset</link> <link linkend="g3d-stream-size">g3d_stream_size</link> (<link linkend="G3DStream">G3DStream</link> *stream);
61<link linkend="gboolean">gboolean</link> <link linkend="g3d-stream-eof">g3d_stream_eof</link> (<link linkend="G3DStream">G3DStream</link> *stream);
62<link linkend="gboolean">gboolean</link> <link linkend="g3d-stream-is-seekable">g3d_stream_is_seekable</link> (<link linkend="G3DStream">G3DStream</link> *stream);
63<link linkend="gchar">gchar</link>* <link linkend="g3d-stream-get-uri">g3d_stream_get_uri</link> (<link linkend="G3DStream">G3DStream</link> *stream);
64<link linkend="guint32">guint32</link> <link linkend="g3d-stream-line">g3d_stream_line</link> (<link linkend="G3DStream">G3DStream</link> *stream);
65<link linkend="gsize">gsize</link> <link linkend="g3d-stream-read">g3d_stream_read</link> (<link linkend="G3DStream">G3DStream</link> *stream,
66 <link linkend="gpointer">gpointer</link> ptr,
67 <link linkend="gsize">gsize</link> size);
68<link linkend="gchar">gchar</link>* <link linkend="g3d-stream-read-line">g3d_stream_read_line</link> (<link linkend="G3DStream">G3DStream</link> *stream,
69 <link linkend="gchar">gchar</link> *buf,
70 <link linkend="gsize">gsize</link> size);
71<link linkend="gint32">gint32</link> <link linkend="g3d-stream-read-int8">g3d_stream_read_int8</link> (<link linkend="G3DStream">G3DStream</link> *stream);
72<link linkend="gint32">gint32</link> <link linkend="g3d-stream-read-int16-be">g3d_stream_read_int16_be</link> (<link linkend="G3DStream">G3DStream</link> *stream);
73<link linkend="gint32">gint32</link> <link linkend="g3d-stream-read-int16-le">g3d_stream_read_int16_le</link> (<link linkend="G3DStream">G3DStream</link> *stream);
74<link linkend="gint32">gint32</link> <link linkend="g3d-stream-read-int32-be">g3d_stream_read_int32_be</link> (<link linkend="G3DStream">G3DStream</link> *stream);
75<link linkend="gint32">gint32</link> <link linkend="g3d-stream-read-int32-le">g3d_stream_read_int32_le</link> (<link linkend="G3DStream">G3DStream</link> *stream);
76<link linkend="G3DFloat">G3DFloat</link> <link linkend="g3d-stream-read-float-be">g3d_stream_read_float_be</link> (<link linkend="G3DStream">G3DStream</link> *stream);
77<link linkend="G3DFloat">G3DFloat</link> <link linkend="g3d-stream-read-float-le">g3d_stream_read_float_le</link> (<link linkend="G3DStream">G3DStream</link> *stream);
78<link linkend="G3DDouble">G3DDouble</link> <link linkend="g3d-stream-read-double-be">g3d_stream_read_double_be</link> (<link linkend="G3DStream">G3DStream</link> *stream);
79<link linkend="G3DDouble">G3DDouble</link> <link linkend="g3d-stream-read-double-le">g3d_stream_read_double_le</link> (<link linkend="G3DStream">G3DStream</link> *stream);
80<link linkend="gint32">gint32</link> <link linkend="g3d-stream-read-cstr">g3d_stream_read_cstr</link> (<link linkend="G3DStream">G3DStream</link> *stream,
81 <link linkend="gchar">gchar</link> *buffer,
82 <link linkend="gint32">gint32</link> max_len);
83<link linkend="gint">gint</link> (<link linkend="G3DStreamCloseFunc">*G3DStreamCloseFunc</link>) (<link linkend="gpointer">gpointer</link> data);
84<link linkend="gboolean">gboolean</link> (<link linkend="G3DStreamEofFunc">*G3DStreamEofFunc</link>) (<link linkend="gpointer">gpointer</link> data);
85<link linkend="gsize">gsize</link> (<link linkend="G3DStreamReadFunc">*G3DStreamReadFunc</link>) (<link linkend="gpointer">gpointer</link> ptr,
86 <link linkend="gsize">gsize</link> size,
87 <link linkend="gpointer">gpointer</link> data);
88<link linkend="gchar">gchar</link>* (<link linkend="G3DStreamReadLineFunc">*G3DStreamReadLineFunc</link>) (<link linkend="gchar">gchar</link> *buf,
89 <link linkend="gsize">gsize</link> size,
90 <link linkend="gpointer">gpointer</link> data);
91<link linkend="gint">gint</link> (<link linkend="G3DStreamSeekFunc">*G3DStreamSeekFunc</link>) (<link linkend="gpointer">gpointer</link> data,
92 <link linkend="goffset">goffset</link> offset,
93 <link linkend="GSeekType">GSeekType</link> whence);
94<link linkend="goffset">goffset</link> (<link linkend="G3DStreamSizeFunc">*G3DStreamSizeFunc</link>) (<link linkend="gpointer">gpointer</link> data);
95<link linkend="goffset">goffset</link> (<link linkend="G3DStreamTellFunc">*G3DStreamTellFunc</link>) (<link linkend="gpointer">gpointer</link> data);
96</synopsis>
97</refsynopsisdiv>
98
99
100
101
102
103
104
105
106
107<refsect1 id="libg3d-stream.description" role="desc">
108<title role="desc.title">Description</title>
109<para>
110A stream is an abstraction for data input. It enables plugins to read
111data from a file, a memory buffer, a container file or some other medium.</para>
112<para>
113
114</para>
115</refsect1>
116
117<refsect1 id="libg3d-stream.details" role="details">
118<title role="details.title">Details</title>
119<refsect2 id="G3DStream" role="struct">
120<title>G3DStream</title>
121<indexterm zone="G3DStream"><primary>G3DStream</primary></indexterm><programlisting>typedef struct {
122} G3DStream;
123</programlisting>
124<para>
125An abstraction of input handling.</para>
126<para>
127
128</para></refsect2>
129<refsect2 id="g3d-stream-open-file" role="function">
130<title>g3d_stream_open_file ()</title>
131<indexterm zone="g3d-stream-open-file"><primary>g3d_stream_open_file</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_open_file (const <link linkend="gchar">gchar</link> *filename,
132 const <link linkend="gchar">gchar</link> *mode);</programlisting>
133<para>
134Opens a file with the C stdio routines.</para>
135<para>
136
137</para><variablelist role="params">
138<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
139<listitem><simpara> the name of the file to open
140</simpara></listitem></varlistentry>
141<varlistentry><term><parameter>mode</parameter>&nbsp;:</term>
142<listitem><simpara> the mode to open the file, as given to <link linkend="fopen"><function>fopen()</function></link>
143</simpara></listitem></varlistentry>
144<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
145</simpara></listitem></varlistentry>
146</variablelist></refsect2>
147<refsect2 id="g3d-stream-open-structured-file" role="function">
148<title>g3d_stream_open_structured_file ()</title>
149<indexterm zone="g3d-stream-open-structured-file"><primary>g3d_stream_open_structured_file</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_open_structured_file (const <link linkend="gchar">gchar</link> *filename,
150 const <link linkend="gchar">gchar</link> *subfile);</programlisting>
151<para>
152Open a file within a Structured File as <link linkend="G3DStream"><type>G3DStream</type></link>.</para>
153<para>
154
155</para><variablelist role="params">
156<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
157<listitem><simpara> name of container file
158</simpara></listitem></varlistentry>
159<varlistentry><term><parameter>subfile</parameter>&nbsp;:</term>
160<listitem><simpara> name of (contained) sub-file
161</simpara></listitem></varlistentry>
162<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
163</simpara></listitem></varlistentry>
164</variablelist></refsect2>
165<refsect2 id="g3d-stream-open-structured-file-from-stream" role="function">
166<title>g3d_stream_open_structured_file_from_stream ()</title>
167<indexterm zone="g3d-stream-open-structured-file-from-stream"><primary>g3d_stream_open_structured_file_from_stream</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_open_structured_file_from_stream
168 (<link linkend="G3DStream">G3DStream</link> *stream,
169 const <link linkend="gchar">gchar</link> *subfile);</programlisting>
170<para>
171Open a file within a Structured File which is opened as a stream. At the
172moment this only works for streams opened by <link linkend="g3d-stream-open-file"><function>g3d_stream_open_file()</function></link> as
173the file is directly opened again.</para>
174<para>
175
176</para><variablelist role="params">
177<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
178<listitem><simpara> stream of container file
179</simpara></listitem></varlistentry>
180<varlistentry><term><parameter>subfile</parameter>&nbsp;:</term>
181<listitem><simpara> name of (contained) sub-file
182</simpara></listitem></varlistentry>
183<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
184</simpara></listitem></varlistentry>
185</variablelist></refsect2>
186<refsect2 id="g3d-stream-open-zip" role="function">
187<title>g3d_stream_open_zip ()</title>
188<indexterm zone="g3d-stream-open-zip"><primary>g3d_stream_open_zip</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_open_zip (const <link linkend="gchar">gchar</link> *filename,
189 const <link linkend="gchar">gchar</link> *subfile);</programlisting>
190<para>
191Open a file within a Zip archive.</para>
192<para>
193
194</para><variablelist role="params">
195<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
196<listitem><simpara> name of container file
197</simpara></listitem></varlistentry>
198<varlistentry><term><parameter>subfile</parameter>&nbsp;:</term>
199<listitem><simpara> name of (contained) sub-file
200</simpara></listitem></varlistentry>
201<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
202</simpara></listitem></varlistentry>
203</variablelist></refsect2>
204<refsect2 id="g3d-stream-open-zip-from-stream" role="function">
205<title>g3d_stream_open_zip_from_stream ()</title>
206<indexterm zone="g3d-stream-open-zip-from-stream"><primary>g3d_stream_open_zip_from_stream</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_open_zip_from_stream (<link linkend="G3DStream">G3DStream</link> *stream,
207 const <link linkend="gchar">gchar</link> *subfile);</programlisting>
208<para>
209Open a file within a Zip archive which is opened as a stream. At the
210moment this only works for streams opened by <link linkend="g3d-stream-open-file"><function>g3d_stream_open_file()</function></link> as
211the file is directly opened again.</para>
212<para>
213
214</para><variablelist role="params">
215<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
216<listitem><simpara> stream of container file
217</simpara></listitem></varlistentry>
218<varlistentry><term><parameter>subfile</parameter>&nbsp;:</term>
219<listitem><simpara> name of (contained) sub-file
220</simpara></listitem></varlistentry>
221<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
222</simpara></listitem></varlistentry>
223</variablelist></refsect2>
224<refsect2 id="g3d-stream-open-gzip-from-stream" role="function">
225<title>g3d_stream_open_gzip_from_stream ()</title>
226<indexterm zone="g3d-stream-open-gzip-from-stream"><primary>g3d_stream_open_gzip_from_stream</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_open_gzip_from_stream (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
227<para>
228Reads data from a gzip-compressed stream.</para>
229<para>
230
231</para><variablelist role="params">
232<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
233<listitem><simpara> stream to read from
234</simpara></listitem></varlistentry>
235<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
236</simpara></listitem></varlistentry>
237</variablelist></refsect2>
238<refsect2 id="g3d-stream-from-buffer" role="function">
239<title>g3d_stream_from_buffer ()</title>
240<indexterm zone="g3d-stream-from-buffer"><primary>g3d_stream_from_buffer</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_from_buffer (<link linkend="guint8">guint8</link> *buffer,
241 <link linkend="gsize">gsize</link> size,
242 const <link linkend="gchar">gchar</link> *title,
243 <link linkend="gboolean">gboolean</link> free_buffer);</programlisting>
244<para>
245Use a buffer in memory as <link linkend="G3DStream"><type>G3DStream</type></link>.</para>
246<para>
247
248</para><variablelist role="params">
249<varlistentry><term><parameter>buffer</parameter>&nbsp;:</term>
250<listitem><simpara> memory buffer to use
251</simpara></listitem></varlistentry>
252<varlistentry><term><parameter>size</parameter>&nbsp;:</term>
253<listitem><simpara> size of buffer
254</simpara></listitem></varlistentry>
255<varlistentry><term><parameter>title</parameter>&nbsp;:</term>
256<listitem><simpara> optional title of stream, may be NULL
257</simpara></listitem></varlistentry>
258<varlistentry><term><parameter>free_buffer</parameter>&nbsp;:</term>
259<listitem><simpara> whether to free the memory with <link linkend="g-free"><function>g_free()</function></link> on <link linkend="g3d-stream-close"><function>g3d_stream_close()</function></link>
260</simpara></listitem></varlistentry>
261<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
262</simpara></listitem></varlistentry>
263</variablelist></refsect2>
264<refsect2 id="g3d-stream-zlib-inflate-stream" role="function">
265<title>g3d_stream_zlib_inflate_stream ()</title>
266<indexterm zone="g3d-stream-zlib-inflate-stream"><primary>g3d_stream_zlib_inflate_stream</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_zlib_inflate_stream (<link linkend="G3DStream">G3DStream</link> *stream,
267 <link linkend="gsize">gsize</link> cmp_size);</programlisting>
268<para>
269Opens a new stream to decompress zlib-deflated parts of a stream.</para>
270<para>
271
272</para><variablelist role="params">
273<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
274<listitem><simpara> a parent stream
275</simpara></listitem></varlistentry>
276<varlistentry><term><parameter>cmp_size</parameter>&nbsp;:</term>
277<listitem><simpara> the compressed size of the deflated part
278</simpara></listitem></varlistentry>
279<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error
280</simpara></listitem></varlistentry>
281</variablelist></refsect2>
282<refsect2 id="g3d-stream-new-custom" role="function">
283<title>g3d_stream_new_custom ()</title>
284<indexterm zone="g3d-stream-new-custom"><primary>g3d_stream_new_custom</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_new_custom (<link linkend="guint32">guint32</link> flags,
285 const <link linkend="gchar">gchar</link> *uri,
286 <link linkend="G3DStreamReadFunc">G3DStreamReadFunc</link> readfunc,
287 <link linkend="G3DStreamReadLineFunc">G3DStreamReadLineFunc</link> readlinefunc,
288 <link linkend="G3DStreamSeekFunc">G3DStreamSeekFunc</link> seekfunc,
289 <link linkend="G3DStreamTellFunc">G3DStreamTellFunc</link> tellfunc,
290 <link linkend="G3DStreamSizeFunc">G3DStreamSizeFunc</link> sizefunc,
291 <link linkend="G3DStreamEofFunc">G3DStreamEofFunc</link> eoffunc,
292 <link linkend="G3DStreamCloseFunc">G3DStreamCloseFunc</link> closefunc,
293 <link linkend="gpointer">gpointer</link> data);</programlisting>
294<para>
295Creates a new <link linkend="G3DStream"><type>G3DStream</type></link> with custom callback functions.</para>
296<para>
297
298</para><variablelist role="params">
299<varlistentry><term><parameter>flags</parameter>&nbsp;:</term>
300<listitem><simpara> stream capability flags
301</simpara></listitem></varlistentry>
302<varlistentry><term><parameter>uri</parameter>&nbsp;:</term>
303<listitem><simpara> URI of new stream, must not be NULL
304</simpara></listitem></varlistentry>
305<varlistentry><term><parameter>readfunc</parameter>&nbsp;:</term>
306<listitem><simpara> read callback function
307</simpara></listitem></varlistentry>
308<varlistentry><term><parameter>readlinefunc</parameter>&nbsp;:</term>
309<listitem><simpara> read line callback function, may be NULL in which case
310line reading is emulated with <link linkend="g3d-stream-read"><function>g3d_stream_read()</function></link>
311</simpara></listitem></varlistentry>
312<varlistentry><term><parameter>seekfunc</parameter>&nbsp;:</term>
313<listitem><simpara> seek callback function
314</simpara></listitem></varlistentry>
315<varlistentry><term><parameter>tellfunc</parameter>&nbsp;:</term>
316<listitem><simpara> tell callback function
317</simpara></listitem></varlistentry>
318<varlistentry><term><parameter>sizefunc</parameter>&nbsp;:</term>
319<listitem><simpara> size callback function
320</simpara></listitem></varlistentry>
321<varlistentry><term><parameter>eoffunc</parameter>&nbsp;:</term>
322<listitem><simpara> end-of-file callback function
323</simpara></listitem></varlistentry>
324<varlistentry><term><parameter>closefunc</parameter>&nbsp;:</term>
325<listitem><simpara> close callback function
326</simpara></listitem></varlistentry>
327<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
328<listitem><simpara> opaque data for all callback functions
329</simpara></listitem></varlistentry>
330<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
331</simpara></listitem></varlistentry>
332</variablelist></refsect2>
333<refsect2 id="g3d-stream-close" role="function">
334<title>g3d_stream_close ()</title>
335<indexterm zone="g3d-stream-close"><primary>g3d_stream_close</primary></indexterm><programlisting><link linkend="gint">gint</link> g3d_stream_close (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
336<para>
337Closes an open stream.</para>
338<para>
339
340</para><variablelist role="params">
341<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
342<listitem><simpara> the stream
343</simpara></listitem></varlistentry>
344<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> 0 on success.
345</simpara></listitem></varlistentry>
346</variablelist></refsect2>
347<refsect2 id="g3d-stream-skip" role="function">
348<title>g3d_stream_skip ()</title>
349<indexterm zone="g3d-stream-skip"><primary>g3d_stream_skip</primary></indexterm><programlisting><link linkend="gint">gint</link> g3d_stream_skip (<link linkend="G3DStream">G3DStream</link> *stream,
350 <link linkend="goffset">goffset</link> offset);</programlisting>
351<para>
352Skip a number of bytes (&gt;= 0) in stream even if it does not support
353seeking.</para>
354<para>
355
356</para><variablelist role="params">
357<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
358<listitem><simpara> stream to skip bytes from
359</simpara></listitem></varlistentry>
360<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
361<listitem><simpara> number of bytes to skip
362</simpara></listitem></varlistentry>
363<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> 0 on success, -1 else
364</simpara></listitem></varlistentry>
365</variablelist></refsect2>
366<refsect2 id="g3d-stream-seek" role="function">
367<title>g3d_stream_seek ()</title>
368<indexterm zone="g3d-stream-seek"><primary>g3d_stream_seek</primary></indexterm><programlisting><link linkend="gint">gint</link> g3d_stream_seek (<link linkend="G3DStream">G3DStream</link> *stream,
369 <link linkend="goffset">goffset</link> offset,
370 <link linkend="GSeekType">GSeekType</link> whence);</programlisting>
371<para>
372Moves around the current position in the stream.</para>
373<para>
374
375</para><variablelist role="params">
376<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
377<listitem><simpara> stream to seek in
378</simpara></listitem></varlistentry>
379<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
380<listitem><simpara> number of bytes to seek
381</simpara></listitem></varlistentry>
382<varlistentry><term><parameter>whence</parameter>&nbsp;:</term>
383<listitem><simpara> seek type
384</simpara></listitem></varlistentry>
385<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> 0 on success, -1 else
386</simpara></listitem></varlistentry>
387</variablelist></refsect2>
388<refsect2 id="g3d-stream-tell" role="function">
389<title>g3d_stream_tell ()</title>
390<indexterm zone="g3d-stream-tell"><primary>g3d_stream_tell</primary></indexterm><programlisting><link linkend="goffset">goffset</link> g3d_stream_tell (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
391<para>
392Tells the current position in the stream.</para>
393<para>
394
395</para><variablelist role="params">
396<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
397<listitem><simpara> stream to get position from
398</simpara></listitem></varlistentry>
399<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> current stream position
400</simpara></listitem></varlistentry>
401</variablelist></refsect2>
402<refsect2 id="g3d-stream-size" role="function">
403<title>g3d_stream_size ()</title>
404<indexterm zone="g3d-stream-size"><primary>g3d_stream_size</primary></indexterm><programlisting><link linkend="goffset">goffset</link> g3d_stream_size (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
405<para>
406Get the size in bytes of a stream.</para>
407<para>
408
409</para><variablelist role="params">
410<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
411<listitem><simpara> stream to get size from
412</simpara></listitem></varlistentry>
413<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> size of stream in bytes
414</simpara></listitem></varlistentry>
415</variablelist></refsect2>
416<refsect2 id="g3d-stream-eof" role="function">
417<title>g3d_stream_eof ()</title>
418<indexterm zone="g3d-stream-eof"><primary>g3d_stream_eof</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_stream_eof (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
419<para>
420Checks whether the stream has reached its end.</para>
421<para>
422
423</para><variablelist role="params">
424<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
425<listitem><simpara> the stream
426</simpara></listitem></varlistentry>
427<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE if no more data can be read, FALSE else.
428</simpara></listitem></varlistentry>
429</variablelist></refsect2>
430<refsect2 id="g3d-stream-is-seekable" role="function">
431<title>g3d_stream_is_seekable ()</title>
432<indexterm zone="g3d-stream-is-seekable"><primary>g3d_stream_is_seekable</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_stream_is_seekable (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
433<para>
434Get information whether it is possible to seek in a stream.</para>
435<para>
436
437</para><variablelist role="params">
438<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
439<listitem><simpara> the stream
440</simpara></listitem></varlistentry>
441<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE if seekable, FALSE else
442</simpara></listitem></varlistentry>
443</variablelist></refsect2>
444<refsect2 id="g3d-stream-get-uri" role="function">
445<title>g3d_stream_get_uri ()</title>
446<indexterm zone="g3d-stream-get-uri"><primary>g3d_stream_get_uri</primary></indexterm><programlisting><link linkend="gchar">gchar</link>* g3d_stream_get_uri (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
447<para>
448Get the URI of a stream</para>
449<para>
450
451</para><variablelist role="params">
452<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
453<listitem><simpara> the stream
454</simpara></listitem></varlistentry>
455<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a non-NULL, zero-terminated string containing the URI of the
456string. This return value should not be freed.
457</simpara></listitem></varlistentry>
458</variablelist></refsect2>
459<refsect2 id="g3d-stream-line" role="function">
460<title>g3d_stream_line ()</title>
461<indexterm zone="g3d-stream-line"><primary>g3d_stream_line</primary></indexterm><programlisting><link linkend="guint32">guint32</link> g3d_stream_line (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
462<para>
463Get the current line number from stream. This only works if line are
464consequently read with <link linkend="g3d-stream-read-line"><function>g3d_stream_read_line()</function></link>, so it's only applicable
465for text streams.</para>
466<para>
467
468</para><variablelist role="params">
469<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
470<listitem><simpara> stream to get line from
471</simpara></listitem></varlistentry>
472<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> current line number, may be 0
473</simpara></listitem></varlistentry>
474</variablelist></refsect2>
475<refsect2 id="g3d-stream-read" role="function">
476<title>g3d_stream_read ()</title>
477<indexterm zone="g3d-stream-read"><primary>g3d_stream_read</primary></indexterm><programlisting><link linkend="gsize">gsize</link> g3d_stream_read (<link linkend="G3DStream">G3DStream</link> *stream,
478 <link linkend="gpointer">gpointer</link> ptr,
479 <link linkend="gsize">gsize</link> size);</programlisting>
480<para>
481Reads a number of bytes from the stream.</para>
482<para>
483
484</para><variablelist role="params">
485<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
486<listitem><simpara> the stream to read from
487</simpara></listitem></varlistentry>
488<varlistentry><term><parameter>ptr</parameter>&nbsp;:</term>
489<listitem><simpara> pointer to memory storage
490</simpara></listitem></varlistentry>
491<varlistentry><term><parameter>size</parameter>&nbsp;:</term>
492<listitem><simpara> number of bytes to read
493</simpara></listitem></varlistentry>
494<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> number of bytes successfully read.
495</simpara></listitem></varlistentry>
496</variablelist></refsect2>
497<refsect2 id="g3d-stream-read-line" role="function">
498<title>g3d_stream_read_line ()</title>
499<indexterm zone="g3d-stream-read-line"><primary>g3d_stream_read_line</primary></indexterm><programlisting><link linkend="gchar">gchar</link>* g3d_stream_read_line (<link linkend="G3DStream">G3DStream</link> *stream,
500 <link linkend="gchar">gchar</link> *buf,
501 <link linkend="gsize">gsize</link> size);</programlisting>
502<para>
503Read a line (terminated by a newline character or end of file) from a
504stream.</para>
505<para>
506
507</para><variablelist role="params">
508<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
509<listitem><simpara> stream to read a line from
510</simpara></listitem></varlistentry>
511<varlistentry><term><parameter>buf</parameter>&nbsp;:</term>
512<listitem><simpara> an allocated buffer to be filled
513</simpara></listitem></varlistentry>
514<varlistentry><term><parameter>size</parameter>&nbsp;:</term>
515<listitem><simpara> maximum length of line including terminating zero
516</simpara></listitem></varlistentry>
517<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the read line or NULL in case of an error.
518</simpara></listitem></varlistentry>
519</variablelist></refsect2>
520<refsect2 id="g3d-stream-read-int8" role="function">
521<title>g3d_stream_read_int8 ()</title>
522<indexterm zone="g3d-stream-read-int8"><primary>g3d_stream_read_int8</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_stream_read_int8 (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
523<para>
524Read a 1 byte signed integer from file.</para>
525<para>
526
527</para><variablelist role="params">
528<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
529<listitem><simpara> the stream to read from
530</simpara></listitem></varlistentry>
531<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
532</simpara></listitem></varlistentry>
533</variablelist></refsect2>
534<refsect2 id="g3d-stream-read-int16-be" role="function">
535<title>g3d_stream_read_int16_be ()</title>
536<indexterm zone="g3d-stream-read-int16-be"><primary>g3d_stream_read_int16_be</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_stream_read_int16_be (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
537<para>
538Read a 2 byte big-endian signed integer from file.</para>
539<para>
540
541</para><variablelist role="params">
542<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
543<listitem><simpara> the stream to read from
544</simpara></listitem></varlistentry>
545<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
546</simpara></listitem></varlistentry>
547</variablelist></refsect2>
548<refsect2 id="g3d-stream-read-int16-le" role="function">
549<title>g3d_stream_read_int16_le ()</title>
550<indexterm zone="g3d-stream-read-int16-le"><primary>g3d_stream_read_int16_le</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_stream_read_int16_le (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
551<para>
552Read a 2 byte little-endian signed integer from file.</para>
553<para>
554
555</para><variablelist role="params">
556<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
557<listitem><simpara> the stream to read from
558</simpara></listitem></varlistentry>
559<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
560</simpara></listitem></varlistentry>
561</variablelist></refsect2>
562<refsect2 id="g3d-stream-read-int32-be" role="function">
563<title>g3d_stream_read_int32_be ()</title>
564<indexterm zone="g3d-stream-read-int32-be"><primary>g3d_stream_read_int32_be</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_stream_read_int32_be (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
565<para>
566Read a 4 byte big-endian signed integer from file.</para>
567<para>
568
569</para><variablelist role="params">
570<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
571<listitem><simpara> the stream to read from
572</simpara></listitem></varlistentry>
573<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
574</simpara></listitem></varlistentry>
575</variablelist></refsect2>
576<refsect2 id="g3d-stream-read-int32-le" role="function">
577<title>g3d_stream_read_int32_le ()</title>
578<indexterm zone="g3d-stream-read-int32-le"><primary>g3d_stream_read_int32_le</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_stream_read_int32_le (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
579<para>
580Read a 4 byte little-endian signed integer from file.</para>
581<para>
582
583</para><variablelist role="params">
584<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
585<listitem><simpara> the stream to read from
586</simpara></listitem></varlistentry>
587<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
588</simpara></listitem></varlistentry>
589</variablelist></refsect2>
590<refsect2 id="g3d-stream-read-float-be" role="function">
591<title>g3d_stream_read_float_be ()</title>
592<indexterm zone="g3d-stream-read-float-be"><primary>g3d_stream_read_float_be</primary></indexterm><programlisting><link linkend="G3DFloat">G3DFloat</link> g3d_stream_read_float_be (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
593<para>
594Read a 4 byte big-endian floating point number from file.</para>
595<para>
596
597</para><variablelist role="params">
598<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
599<listitem><simpara> the stream to read from
600</simpara></listitem></varlistentry>
601<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
602</simpara></listitem></varlistentry>
603</variablelist></refsect2>
604<refsect2 id="g3d-stream-read-float-le" role="function">
605<title>g3d_stream_read_float_le ()</title>
606<indexterm zone="g3d-stream-read-float-le"><primary>g3d_stream_read_float_le</primary></indexterm><programlisting><link linkend="G3DFloat">G3DFloat</link> g3d_stream_read_float_le (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
607<para>
608Read a 4 byte little-endian floating point number from file.</para>
609<para>
610
611</para><variablelist role="params">
612<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
613<listitem><simpara> the stream to read from
614</simpara></listitem></varlistentry>
615<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
616</simpara></listitem></varlistentry>
617</variablelist></refsect2>
618<refsect2 id="g3d-stream-read-double-be" role="function">
619<title>g3d_stream_read_double_be ()</title>
620<indexterm zone="g3d-stream-read-double-be"><primary>g3d_stream_read_double_be</primary></indexterm><programlisting><link linkend="G3DDouble">G3DDouble</link> g3d_stream_read_double_be (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
621<para>
622Read a 8 byte big-endian double-precision floating point number from file.</para>
623<para>
624
625</para><variablelist role="params">
626<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
627<listitem><simpara> the stream to read from
628</simpara></listitem></varlistentry>
629<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
630</simpara></listitem></varlistentry>
631</variablelist></refsect2>
632<refsect2 id="g3d-stream-read-double-le" role="function">
633<title>g3d_stream_read_double_le ()</title>
634<indexterm zone="g3d-stream-read-double-le"><primary>g3d_stream_read_double_le</primary></indexterm><programlisting><link linkend="G3DDouble">G3DDouble</link> g3d_stream_read_double_le (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
635<para>
636Read a 8 byte little-endian double-precision floating point number from
637file.</para>
638<para>
639
640</para><variablelist role="params">
641<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
642<listitem><simpara> the stream to read from
643</simpara></listitem></varlistentry>
644<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
645</simpara></listitem></varlistentry>
646</variablelist></refsect2>
647<refsect2 id="g3d-stream-read-cstr" role="function">
648<title>g3d_stream_read_cstr ()</title>
649<indexterm zone="g3d-stream-read-cstr"><primary>g3d_stream_read_cstr</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_stream_read_cstr (<link linkend="G3DStream">G3DStream</link> *stream,
650 <link linkend="gchar">gchar</link> *buffer,
651 <link linkend="gint32">gint32</link> max_len);</programlisting>
652<para>
653Read a string (terminated by '\0') from stream</para>
654<para>
655
656</para><variablelist role="params">
657<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
658<listitem><simpara> the stream to read from
659</simpara></listitem></varlistentry>
660<varlistentry><term><parameter>buffer</parameter>&nbsp;:</term>
661<listitem><simpara> the buffer to fill
662</simpara></listitem></varlistentry>
663<varlistentry><term><parameter>max_len</parameter>&nbsp;:</term>
664<listitem><simpara> maximum number to read from stream
665</simpara></listitem></varlistentry>
666<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> number of bytes read from stream
667</simpara></listitem></varlistentry>
668</variablelist></refsect2>
669<refsect2 id="G3DStreamCloseFunc" role="function">
670<title>G3DStreamCloseFunc ()</title>
671<indexterm zone="G3DStreamCloseFunc"><primary>G3DStreamCloseFunc</primary></indexterm><programlisting><link linkend="gint">gint</link> (*G3DStreamCloseFunc) (<link linkend="gpointer">gpointer</link> data);</programlisting>
672<para>
673Callback function for <link linkend="g3d-stream-close"><function>g3d_stream_close()</function></link>.</para>
674<para>
675
676</para><variablelist role="params">
677<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
678<listitem><simpara> opaque stream data
679</simpara></listitem></varlistentry>
680<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> 0 on success, -1 else.
681</simpara></listitem></varlistentry>
682</variablelist></refsect2>
683<refsect2 id="G3DStreamEofFunc" role="function">
684<title>G3DStreamEofFunc ()</title>
685<indexterm zone="G3DStreamEofFunc"><primary>G3DStreamEofFunc</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> (*G3DStreamEofFunc) (<link linkend="gpointer">gpointer</link> data);</programlisting>
686<para>
687Callback function for <link linkend="g3d-stream-eof"><function>g3d_stream_eof()</function></link>.</para>
688<para>
689
690</para><variablelist role="params">
691<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
692<listitem><simpara> opaque stream data
693</simpara></listitem></varlistentry>
694<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on stream end-of-file, FALSE else.
695</simpara></listitem></varlistentry>
696</variablelist></refsect2>
697<refsect2 id="G3DStreamReadFunc" role="function">
698<title>G3DStreamReadFunc ()</title>
699<indexterm zone="G3DStreamReadFunc"><primary>G3DStreamReadFunc</primary></indexterm><programlisting><link linkend="gsize">gsize</link> (*G3DStreamReadFunc) (<link linkend="gpointer">gpointer</link> ptr,
700 <link linkend="gsize">gsize</link> size,
701 <link linkend="gpointer">gpointer</link> data);</programlisting>
702<para>
703Callback function for <link linkend="g3d-stream-read"><function>g3d_stream_read()</function></link>.</para>
704<para>
705
706</para><variablelist role="params">
707<varlistentry><term><parameter>ptr</parameter>&nbsp;:</term>
708<listitem><simpara> buffer to read bytes into
709</simpara></listitem></varlistentry>
710<varlistentry><term><parameter>size</parameter>&nbsp;:</term>
711<listitem><simpara> number of bytes to read
712</simpara></listitem></varlistentry>
713<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
714<listitem><simpara> opaque stream data
715</simpara></listitem></varlistentry>
716<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> number of bytes actually read.
717</simpara></listitem></varlistentry>
718</variablelist></refsect2>
719<refsect2 id="G3DStreamReadLineFunc" role="function">
720<title>G3DStreamReadLineFunc ()</title>
721<indexterm zone="G3DStreamReadLineFunc"><primary>G3DStreamReadLineFunc</primary></indexterm><programlisting><link linkend="gchar">gchar</link>* (*G3DStreamReadLineFunc) (<link linkend="gchar">gchar</link> *buf,
722 <link linkend="gsize">gsize</link> size,
723 <link linkend="gpointer">gpointer</link> data);</programlisting>
724<para>
725Callback function for <link linkend="g3d-stream-read-line"><function>g3d_stream_read_line()</function></link>.</para>
726<para>
727
728</para><variablelist role="params">
729<varlistentry><term><parameter>buf</parameter>&nbsp;:</term>
730<listitem><simpara> buffer to read bytes into
731</simpara></listitem></varlistentry>
732<varlistentry><term><parameter>size</parameter>&nbsp;:</term>
733<listitem><simpara> maximum size of buffer
734</simpara></listitem></varlistentry>
735<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
736<listitem><simpara> opaque stream data
737</simpara></listitem></varlistentry>
738<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The line buffer or NULL in case of an error.
739</simpara></listitem></varlistentry>
740</variablelist></refsect2>
741<refsect2 id="G3DStreamSeekFunc" role="function">
742<title>G3DStreamSeekFunc ()</title>
743<indexterm zone="G3DStreamSeekFunc"><primary>G3DStreamSeekFunc</primary></indexterm><programlisting><link linkend="gint">gint</link> (*G3DStreamSeekFunc) (<link linkend="gpointer">gpointer</link> data,
744 <link linkend="goffset">goffset</link> offset,
745 <link linkend="GSeekType">GSeekType</link> whence);</programlisting>
746<para>
747Callback function for <link linkend="g3d-stream-seek"><function>g3d_stream_seek()</function></link>.</para>
748<para>
749
750</para><variablelist role="params">
751<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
752<listitem><simpara> opaque stream data
753</simpara></listitem></varlistentry>
754<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
755<listitem><simpara> seek offset
756</simpara></listitem></varlistentry>
757<varlistentry><term><parameter>whence</parameter>&nbsp;:</term>
758<listitem><simpara> seek type
759</simpara></listitem></varlistentry>
760<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> 0 on success, -1 else.
761</simpara></listitem></varlistentry>
762</variablelist></refsect2>
763<refsect2 id="G3DStreamSizeFunc" role="function">
764<title>G3DStreamSizeFunc ()</title>
765<indexterm zone="G3DStreamSizeFunc"><primary>G3DStreamSizeFunc</primary></indexterm><programlisting><link linkend="goffset">goffset</link> (*G3DStreamSizeFunc) (<link linkend="gpointer">gpointer</link> data);</programlisting>
766<para>
767Callback function for <link linkend="g3d-stream-size"><function>g3d_stream_size()</function></link>.</para>
768<para>
769
770</para><variablelist role="params">
771<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
772<listitem><simpara> opaque stream data
773</simpara></listitem></varlistentry>
774<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> size of stream.
775</simpara></listitem></varlistentry>
776</variablelist></refsect2>
777<refsect2 id="G3DStreamTellFunc" role="function">
778<title>G3DStreamTellFunc ()</title>
779<indexterm zone="G3DStreamTellFunc"><primary>G3DStreamTellFunc</primary></indexterm><programlisting><link linkend="goffset">goffset</link> (*G3DStreamTellFunc) (<link linkend="gpointer">gpointer</link> data);</programlisting>
780<para>
781Callback function for <link linkend="g3d-stream-tell"><function>g3d_stream_tell()</function></link>.</para>
782<para>
783
784</para><variablelist role="params">
785<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
786<listitem><simpara> opaque stream data
787</simpara></listitem></varlistentry>
788<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> current stream position.
789</simpara></listitem></varlistentry>
790</variablelist></refsect2>
791
792</refsect1>
793
794
795
796<refsect1 id="libg3d-stream.see-also">
797<title>See Also</title>
798<link linkend="G3DStream"><type>G3DStream</type></link>
799</refsect1>
800
801</refentry>