1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>GMimeStream</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GMime 2.6 Reference Manual">
8 <link rel="up" href="Streams.html" title="Streams">
9 <link rel="prev" href="Streams.html" title="Streams">
10 <link rel="next" href="GMimeStreamFile.html" title="GMimeStreamFile">
11 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17 <td><a accesskey="p" href="Streams.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="Streams.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GMime 2.6 Reference Manual</th>
21 <td><a accesskey="n" href="GMimeStreamFile.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#GMimeStream.synopsis" class="shortcut">Top</a>
26 <a href="#GMimeStream.description" class="shortcut">Description</a>
28 <a href="#GMimeStream.object-hierarchy" class="shortcut">Object Hierarchy</a>
31 <div class="refentry">
32 <a name="GMimeStream"></a><div class="titlepage"></div>
33 <div class="refnamediv"><table width="100%"><tr>
35 <h2><span class="refentrytitle"><a name="GMimeStream.top_of_page"></a>GMimeStream</span></h2>
36 <p>GMimeStream — Abstract stream class</p>
38 <td valign="top" align="right"></td>
40 <div class="refsynopsisdiv">
41 <a name="GMimeStream.synopsis"></a><h2>Synopsis</h2>
42 <pre class="synopsis">enum <a class="link" href="GMimeStream.html#GMimeSeekWhence" title="enum GMimeSeekWhence">GMimeSeekWhence</a>;
43 <a class="link" href="GMimeStream.html#GMimeStreamIOVector" title="GMimeStreamIOVector">GMimeStreamIOVector</a>;
44 struct <a class="link" href="GMimeStream.html#GMimeStream-struct" title="struct GMimeStream">GMimeStream</a>;
45 <span class="returnvalue">void</span> <a class="link" href="GMimeStream.html#g-mime-stream-construct" title="g_mime_stream_construct ()">g_mime_stream_construct</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
46 <em class="parameter"><code><span class="type">gint64</span> start</code></em>,
47 <em class="parameter"><code><span class="type">gint64</span> end</code></em>);
48 <span class="returnvalue">ssize_t</span> <a class="link" href="GMimeStream.html#g-mime-stream-read" title="g_mime_stream_read ()">g_mime_stream_read</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
49 <em class="parameter"><code><span class="type">char</span> *buf</code></em>,
50 <em class="parameter"><code><span class="type">size_t</span> len</code></em>);
51 <span class="returnvalue">ssize_t</span> <a class="link" href="GMimeStream.html#g-mime-stream-write" title="g_mime_stream_write ()">g_mime_stream_write</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
52 <em class="parameter"><code>const <span class="type">char</span> *buf</code></em>,
53 <em class="parameter"><code><span class="type">size_t</span> len</code></em>);
54 <span class="returnvalue">int</span> <a class="link" href="GMimeStream.html#g-mime-stream-flush" title="g_mime_stream_flush ()">g_mime_stream_flush</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>);
55 <span class="returnvalue">gint64</span> <a class="link" href="GMimeStream.html#g-mime-stream-seek" title="g_mime_stream_seek ()">g_mime_stream_seek</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
56 <em class="parameter"><code><span class="type">gint64</span> offset</code></em>,
57 <em class="parameter"><code><a class="link" href="GMimeStream.html#GMimeSeekWhence" title="enum GMimeSeekWhence"><span class="type">GMimeSeekWhence</span></a> whence</code></em>);
58 <span class="returnvalue">gint64</span> <a class="link" href="GMimeStream.html#g-mime-stream-tell" title="g_mime_stream_tell ()">g_mime_stream_tell</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>);
59 <span class="returnvalue">int</span> <a class="link" href="GMimeStream.html#g-mime-stream-reset" title="g_mime_stream_reset ()">g_mime_stream_reset</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>);
60 <span class="returnvalue">gboolean</span> <a class="link" href="GMimeStream.html#g-mime-stream-eos" title="g_mime_stream_eos ()">g_mime_stream_eos</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>);
61 <span class="returnvalue">int</span> <a class="link" href="GMimeStream.html#g-mime-stream-close" title="g_mime_stream_close ()">g_mime_stream_close</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>);
62 <span class="returnvalue">gint64</span> <a class="link" href="GMimeStream.html#g-mime-stream-length" title="g_mime_stream_length ()">g_mime_stream_length</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>);
63 <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="returnvalue">GMimeStream</span></a> * <a class="link" href="GMimeStream.html#g-mime-stream-substream" title="g_mime_stream_substream ()">g_mime_stream_substream</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
64 <em class="parameter"><code><span class="type">gint64</span> start</code></em>,
65 <em class="parameter"><code><span class="type">gint64</span> end</code></em>);
66 <span class="returnvalue">void</span> <a class="link" href="GMimeStream.html#g-mime-stream-set-bounds" title="g_mime_stream_set_bounds ()">g_mime_stream_set_bounds</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
67 <em class="parameter"><code><span class="type">gint64</span> start</code></em>,
68 <em class="parameter"><code><span class="type">gint64</span> end</code></em>);
69 <span class="returnvalue">ssize_t</span> <a class="link" href="GMimeStream.html#g-mime-stream-write-string" title="g_mime_stream_write_string ()">g_mime_stream_write_string</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
70 <em class="parameter"><code>const <span class="type">char</span> *str</code></em>);
71 <span class="returnvalue">ssize_t</span> <a class="link" href="GMimeStream.html#g-mime-stream-printf" title="g_mime_stream_printf ()">g_mime_stream_printf</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
72 <em class="parameter"><code>const <span class="type">char</span> *fmt</code></em>,
73 <em class="parameter"><code>...</code></em>);
74 <span class="returnvalue">ssize_t</span> <a class="link" href="GMimeStream.html#g-mime-stream-write-to-stream" title="g_mime_stream_write_to_stream ()">g_mime_stream_write_to_stream</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *src</code></em>,
75 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *dest</code></em>);
76 <span class="returnvalue">ssize_t</span> <a class="link" href="GMimeStream.html#g-mime-stream-writev" title="g_mime_stream_writev ()">g_mime_stream_writev</a> (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
77 <em class="parameter"><code><a class="link" href="GMimeStream.html#GMimeStreamIOVector" title="GMimeStreamIOVector"><span class="type">GMimeStreamIOVector</span></a> *vector</code></em>,
78 <em class="parameter"><code><span class="type">size_t</span> count</code></em>);
81 <div class="refsect1">
82 <a name="GMimeStream.object-hierarchy"></a><h2>Object Hierarchy</h2>
83 <pre class="synopsis">
86 +----<a class="link" href="GMimeStreamBuffer.html" title="GMimeStreamBuffer">GMimeStreamBuffer</a>
87 +----<a class="link" href="GMimeStreamCat.html" title="GMimeStreamCat">GMimeStreamCat</a>
88 +----<a class="link" href="GMimeStreamFile.html" title="GMimeStreamFile">GMimeStreamFile</a>
89 +----<a class="link" href="GMimeStreamFilter.html" title="GMimeStreamFilter">GMimeStreamFilter</a>
90 +----<a class="link" href="GMimeStreamFs.html" title="GMimeStreamFs">GMimeStreamFs</a>
91 +----<a class="link" href="GMimeStreamMem.html" title="GMimeStreamMem">GMimeStreamMem</a>
92 +----<a class="link" href="GMimeStreamMmap.html" title="GMimeStreamMmap">GMimeStreamMmap</a>
93 +----<a class="link" href="GMimeStreamNull.html" title="GMimeStreamNull">GMimeStreamNull</a>
94 +----<a class="link" href="GMimeStreamPipe.html" title="GMimeStreamPipe">GMimeStreamPipe</a>
97 <div class="refsect1">
98 <a name="GMimeStream.description"></a><h2>Description</h2>
100 Streams are the fundamental method for reading and writing data
101 used by GMime. You'll probably notice that the basic API is similar
102 to that of the low-level Unix I/O layer (<code class="function">read()</code>, <code class="function">write()</code>, <code class="function">lseek()</code>,
103 etc) with some additional nicities such as a printf-like function.
106 <div class="refsect1">
107 <a name="GMimeStream.details"></a><h2>Details</h2>
108 <div class="refsect2">
109 <a name="GMimeSeekWhence"></a><h3>enum GMimeSeekWhence</h3>
110 <pre class="programlisting">typedef enum {
111 GMIME_STREAM_SEEK_SET = SEEK_SET,
112 GMIME_STREAM_SEEK_CUR = SEEK_CUR,
113 GMIME_STREAM_SEEK_END = SEEK_END
117 Relative seek position.
119 <div class="variablelist"><table border="0">
120 <col align="left" valign="top">
123 <td><p><a name="GMIME-STREAM-SEEK-SET:CAPS"></a><span class="term"><code class="literal">GMIME_STREAM_SEEK_SET</code></span></p></td>
124 <td>Seek relative to the beginning of the stream.
128 <td><p><a name="GMIME-STREAM-SEEK-CUR:CAPS"></a><span class="term"><code class="literal">GMIME_STREAM_SEEK_CUR</code></span></p></td>
129 <td>Seek relative to the current position in the stream.
133 <td><p><a name="GMIME-STREAM-SEEK-END:CAPS"></a><span class="term"><code class="literal">GMIME_STREAM_SEEK_END</code></span></p></td>
134 <td>Seek relative to the end of the stream.
141 <div class="refsect2">
142 <a name="GMimeStreamIOVector"></a><h3>GMimeStreamIOVector</h3>
143 <pre class="programlisting">typedef struct {
146 } GMimeStreamIOVector;
149 An I/O vector for use with <a class="link" href="GMimeStream.html#g-mime-stream-writev" title="g_mime_stream_writev ()"><code class="function">g_mime_stream_writev()</code></a>.
151 <div class="variablelist"><table border="0">
152 <col align="left" valign="top">
155 <td><p><span class="term"><span class="type">void</span> *<em class="structfield"><code><a name="GMimeStreamIOVector.data"></a>data</code></em>;</span></p></td>
156 <td>data to pass to the I/O function.</td>
159 <td><p><span class="term"><span class="type">size_t</span> <em class="structfield"><code><a name="GMimeStreamIOVector.len"></a>len</code></em>;</span></p></td>
160 <td>length of the data, in bytes.</td>
166 <div class="refsect2">
167 <a name="GMimeStream-struct"></a><h3>struct GMimeStream</h3>
168 <pre class="programlisting">struct GMimeStream;</pre>
170 Abstract I/O stream class.
172 <div class="variablelist"><table border="0">
173 <col align="left" valign="top">
178 <div class="refsect2">
179 <a name="g-mime-stream-construct"></a><h3>g_mime_stream_construct ()</h3>
180 <pre class="programlisting"><span class="returnvalue">void</span> g_mime_stream_construct (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
181 <em class="parameter"><code><span class="type">gint64</span> start</code></em>,
182 <em class="parameter"><code><span class="type">gint64</span> end</code></em>);</pre>
184 Initializes a new stream with bounds <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em>.
186 <div class="variablelist"><table border="0">
187 <col align="left" valign="top">
190 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
191 <td>a <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a>
195 <td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
196 <td>start boundary</td>
199 <td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
200 <td>end boundary</td>
206 <div class="refsect2">
207 <a name="g-mime-stream-read"></a><h3>g_mime_stream_read ()</h3>
208 <pre class="programlisting"><span class="returnvalue">ssize_t</span> g_mime_stream_read (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
209 <em class="parameter"><code><span class="type">char</span> *buf</code></em>,
210 <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre>
212 Attempts to read up to <em class="parameter"><code>len</code></em> bytes from <em class="parameter"><code>stream</code></em> into <em class="parameter"><code>buf</code></em>.
214 <div class="variablelist"><table border="0">
215 <col align="left" valign="top">
218 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
219 <td>a <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a>
223 <td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
227 <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
228 <td>buffer length</td>
231 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
232 <td>the number of bytes read or <code class="literal">-1</code> on fail.</td>
238 <div class="refsect2">
239 <a name="g-mime-stream-write"></a><h3>g_mime_stream_write ()</h3>
240 <pre class="programlisting"><span class="returnvalue">ssize_t</span> g_mime_stream_write (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
241 <em class="parameter"><code>const <span class="type">char</span> *buf</code></em>,
242 <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre>
244 Attempts to write up to <em class="parameter"><code>len</code></em> bytes of <em class="parameter"><code>buf</code></em> to <em class="parameter"><code>stream</code></em>.
246 <div class="variablelist"><table border="0">
247 <col align="left" valign="top">
250 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
251 <td>a <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a>
255 <td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
259 <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
260 <td>buffer length</td>
263 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
264 <td>the number of bytes written or <code class="literal">-1</code> on fail.</td>
270 <div class="refsect2">
271 <a name="g-mime-stream-flush"></a><h3>g_mime_stream_flush ()</h3>
272 <pre class="programlisting"><span class="returnvalue">int</span> g_mime_stream_flush (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>);</pre>
274 Sync's the stream to disk.
276 <div class="variablelist"><table border="0">
277 <col align="left" valign="top">
280 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
281 <td>a <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a>
285 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
287 <code class="literal">0</code> on success or <code class="literal">-1</code> on fail.</td>
293 <div class="refsect2">
294 <a name="g-mime-stream-seek"></a><h3>g_mime_stream_seek ()</h3>
295 <pre class="programlisting"><span class="returnvalue">gint64</span> g_mime_stream_seek (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
296 <em class="parameter"><code><span class="type">gint64</span> offset</code></em>,
297 <em class="parameter"><code><a class="link" href="GMimeStream.html#GMimeSeekWhence" title="enum GMimeSeekWhence"><span class="type">GMimeSeekWhence</span></a> whence</code></em>);</pre>
299 Repositions the offset of the stream <em class="parameter"><code>stream</code></em> to
300 the argument <em class="parameter"><code>offset</code></em> according to the
301 directive <em class="parameter"><code>whence</code></em> as follows:
304 <a class="link" href="GMimeStream.html#GMIME-STREAM-SEEK-SET:CAPS"><span class="type">GMIME_STREAM_SEEK_SET</span></a>: Seek <em class="parameter"><code>offset</code></em> bytes relative to
305 the beginning (bound_start) of the stream.
308 <a class="link" href="GMimeStream.html#GMIME-STREAM-SEEK-CUR:CAPS"><span class="type">GMIME_STREAM_SEEK_CUR</span></a>: Seek <em class="parameter"><code>offset</code></em> bytes relative to the
309 current offset of the stream.
312 <a class="link" href="GMimeStream.html#GMIME-STREAM-SEEK-END:CAPS"><span class="type">GMIME_STREAM_SEEK_END</span></a>: Seek <em class="parameter"><code>offset</code></em> bytes relative to the
313 end of the stream (bound_end if non-negative).
315 <div class="variablelist"><table border="0">
316 <col align="left" valign="top">
319 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
320 <td>a <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a>
324 <td><p><span class="term"><em class="parameter"><code>offset</code></em> :</span></p></td>
325 <td>positional offset</td>
328 <td><p><span class="term"><em class="parameter"><code>whence</code></em> :</span></p></td>
329 <td>seek directive</td>
332 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
333 <td>the resultant position on success or <code class="literal">-1</code> on fail.</td>
339 <div class="refsect2">
340 <a name="g-mime-stream-tell"></a><h3>g_mime_stream_tell ()</h3>
341 <pre class="programlisting"><span class="returnvalue">gint64</span> g_mime_stream_tell (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>);</pre>
343 Gets the current offset within the stream.
345 <div class="variablelist"><table border="0">
346 <col align="left" valign="top">
349 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
350 <td>a <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a>
354 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
355 <td>the current position within the stream or <code class="literal">-1</code> on fail.</td>
361 <div class="refsect2">
362 <a name="g-mime-stream-reset"></a><h3>g_mime_stream_reset ()</h3>
363 <pre class="programlisting"><span class="returnvalue">int</span> g_mime_stream_reset (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>);</pre>
367 <div class="variablelist"><table border="0">
368 <col align="left" valign="top">
371 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
372 <td>a <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a>
376 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
378 <code class="literal">0</code> on success or <code class="literal">-1</code> on fail.</td>
384 <div class="refsect2">
385 <a name="g-mime-stream-eos"></a><h3>g_mime_stream_eos ()</h3>
386 <pre class="programlisting"><span class="returnvalue">gboolean</span> g_mime_stream_eos (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>);</pre>
388 Tests the end-of-stream indicator for <em class="parameter"><code>stream</code></em>.
390 <div class="variablelist"><table border="0">
391 <col align="left" valign="top">
394 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
395 <td>a <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a>
399 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
401 <code class="literal">TRUE</code> on EOS or <code class="literal">FALSE</code> otherwise.</td>
407 <div class="refsect2">
408 <a name="g-mime-stream-close"></a><h3>g_mime_stream_close ()</h3>
409 <pre class="programlisting"><span class="returnvalue">int</span> g_mime_stream_close (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>);</pre>
413 <div class="variablelist"><table border="0">
414 <col align="left" valign="top">
417 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
418 <td>a <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a>
422 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
424 <code class="literal">0</code> on success or <code class="literal">-1</code> on fail.</td>
430 <div class="refsect2">
431 <a name="g-mime-stream-length"></a><h3>g_mime_stream_length ()</h3>
432 <pre class="programlisting"><span class="returnvalue">gint64</span> g_mime_stream_length (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>);</pre>
434 Gets the length of the stream.
436 <div class="variablelist"><table border="0">
437 <col align="left" valign="top">
440 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
441 <td>a <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a>
445 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
446 <td>the length of the stream or <code class="literal">-1</code> if unknown.</td>
452 <div class="refsect2">
453 <a name="g-mime-stream-substream"></a><h3>g_mime_stream_substream ()</h3>
454 <pre class="programlisting"><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="returnvalue">GMimeStream</span></a> * g_mime_stream_substream (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
455 <em class="parameter"><code><span class="type">gint64</span> start</code></em>,
456 <em class="parameter"><code><span class="type">gint64</span> end</code></em>);</pre>
458 Creates a new substream of <em class="parameter"><code>stream</code></em> with bounds <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em>.
460 <div class="variablelist"><table border="0">
461 <col align="left" valign="top">
464 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
465 <td>a <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a>
469 <td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
470 <td>start boundary</td>
473 <td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
474 <td>end boundary</td>
477 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
478 <td>a substream of <em class="parameter"><code>stream</code></em> with bounds <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em>.</td>
484 <div class="refsect2">
485 <a name="g-mime-stream-set-bounds"></a><h3>g_mime_stream_set_bounds ()</h3>
486 <pre class="programlisting"><span class="returnvalue">void</span> g_mime_stream_set_bounds (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
487 <em class="parameter"><code><span class="type">gint64</span> start</code></em>,
488 <em class="parameter"><code><span class="type">gint64</span> end</code></em>);</pre>
490 Set the bounds on a stream.
492 <div class="variablelist"><table border="0">
493 <col align="left" valign="top">
496 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
497 <td>a <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a>
501 <td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
502 <td>start boundary</td>
505 <td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
506 <td>end boundary</td>
512 <div class="refsect2">
513 <a name="g-mime-stream-write-string"></a><h3>g_mime_stream_write_string ()</h3>
514 <pre class="programlisting"><span class="returnvalue">ssize_t</span> g_mime_stream_write_string (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
515 <em class="parameter"><code>const <span class="type">char</span> *str</code></em>);</pre>
517 Writes <em class="parameter"><code>string</code></em> to <em class="parameter"><code>stream</code></em>.
519 <div class="variablelist"><table border="0">
520 <col align="left" valign="top">
523 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
524 <td>a <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a>
528 <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
529 <td>string to write</td>
532 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
533 <td>the number of bytes written or <code class="literal">-1</code> on fail.</td>
539 <div class="refsect2">
540 <a name="g-mime-stream-printf"></a><h3>g_mime_stream_printf ()</h3>
541 <pre class="programlisting"><span class="returnvalue">ssize_t</span> g_mime_stream_printf (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
542 <em class="parameter"><code>const <span class="type">char</span> *fmt</code></em>,
543 <em class="parameter"><code>...</code></em>);</pre>
545 Write formatted output to a stream.
547 <div class="variablelist"><table border="0">
548 <col align="left" valign="top">
551 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
552 <td>a <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a>
556 <td><p><span class="term"><em class="parameter"><code>fmt</code></em> :</span></p></td>
560 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
561 <td>the number of bytes written or <code class="literal">-1</code> on fail.</td>
567 <div class="refsect2">
568 <a name="g-mime-stream-write-to-stream"></a><h3>g_mime_stream_write_to_stream ()</h3>
569 <pre class="programlisting"><span class="returnvalue">ssize_t</span> g_mime_stream_write_to_stream (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *src</code></em>,
570 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *dest</code></em>);</pre>
572 Attempts to write the source stream to the destination stream.
574 <div class="variablelist"><table border="0">
575 <col align="left" valign="top">
578 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
579 <td>source stream</td>
582 <td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
583 <td>destination stream</td>
586 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
587 <td>the number of bytes written or <code class="literal">-1</code> on fail.</td>
593 <div class="refsect2">
594 <a name="g-mime-stream-writev"></a><h3>g_mime_stream_writev ()</h3>
595 <pre class="programlisting"><span class="returnvalue">ssize_t</span> g_mime_stream_writev (<em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *stream</code></em>,
596 <em class="parameter"><code><a class="link" href="GMimeStream.html#GMimeStreamIOVector" title="GMimeStreamIOVector"><span class="type">GMimeStreamIOVector</span></a> *vector</code></em>,
597 <em class="parameter"><code><span class="type">size_t</span> count</code></em>);</pre>
599 Writes at most <em class="parameter"><code>count</code></em> blocks described by <em class="parameter"><code>vector</code></em> to <em class="parameter"><code>stream</code></em>.
601 <div class="variablelist"><table border="0">
602 <col align="left" valign="top">
605 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
606 <td>a <a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a>
610 <td><p><span class="term"><em class="parameter"><code>vector</code></em> :</span></p></td>
611 <td>a <a class="link" href="GMimeStream.html#GMimeStreamIOVector" title="GMimeStreamIOVector"><span class="type">GMimeStreamIOVector</span></a>
615 <td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
616 <td>number of vector elements</td>
619 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
620 <td>the number of bytes written or <code class="literal">-1</code> on fail.</td>
629 Generated by GTK-Doc V1.18</div>