Update to version 2.33.1
[profile/ivi/glib2.git] / docs / reference / gio / html / GBufferedInputStream.html
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>GBufferedInputStream</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GIO Reference Manual">
8 <link rel="up" href="streaming.html" title="Streaming I/O">
9 <link rel="prev" href="GMemoryOutputStream.html" title="GMemoryOutputStream">
10 <link rel="next" href="GBufferedOutputStream.html" title="GBufferedOutputStream">
11 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
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">
16 <tr valign="middle">
17 <td><a accesskey="p" href="GMemoryOutputStream.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="streaming.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">GIO Reference Manual</th>
21 <td><a accesskey="n" href="GBufferedOutputStream.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#GBufferedInputStream.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#GBufferedInputStream.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#GBufferedInputStream.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#GBufferedInputStream.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
31                    | 
32                   <a href="#GBufferedInputStream.properties" class="shortcut">Properties</a>
33 </td></tr>
34 </table>
35 <div class="refentry">
36 <a name="GBufferedInputStream"></a><div class="titlepage"></div>
37 <div class="refnamediv"><table width="100%"><tr>
38 <td valign="top">
39 <h2><span class="refentrytitle"><a name="GBufferedInputStream.top_of_page"></a>GBufferedInputStream</span></h2>
40 <p>GBufferedInputStream — Buffered Input Stream</p>
41 </td>
42 <td valign="top" align="right"></td>
43 </tr></table></div>
44 <div class="refsynopsisdiv">
45 <a name="GBufferedInputStream.synopsis"></a><h2>Synopsis</h2>
46 <pre class="synopsis">
47 #include &lt;gio/gio.h&gt;
48
49                     <a class="link" href="GBufferedInputStream.html#GBufferedInputStream-struct" title="GBufferedInputStream">GBufferedInputStream</a>;
50 <a class="link" href="GInputStream.html" title="GInputStream"><span class="returnvalue">GInputStream</span></a> *      <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-new" title="g_buffered_input_stream_new ()">g_buffered_input_stream_new</a>         (<em class="parameter"><code><a class="link" href="GInputStream.html" title="GInputStream"><span class="type">GInputStream</span></a> *base_stream</code></em>);
51 <a class="link" href="GInputStream.html" title="GInputStream"><span class="returnvalue">GInputStream</span></a> *      <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-new-sized" title="g_buffered_input_stream_new_sized ()">g_buffered_input_stream_new_sized</a>   (<em class="parameter"><code><a class="link" href="GInputStream.html" title="GInputStream"><span class="type">GInputStream</span></a> *base_stream</code></em>,
52                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>);
53 <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>               <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-get-buffer-size" title="g_buffered_input_stream_get_buffer_size ()">g_buffered_input_stream_get_buffer_size</a>
54                                                         (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>);
55 <span class="returnvalue">void</span>                <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-set-buffer-size" title="g_buffered_input_stream_set_buffer_size ()">g_buffered_input_stream_set_buffer_size</a>
56                                                         (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>,
57                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>);
58 <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>               <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-get-available" title="g_buffered_input_stream_get_available ()">g_buffered_input_stream_get_available</a>
59                                                         (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>);
60 const <span class="returnvalue">void</span> *        <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-peek-buffer" title="g_buffered_input_stream_peek_buffer ()">g_buffered_input_stream_peek_buffer</a> (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>,
61                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *count</code></em>);
62 <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>               <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-peek" title="g_buffered_input_stream_peek ()">g_buffered_input_stream_peek</a>        (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>,
63                                                          <em class="parameter"><code><span class="type">void</span> *buffer</code></em>,
64                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> offset</code></em>,
65                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> count</code></em>);
66 <a href="./../glib/glib/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a>              <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-fill" title="g_buffered_input_stream_fill ()">g_buffered_input_stream_fill</a>        (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>,
67                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> count</code></em>,
68                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
69                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
70 <span class="returnvalue">void</span>                <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-fill-async" title="g_buffered_input_stream_fill_async ()">g_buffered_input_stream_fill_async</a>  (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>,
71                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> count</code></em>,
72                                                          <em class="parameter"><code><span class="type">int</span> io_priority</code></em>,
73                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
74                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
75                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
76 <a href="./../glib/glib/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a>              <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-fill-finish" title="g_buffered_input_stream_fill_finish ()">g_buffered_input_stream_fill_finish</a> (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>,
77                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
78                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
79 <span class="returnvalue">int</span>                 <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-read-byte" title="g_buffered_input_stream_read_byte ()">g_buffered_input_stream_read_byte</a>   (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>,
80                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
81                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
82 </pre>
83 </div>
84 <div class="refsect1">
85 <a name="GBufferedInputStream.object-hierarchy"></a><h2>Object Hierarchy</h2>
86 <pre class="synopsis">
87   <a href="./../gobject/gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a>
88    +----<a class="link" href="GInputStream.html" title="GInputStream">GInputStream</a>
89          +----<a class="link" href="GFilterInputStream.html" title="GFilterInputStream">GFilterInputStream</a>
90                +----GBufferedInputStream
91                      +----<a class="link" href="GDataInputStream.html" title="GDataInputStream">GDataInputStream</a>
92 </pre>
93 </div>
94 <div class="refsect1">
95 <a name="GBufferedInputStream.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
96 <p>
97 GBufferedInputStream implements
98  <a class="link" href="GSeekable.html" title="GSeekable">GSeekable</a>.</p>
99 </div>
100 <div class="refsect1">
101 <a name="GBufferedInputStream.properties"></a><h2>Properties</h2>
102 <pre class="synopsis">
103   "<a class="link" href="GBufferedInputStream.html#GBufferedInputStream--buffer-size" title='The "buffer-size" property'>buffer-size</a>"              <a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write / Construct
104 </pre>
105 </div>
106 <div class="refsect1">
107 <a name="GBufferedInputStream.description"></a><h2>Description</h2>
108 <p>
109 Buffered input stream implements <a class="link" href="GFilterInputStream.html" title="GFilterInputStream"><span class="type">GFilterInputStream</span></a> and provides
110 for buffered reads.
111 </p>
112 <p>
113 By default, <a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a>'s buffer size is set at 4 kilobytes.
114 </p>
115 <p>
116 To create a buffered input stream, use <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-new" title="g_buffered_input_stream_new ()"><code class="function">g_buffered_input_stream_new()</code></a>,
117 or <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-new-sized" title="g_buffered_input_stream_new_sized ()"><code class="function">g_buffered_input_stream_new_sized()</code></a> to specify the buffer's size at
118 construction.
119 </p>
120 <p>
121 To get the size of a buffer within a buffered input stream, use
122 <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-get-buffer-size" title="g_buffered_input_stream_get_buffer_size ()"><code class="function">g_buffered_input_stream_get_buffer_size()</code></a>. To change the size of a
123 buffered input stream's buffer, use
124 <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-set-buffer-size" title="g_buffered_input_stream_set_buffer_size ()"><code class="function">g_buffered_input_stream_set_buffer_size()</code></a>. Note that the buffer's size
125 cannot be reduced below the size of the data within the buffer.
126 </p>
127 </div>
128 <div class="refsect1">
129 <a name="GBufferedInputStream.details"></a><h2>Details</h2>
130 <div class="refsect2">
131 <a name="GBufferedInputStream-struct"></a><h3>GBufferedInputStream</h3>
132 <pre class="programlisting">typedef struct _GBufferedInputStream GBufferedInputStream;</pre>
133 <p>
134 Implements <a class="link" href="GFilterInputStream.html" title="GFilterInputStream"><span class="type">GFilterInputStream</span></a> with a sized input buffer.
135 </p>
136 </div>
137 <hr>
138 <div class="refsect2">
139 <a name="g-buffered-input-stream-new"></a><h3>g_buffered_input_stream_new ()</h3>
140 <pre class="programlisting"><a class="link" href="GInputStream.html" title="GInputStream"><span class="returnvalue">GInputStream</span></a> *      g_buffered_input_stream_new         (<em class="parameter"><code><a class="link" href="GInputStream.html" title="GInputStream"><span class="type">GInputStream</span></a> *base_stream</code></em>);</pre>
141 <p>
142 Creates a new <a class="link" href="GInputStream.html" title="GInputStream"><span class="type">GInputStream</span></a> from the given <em class="parameter"><code>base_stream</code></em>, with
143 a buffer set to the default size (4 kilobytes).
144 </p>
145 <div class="variablelist"><table border="0">
146 <col align="left" valign="top">
147 <tbody>
148 <tr>
149 <td><p><span class="term"><em class="parameter"><code>base_stream</code></em> :</span></p></td>
150 <td>a <a class="link" href="GInputStream.html" title="GInputStream"><span class="type">GInputStream</span></a>
151 </td>
152 </tr>
153 <tr>
154 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
155 <td>a <a class="link" href="GInputStream.html" title="GInputStream"><span class="type">GInputStream</span></a> for the given <em class="parameter"><code>base_stream</code></em>.</td>
156 </tr>
157 </tbody>
158 </table></div>
159 </div>
160 <hr>
161 <div class="refsect2">
162 <a name="g-buffered-input-stream-new-sized"></a><h3>g_buffered_input_stream_new_sized ()</h3>
163 <pre class="programlisting"><a class="link" href="GInputStream.html" title="GInputStream"><span class="returnvalue">GInputStream</span></a> *      g_buffered_input_stream_new_sized   (<em class="parameter"><code><a class="link" href="GInputStream.html" title="GInputStream"><span class="type">GInputStream</span></a> *base_stream</code></em>,
164                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
165 <p>
166 Creates a new <a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> from the given <em class="parameter"><code>base_stream</code></em>,
167 with a buffer set to <em class="parameter"><code>size</code></em>.
168 </p>
169 <div class="variablelist"><table border="0">
170 <col align="left" valign="top">
171 <tbody>
172 <tr>
173 <td><p><span class="term"><em class="parameter"><code>base_stream</code></em> :</span></p></td>
174 <td>a <a class="link" href="GInputStream.html" title="GInputStream"><span class="type">GInputStream</span></a>
175 </td>
176 </tr>
177 <tr>
178 <td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
179 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a>
180 </td>
181 </tr>
182 <tr>
183 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
184 <td>a <a class="link" href="GInputStream.html" title="GInputStream"><span class="type">GInputStream</span></a>.</td>
185 </tr>
186 </tbody>
187 </table></div>
188 </div>
189 <hr>
190 <div class="refsect2">
191 <a name="g-buffered-input-stream-get-buffer-size"></a><h3>g_buffered_input_stream_get_buffer_size ()</h3>
192 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>               g_buffered_input_stream_get_buffer_size
193                                                         (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>);</pre>
194 <p>
195 Gets the size of the input buffer.
196 </p>
197 <div class="variablelist"><table border="0">
198 <col align="left" valign="top">
199 <tbody>
200 <tr>
201 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
202 <td>a <a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a>
203 </td>
204 </tr>
205 <tr>
206 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
207 <td>the current buffer size.</td>
208 </tr>
209 </tbody>
210 </table></div>
211 </div>
212 <hr>
213 <div class="refsect2">
214 <a name="g-buffered-input-stream-set-buffer-size"></a><h3>g_buffered_input_stream_set_buffer_size ()</h3>
215 <pre class="programlisting"><span class="returnvalue">void</span>                g_buffered_input_stream_set_buffer_size
216                                                         (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>,
217                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
218 <p>
219 Sets the size of the internal buffer of <em class="parameter"><code>stream</code></em> to <em class="parameter"><code>size</code></em>, or to the
220 size of the contents of the buffer. The buffer can never be resized
221 smaller than its current contents.
222 </p>
223 <div class="variablelist"><table border="0">
224 <col align="left" valign="top">
225 <tbody>
226 <tr>
227 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
228 <td>a <a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a>
229 </td>
230 </tr>
231 <tr>
232 <td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
233 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a>
234 </td>
235 </tr>
236 </tbody>
237 </table></div>
238 </div>
239 <hr>
240 <div class="refsect2">
241 <a name="g-buffered-input-stream-get-available"></a><h3>g_buffered_input_stream_get_available ()</h3>
242 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>               g_buffered_input_stream_get_available
243                                                         (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>);</pre>
244 <p>
245 Gets the size of the available data within the stream.
246 </p>
247 <div class="variablelist"><table border="0">
248 <col align="left" valign="top">
249 <tbody>
250 <tr>
251 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
252 <td><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a></td>
253 </tr>
254 <tr>
255 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
256 <td>size of the available stream.</td>
257 </tr>
258 </tbody>
259 </table></div>
260 </div>
261 <hr>
262 <div class="refsect2">
263 <a name="g-buffered-input-stream-peek-buffer"></a><h3>g_buffered_input_stream_peek_buffer ()</h3>
264 <pre class="programlisting">const <span class="returnvalue">void</span> *        g_buffered_input_stream_peek_buffer (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>,
265                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *count</code></em>);</pre>
266 <p>
267 Returns the buffer with the currently available bytes. The returned
268 buffer must not be modified and will become invalid when reading from
269 the stream or filling the buffer.
270 </p>
271 <div class="variablelist"><table border="0">
272 <col align="left" valign="top">
273 <tbody>
274 <tr>
275 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
276 <td>a <a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a>
277 </td>
278 </tr>
279 <tr>
280 <td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
281 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the number of bytes available in the buffer. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
282 </td>
283 </tr>
284 <tr>
285 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
286 <td>read-only buffer. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=count][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
287 </td>
288 </tr>
289 </tbody>
290 </table></div>
291 </div>
292 <hr>
293 <div class="refsect2">
294 <a name="g-buffered-input-stream-peek"></a><h3>g_buffered_input_stream_peek ()</h3>
295 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>               g_buffered_input_stream_peek        (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>,
296                                                          <em class="parameter"><code><span class="type">void</span> *buffer</code></em>,
297                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> offset</code></em>,
298                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> count</code></em>);</pre>
299 <p>
300 Peeks in the buffer, copying data of size <em class="parameter"><code>count</code></em> into <em class="parameter"><code>buffer</code></em>,
301 offset <em class="parameter"><code>offset</code></em> bytes.
302 </p>
303 <div class="variablelist"><table border="0">
304 <col align="left" valign="top">
305 <tbody>
306 <tr>
307 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
308 <td>a <a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a>
309 </td>
310 </tr>
311 <tr>
312 <td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
313 <td>a pointer to
314 an allocated chunk of memory. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=count][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span>
315 </td>
316 </tr>
317 <tr>
318 <td><p><span class="term"><em class="parameter"><code>offset</code></em> :</span></p></td>
319 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a>
320 </td>
321 </tr>
322 <tr>
323 <td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
324 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a>
325 </td>
326 </tr>
327 <tr>
328 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
329 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> of the number of bytes peeked, or -1 on error.</td>
330 </tr>
331 </tbody>
332 </table></div>
333 </div>
334 <hr>
335 <div class="refsect2">
336 <a name="g-buffered-input-stream-fill"></a><h3>g_buffered_input_stream_fill ()</h3>
337 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a>              g_buffered_input_stream_fill        (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>,
338                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> count</code></em>,
339                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
340                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
341 <p>
342 Tries to read <em class="parameter"><code>count</code></em> bytes from the stream into the buffer.
343 Will block during this read.
344 </p>
345 <p>
346 If <em class="parameter"><code>count</code></em> is zero, returns zero and does nothing. A value of <em class="parameter"><code>count</code></em>
347 larger than <a href="./../glib/glib/glib-Basic-Types.html#G-MAXSSIZE:CAPS"><code class="literal">G_MAXSSIZE</code></a> will cause a <a class="link" href="gio-GIOError.html#G-IO-ERROR-INVALID-ARGUMENT:CAPS"><code class="literal">G_IO_ERROR_INVALID_ARGUMENT</code></a> error.
348 </p>
349 <p>
350 On success, the number of bytes read into the buffer is returned.
351 It is not an error if this is not the same as the requested size, as it
352 can happen e.g. near the end of a file. Zero is returned on end of file
353 (or if <em class="parameter"><code>count</code></em> is zero),  but never otherwise.
354 </p>
355 <p>
356 If <em class="parameter"><code>count</code></em> is -1 then the attempted read size is equal to the number of
357 bytes that are required to fill the buffer.
358 </p>
359 <p>
360 If <em class="parameter"><code>cancellable</code></em> is not <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, then the operation can be cancelled by
361 triggering the cancellable object from another thread. If the operation
362 was cancelled, the error <a class="link" href="gio-GIOError.html#G-IO-ERROR-CANCELLED:CAPS"><code class="literal">G_IO_ERROR_CANCELLED</code></a> will be returned. If an
363 operation was partially finished when the operation was cancelled the
364 partial result will be returned, without an error.
365 </p>
366 <p>
367 On error -1 is returned and <em class="parameter"><code>error</code></em> is set accordingly.
368 </p>
369 <p>
370 For the asynchronous, non-blocking, version of this function, see
371 <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-fill-async" title="g_buffered_input_stream_fill_async ()"><code class="function">g_buffered_input_stream_fill_async()</code></a>.
372 </p>
373 <div class="variablelist"><table border="0">
374 <col align="left" valign="top">
375 <tbody>
376 <tr>
377 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
378 <td>a <a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a>
379 </td>
380 </tr>
381 <tr>
382 <td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
383 <td>the number of bytes that will be read from the stream</td>
384 </tr>
385 <tr>
386 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
387 <td>optional <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> object, <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
388 </td>
389 </tr>
390 <tr>
391 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
392 <td>location to store the error occurring, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore</td>
393 </tr>
394 <tr>
395 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
396 <td>the number of bytes read into <em class="parameter"><code>stream</code></em>'s buffer, up to <em class="parameter"><code>count</code></em>,
397 or -1 on error.</td>
398 </tr>
399 </tbody>
400 </table></div>
401 </div>
402 <hr>
403 <div class="refsect2">
404 <a name="g-buffered-input-stream-fill-async"></a><h3>g_buffered_input_stream_fill_async ()</h3>
405 <pre class="programlisting"><span class="returnvalue">void</span>                g_buffered_input_stream_fill_async  (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>,
406                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> count</code></em>,
407                                                          <em class="parameter"><code><span class="type">int</span> io_priority</code></em>,
408                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
409                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
410                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
411 <p>
412 Reads data into <em class="parameter"><code>stream</code></em>'s buffer asynchronously, up to <em class="parameter"><code>count</code></em> size.
413 <em class="parameter"><code>io_priority</code></em> can be used to prioritize reads. For the synchronous
414 version of this function, see <a class="link" href="GBufferedInputStream.html#g-buffered-input-stream-fill" title="g_buffered_input_stream_fill ()"><code class="function">g_buffered_input_stream_fill()</code></a>.
415 </p>
416 <p>
417 If <em class="parameter"><code>count</code></em> is -1 then the attempted read size is equal to the number
418 of bytes that are required to fill the buffer.
419 </p>
420 <div class="variablelist"><table border="0">
421 <col align="left" valign="top">
422 <tbody>
423 <tr>
424 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
425 <td>a <a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a>
426 </td>
427 </tr>
428 <tr>
429 <td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
430 <td>the number of bytes that will be read from the stream</td>
431 </tr>
432 <tr>
433 <td><p><span class="term"><em class="parameter"><code>io_priority</code></em> :</span></p></td>
434 <td>the <a class="link" href="gio-GIOScheduler.html#io-priority">I/O priority</a>
435 of the request</td>
436 </tr>
437 <tr>
438 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
439 <td>optional <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> object. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
440 </td>
441 </tr>
442 <tr>
443 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
444 <td>a <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a>. <span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span>
445 </td>
446 </tr>
447 <tr>
448 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
449 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>. <span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span>
450 </td>
451 </tr>
452 </tbody>
453 </table></div>
454 </div>
455 <hr>
456 <div class="refsect2">
457 <a name="g-buffered-input-stream-fill-finish"></a><h3>g_buffered_input_stream_fill_finish ()</h3>
458 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gssize"><span class="returnvalue">gssize</span></a>              g_buffered_input_stream_fill_finish (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>,
459                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
460                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
461 <p>
462 Finishes an asynchronous read.
463 </p>
464 <div class="variablelist"><table border="0">
465 <col align="left" valign="top">
466 <tbody>
467 <tr>
468 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
469 <td>a <a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a>
470 </td>
471 </tr>
472 <tr>
473 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
474 <td>a <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a>
475 </td>
476 </tr>
477 <tr>
478 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
479 <td>a <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
480 </td>
481 </tr>
482 <tr>
483 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
484 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> of the read stream, or <code class="literal">-1</code> on an error.</td>
485 </tr>
486 </tbody>
487 </table></div>
488 </div>
489 <hr>
490 <div class="refsect2">
491 <a name="g-buffered-input-stream-read-byte"></a><h3>g_buffered_input_stream_read_byte ()</h3>
492 <pre class="programlisting"><span class="returnvalue">int</span>                 g_buffered_input_stream_read_byte   (<em class="parameter"><code><a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> *stream</code></em>,
493                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
494                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
495 <p>
496 Tries to read a single byte from the stream or the buffer. Will block
497 during this read.
498 </p>
499 <p>
500 On success, the byte read from the stream is returned. On end of stream
501 -1 is returned but it's not an exceptional error and <em class="parameter"><code>error</code></em> is not set.
502 </p>
503 <p>
504 If <em class="parameter"><code>cancellable</code></em> is not <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, then the operation can be cancelled by
505 triggering the cancellable object from another thread. If the operation
506 was cancelled, the error <a class="link" href="gio-GIOError.html#G-IO-ERROR-CANCELLED:CAPS"><code class="literal">G_IO_ERROR_CANCELLED</code></a> will be returned. If an
507 operation was partially finished when the operation was cancelled the
508 partial result will be returned, without an error.
509 </p>
510 <p>
511 On error -1 is returned and <em class="parameter"><code>error</code></em> is set accordingly.
512 </p>
513 <div class="variablelist"><table border="0">
514 <col align="left" valign="top">
515 <tbody>
516 <tr>
517 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
518 <td>a <a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a>
519 </td>
520 </tr>
521 <tr>
522 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
523 <td>optional <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> object, <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
524 </td>
525 </tr>
526 <tr>
527 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
528 <td>location to store the error occurring, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore</td>
529 </tr>
530 <tr>
531 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
532 <td>the byte read from the <em class="parameter"><code>stream</code></em>, or -1 on end of stream or error.</td>
533 </tr>
534 </tbody>
535 </table></div>
536 </div>
537 </div>
538 <div class="refsect1">
539 <a name="GBufferedInputStream.property-details"></a><h2>Property Details</h2>
540 <div class="refsect2">
541 <a name="GBufferedInputStream--buffer-size"></a><h3>The <code class="literal">"buffer-size"</code> property</h3>
542 <pre class="programlisting">  "buffer-size"              <a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write / Construct</pre>
543 <p>The size of the backend buffer.</p>
544 <p>Allowed values: &gt;= 1</p>
545 <p>Default value: 4096</p>
546 </div>
547 </div>
548 <div class="refsect1">
549 <a name="GBufferedInputStream.see-also"></a><h2>See Also</h2>
550 <a class="link" href="GFilterInputStream.html" title="GFilterInputStream"><span class="type">GFilterInputStream</span></a>, <a class="link" href="GInputStream.html" title="GInputStream"><span class="type">GInputStream</span></a>
551 </div>
552 </div>
553 <div class="footer">
554 <hr>
555           Generated by GTK-Doc V1.18</div>
556 </body>
557 </html>