Update to version 2.33.1
[profile/ivi/glib2.git] / docs / reference / gio / html / GDataInputStream.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>GDataInputStream</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="GBufferedOutputStream.html" title="GBufferedOutputStream">
10 <link rel="next" href="GDataOutputStream.html" title="GDataOutputStream">
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="GBufferedOutputStream.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="GDataOutputStream.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="#GDataInputStream.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#GDataInputStream.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#GDataInputStream.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#GDataInputStream.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
31                    | 
32                   <a href="#GDataInputStream.properties" class="shortcut">Properties</a>
33 </td></tr>
34 </table>
35 <div class="refentry">
36 <a name="GDataInputStream"></a><div class="titlepage"></div>
37 <div class="refnamediv"><table width="100%"><tr>
38 <td valign="top">
39 <h2><span class="refentrytitle"><a name="GDataInputStream.top_of_page"></a>GDataInputStream</span></h2>
40 <p>GDataInputStream — Data Input Stream</p>
41 </td>
42 <td valign="top" align="right"></td>
43 </tr></table></div>
44 <div class="refsynopsisdiv">
45 <a name="GDataInputStream.synopsis"></a><h2>Synopsis</h2>
46 <pre class="synopsis">
47 #include &lt;gio/gio.h&gt;
48
49                     <a class="link" href="GDataInputStream.html#GDataInputStream-struct" title="GDataInputStream">GDataInputStream</a>;
50 enum                <a class="link" href="GDataInputStream.html#GDataStreamByteOrder" title="enum GDataStreamByteOrder">GDataStreamByteOrder</a>;
51 enum                <a class="link" href="GDataInputStream.html#GDataStreamNewlineType" title="enum GDataStreamNewlineType">GDataStreamNewlineType</a>;
52 <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="returnvalue">GDataInputStream</span></a> *  <a class="link" href="GDataInputStream.html#g-data-input-stream-new" title="g_data_input_stream_new ()">g_data_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>);
53 <span class="returnvalue">void</span>                <a class="link" href="GDataInputStream.html#g-data-input-stream-set-byte-order" title="g_data_input_stream_set_byte_order ()">g_data_input_stream_set_byte_order</a>  (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
54                                                          <em class="parameter"><code><a class="link" href="GDataInputStream.html#GDataStreamByteOrder" title="enum GDataStreamByteOrder"><span class="type">GDataStreamByteOrder</span></a> order</code></em>);
55 <a class="link" href="GDataInputStream.html#GDataStreamByteOrder" title="enum GDataStreamByteOrder"><span class="returnvalue">GDataStreamByteOrder</span></a> <a class="link" href="GDataInputStream.html#g-data-input-stream-get-byte-order" title="g_data_input_stream_get_byte_order ()">g_data_input_stream_get_byte_order</a> (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>);
56 <span class="returnvalue">void</span>                <a class="link" href="GDataInputStream.html#g-data-input-stream-set-newline-type" title="g_data_input_stream_set_newline_type ()">g_data_input_stream_set_newline_type</a>
57                                                         (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
58                                                          <em class="parameter"><code><a class="link" href="GDataInputStream.html#GDataStreamNewlineType" title="enum GDataStreamNewlineType"><span class="type">GDataStreamNewlineType</span></a> type</code></em>);
59 <a class="link" href="GDataInputStream.html#GDataStreamNewlineType" title="enum GDataStreamNewlineType"><span class="returnvalue">GDataStreamNewlineType</span></a> <a class="link" href="GDataInputStream.html#g-data-input-stream-get-newline-type" title="g_data_input_stream_get_newline_type ()">g_data_input_stream_get_newline_type</a>
60                                                         (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>);
61 <a href="./../glib/glib/glib-Basic-Types.html#guchar"><span class="returnvalue">guchar</span></a>              <a class="link" href="GDataInputStream.html#g-data-input-stream-read-byte" title="g_data_input_stream_read_byte ()">g_data_input_stream_read_byte</a>       (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
62                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
63                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
64 <a href="./../glib/glib/glib-Basic-Types.html#gint16"><span class="returnvalue">gint16</span></a>              <a class="link" href="GDataInputStream.html#g-data-input-stream-read-int16" title="g_data_input_stream_read_int16 ()">g_data_input_stream_read_int16</a>      (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
65                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
66                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
67 <a href="./../glib/glib/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a>             <a class="link" href="GDataInputStream.html#g-data-input-stream-read-uint16" title="g_data_input_stream_read_uint16 ()">g_data_input_stream_read_uint16</a>     (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</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 <a href="./../glib/glib/glib-Basic-Types.html#gint32"><span class="returnvalue">gint32</span></a>              <a class="link" href="GDataInputStream.html#g-data-input-stream-read-int32" title="g_data_input_stream_read_int32 ()">g_data_input_stream_read_int32</a>      (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
71                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
72                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
73 <a href="./../glib/glib/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>             <a class="link" href="GDataInputStream.html#g-data-input-stream-read-uint32" title="g_data_input_stream_read_uint32 ()">g_data_input_stream_read_uint32</a>     (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
74                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
75                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
76 <a href="./../glib/glib/glib-Basic-Types.html#gint64"><span class="returnvalue">gint64</span></a>              <a class="link" href="GDataInputStream.html#g-data-input-stream-read-int64" title="g_data_input_stream_read_int64 ()">g_data_input_stream_read_int64</a>      (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
77                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</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 <a href="./../glib/glib/glib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>             <a class="link" href="GDataInputStream.html#g-data-input-stream-read-uint64" title="g_data_input_stream_read_uint64 ()">g_data_input_stream_read_uint64</a>     (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</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 <span class="returnvalue">char</span> *              <a class="link" href="GDataInputStream.html#g-data-input-stream-read-line" title="g_data_input_stream_read_line ()">g_data_input_stream_read_line</a>       (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
83                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
84                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
85                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
86 <span class="returnvalue">char</span> *              <a class="link" href="GDataInputStream.html#g-data-input-stream-read-line-utf8" title="g_data_input_stream_read_line_utf8 ()">g_data_input_stream_read_line_utf8</a>  (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
87                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
88                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
89                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
90 <span class="returnvalue">void</span>                <a class="link" href="GDataInputStream.html#g-data-input-stream-read-line-async" title="g_data_input_stream_read_line_async ()">g_data_input_stream_read_line_async</a> (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
91                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> io_priority</code></em>,
92                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
93                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
94                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
95 <span class="returnvalue">char</span> *              <a class="link" href="GDataInputStream.html#g-data-input-stream-read-line-finish" title="g_data_input_stream_read_line_finish ()">g_data_input_stream_read_line_finish</a>
96                                                         (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
97                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
98                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
99                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
100 <span class="returnvalue">char</span> *              <a class="link" href="GDataInputStream.html#g-data-input-stream-read-line-finish-utf8" title="g_data_input_stream_read_line_finish_utf8 ()">g_data_input_stream_read_line_finish_utf8</a>
101                                                         (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
102                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
103                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
104                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
105 <span class="returnvalue">char</span> *              <a class="link" href="GDataInputStream.html#g-data-input-stream-read-upto" title="g_data_input_stream_read_upto ()">g_data_input_stream_read_upto</a>       (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
106                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stop_chars</code></em>,
107                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> stop_chars_len</code></em>,
108                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
109                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
110                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
111 <span class="returnvalue">void</span>                <a class="link" href="GDataInputStream.html#g-data-input-stream-read-upto-async" title="g_data_input_stream_read_upto_async ()">g_data_input_stream_read_upto_async</a> (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
112                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stop_chars</code></em>,
113                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> stop_chars_len</code></em>,
114                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> io_priority</code></em>,
115                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
116                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
117                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
118 <span class="returnvalue">char</span> *              <a class="link" href="GDataInputStream.html#g-data-input-stream-read-upto-finish" title="g_data_input_stream_read_upto_finish ()">g_data_input_stream_read_upto_finish</a>
119                                                         (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
120                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
121                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
122                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
123 <span class="returnvalue">char</span> *              <a class="link" href="GDataInputStream.html#g-data-input-stream-read-until" title="g_data_input_stream_read_until ()">g_data_input_stream_read_until</a>      (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
124                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stop_chars</code></em>,
125                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
126                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
127                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
128 <span class="returnvalue">void</span>                <a class="link" href="GDataInputStream.html#g-data-input-stream-read-until-async" title="g_data_input_stream_read_until_async ()">g_data_input_stream_read_until_async</a>
129                                                         (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
130                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stop_chars</code></em>,
131                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> io_priority</code></em>,
132                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
133                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
134                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
135 <span class="returnvalue">char</span> *              <a class="link" href="GDataInputStream.html#g-data-input-stream-read-until-finish" title="g_data_input_stream_read_until_finish ()">g_data_input_stream_read_until_finish</a>
136                                                         (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
137                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
138                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
139                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
140 </pre>
141 </div>
142 <div class="refsect1">
143 <a name="GDataInputStream.object-hierarchy"></a><h2>Object Hierarchy</h2>
144 <pre class="synopsis">
145   <a href="./../gobject/gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a>
146    +----<a class="link" href="GInputStream.html" title="GInputStream">GInputStream</a>
147          +----<a class="link" href="GFilterInputStream.html" title="GFilterInputStream">GFilterInputStream</a>
148                +----<a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream">GBufferedInputStream</a>
149                      +----GDataInputStream
150 </pre>
151 </div>
152 <div class="refsect1">
153 <a name="GDataInputStream.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
154 <p>
155 GDataInputStream implements
156  <a class="link" href="GSeekable.html" title="GSeekable">GSeekable</a>.</p>
157 </div>
158 <div class="refsect1">
159 <a name="GDataInputStream.properties"></a><h2>Properties</h2>
160 <pre class="synopsis">
161   "<a class="link" href="GDataInputStream.html#GDataInputStream--byte-order" title='The "byte-order" property'>byte-order</a>"               <a class="link" href="GDataInputStream.html#GDataStreamByteOrder" title="enum GDataStreamByteOrder"><span class="type">GDataStreamByteOrder</span></a>  : Read / Write
162   "<a class="link" href="GDataInputStream.html#GDataInputStream--newline-type" title='The "newline-type" property'>newline-type</a>"             <a class="link" href="GDataInputStream.html#GDataStreamNewlineType" title="enum GDataStreamNewlineType"><span class="type">GDataStreamNewlineType</span></a>  : Read / Write
163 </pre>
164 </div>
165 <div class="refsect1">
166 <a name="GDataInputStream.description"></a><h2>Description</h2>
167 <p>
168 Data input stream implements <a class="link" href="GInputStream.html" title="GInputStream"><span class="type">GInputStream</span></a> and includes functions for 
169 reading structured data directly from a binary input stream.
170 </p>
171 </div>
172 <div class="refsect1">
173 <a name="GDataInputStream.details"></a><h2>Details</h2>
174 <div class="refsect2">
175 <a name="GDataInputStream-struct"></a><h3>GDataInputStream</h3>
176 <pre class="programlisting">typedef struct _GDataInputStream GDataInputStream;</pre>
177 <p>
178 An implementation of <a class="link" href="GBufferedInputStream.html" title="GBufferedInputStream"><span class="type">GBufferedInputStream</span></a> that allows for high-level
179 data manipulation of arbitrary data (including binary operations).
180 </p>
181 </div>
182 <hr>
183 <div class="refsect2">
184 <a name="GDataStreamByteOrder"></a><h3>enum GDataStreamByteOrder</h3>
185 <pre class="programlisting">typedef enum {
186   G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN,
187   G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN,
188   G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN
189 } GDataStreamByteOrder;
190 </pre>
191 <p>
192 <a class="link" href="GDataInputStream.html#GDataStreamByteOrder" title="enum GDataStreamByteOrder"><span class="type">GDataStreamByteOrder</span></a> is used to ensure proper endianness of streaming data sources
193 across various machine architectures.
194 </p>
195 <div class="variablelist"><table border="0">
196 <col align="left" valign="top">
197 <tbody>
198 <tr>
199 <td><p><a name="G-DATA-STREAM-BYTE-ORDER-BIG-ENDIAN:CAPS"></a><span class="term"><code class="literal">G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN</code></span></p></td>
200 <td>Selects Big Endian byte order.
201 </td>
202 </tr>
203 <tr>
204 <td><p><a name="G-DATA-STREAM-BYTE-ORDER-LITTLE-ENDIAN:CAPS"></a><span class="term"><code class="literal">G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN</code></span></p></td>
205 <td>Selects Little Endian byte order.
206 </td>
207 </tr>
208 <tr>
209 <td><p><a name="G-DATA-STREAM-BYTE-ORDER-HOST-ENDIAN:CAPS"></a><span class="term"><code class="literal">G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN</code></span></p></td>
210 <td>Selects endianness based on host machine's architecture.
211 </td>
212 </tr>
213 </tbody>
214 </table></div>
215 </div>
216 <hr>
217 <div class="refsect2">
218 <a name="GDataStreamNewlineType"></a><h3>enum GDataStreamNewlineType</h3>
219 <pre class="programlisting">typedef enum {
220   G_DATA_STREAM_NEWLINE_TYPE_LF,
221   G_DATA_STREAM_NEWLINE_TYPE_CR,
222   G_DATA_STREAM_NEWLINE_TYPE_CR_LF,
223   G_DATA_STREAM_NEWLINE_TYPE_ANY
224 } GDataStreamNewlineType;
225 </pre>
226 <p>
227 <a class="link" href="GDataInputStream.html#GDataStreamNewlineType" title="enum GDataStreamNewlineType"><span class="type">GDataStreamNewlineType</span></a> is used when checking for or setting the line endings for a given file.
228 </p>
229 <div class="variablelist"><table border="0">
230 <col align="left" valign="top">
231 <tbody>
232 <tr>
233 <td><p><a name="G-DATA-STREAM-NEWLINE-TYPE-LF:CAPS"></a><span class="term"><code class="literal">G_DATA_STREAM_NEWLINE_TYPE_LF</code></span></p></td>
234 <td>Selects "LF" line endings, common on most modern UNIX platforms.
235 </td>
236 </tr>
237 <tr>
238 <td><p><a name="G-DATA-STREAM-NEWLINE-TYPE-CR:CAPS"></a><span class="term"><code class="literal">G_DATA_STREAM_NEWLINE_TYPE_CR</code></span></p></td>
239 <td>Selects "CR" line endings.
240 </td>
241 </tr>
242 <tr>
243 <td><p><a name="G-DATA-STREAM-NEWLINE-TYPE-CR-LF:CAPS"></a><span class="term"><code class="literal">G_DATA_STREAM_NEWLINE_TYPE_CR_LF</code></span></p></td>
244 <td>Selects "CR, LF" line ending, common on Microsoft Windows.
245 </td>
246 </tr>
247 <tr>
248 <td><p><a name="G-DATA-STREAM-NEWLINE-TYPE-ANY:CAPS"></a><span class="term"><code class="literal">G_DATA_STREAM_NEWLINE_TYPE_ANY</code></span></p></td>
249 <td>Automatically try to handle any line ending type.
250 </td>
251 </tr>
252 </tbody>
253 </table></div>
254 </div>
255 <hr>
256 <div class="refsect2">
257 <a name="g-data-input-stream-new"></a><h3>g_data_input_stream_new ()</h3>
258 <pre class="programlisting"><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="returnvalue">GDataInputStream</span></a> *  g_data_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>
259 <p>
260 Creates a new data input stream for the <em class="parameter"><code>base_stream</code></em>.
261 </p>
262 <div class="variablelist"><table border="0">
263 <col align="left" valign="top">
264 <tbody>
265 <tr>
266 <td><p><span class="term"><em class="parameter"><code>base_stream</code></em> :</span></p></td>
267 <td>a <a class="link" href="GInputStream.html" title="GInputStream"><span class="type">GInputStream</span></a>.</td>
268 </tr>
269 <tr>
270 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
271 <td>a new <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
272 </tr>
273 </tbody>
274 </table></div>
275 </div>
276 <hr>
277 <div class="refsect2">
278 <a name="g-data-input-stream-set-byte-order"></a><h3>g_data_input_stream_set_byte_order ()</h3>
279 <pre class="programlisting"><span class="returnvalue">void</span>                g_data_input_stream_set_byte_order  (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
280                                                          <em class="parameter"><code><a class="link" href="GDataInputStream.html#GDataStreamByteOrder" title="enum GDataStreamByteOrder"><span class="type">GDataStreamByteOrder</span></a> order</code></em>);</pre>
281 <p>
282 This function sets the byte order for the given <em class="parameter"><code>stream</code></em>. All subsequent
283 reads from the <em class="parameter"><code>stream</code></em> will be read in the given <em class="parameter"><code>order</code></em>.
284 </p>
285 <div class="variablelist"><table border="0">
286 <col align="left" valign="top">
287 <tbody>
288 <tr>
289 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
290 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
291 </tr>
292 <tr>
293 <td><p><span class="term"><em class="parameter"><code>order</code></em> :</span></p></td>
294 <td>a <a class="link" href="GDataInputStream.html#GDataStreamByteOrder" title="enum GDataStreamByteOrder"><span class="type">GDataStreamByteOrder</span></a> to set.</td>
295 </tr>
296 </tbody>
297 </table></div>
298 </div>
299 <hr>
300 <div class="refsect2">
301 <a name="g-data-input-stream-get-byte-order"></a><h3>g_data_input_stream_get_byte_order ()</h3>
302 <pre class="programlisting"><a class="link" href="GDataInputStream.html#GDataStreamByteOrder" title="enum GDataStreamByteOrder"><span class="returnvalue">GDataStreamByteOrder</span></a> g_data_input_stream_get_byte_order (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>);</pre>
303 <p>
304 Gets the byte order for the data input stream.
305 </p>
306 <div class="variablelist"><table border="0">
307 <col align="left" valign="top">
308 <tbody>
309 <tr>
310 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
311 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
312 </tr>
313 <tr>
314 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
315 <td>the <em class="parameter"><code>stream</code></em>'s current <a class="link" href="GDataInputStream.html#GDataStreamByteOrder" title="enum GDataStreamByteOrder"><span class="type">GDataStreamByteOrder</span></a>.</td>
316 </tr>
317 </tbody>
318 </table></div>
319 </div>
320 <hr>
321 <div class="refsect2">
322 <a name="g-data-input-stream-set-newline-type"></a><h3>g_data_input_stream_set_newline_type ()</h3>
323 <pre class="programlisting"><span class="returnvalue">void</span>                g_data_input_stream_set_newline_type
324                                                         (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
325                                                          <em class="parameter"><code><a class="link" href="GDataInputStream.html#GDataStreamNewlineType" title="enum GDataStreamNewlineType"><span class="type">GDataStreamNewlineType</span></a> type</code></em>);</pre>
326 <p>
327 Sets the newline type for the <em class="parameter"><code>stream</code></em>.
328 </p>
329 <p>
330 Note that using G_DATA_STREAM_NEWLINE_TYPE_ANY is slightly unsafe. If a read
331 chunk ends in "CR" we must read an additional byte to know if this is "CR" or
332 "CR LF", and this might block if there is no more data available.
333 </p>
334 <div class="variablelist"><table border="0">
335 <col align="left" valign="top">
336 <tbody>
337 <tr>
338 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
339 <td>a <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
340 </tr>
341 <tr>
342 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
343 <td>the type of new line return as <a class="link" href="GDataInputStream.html#GDataStreamNewlineType" title="enum GDataStreamNewlineType"><span class="type">GDataStreamNewlineType</span></a>.</td>
344 </tr>
345 </tbody>
346 </table></div>
347 </div>
348 <hr>
349 <div class="refsect2">
350 <a name="g-data-input-stream-get-newline-type"></a><h3>g_data_input_stream_get_newline_type ()</h3>
351 <pre class="programlisting"><a class="link" href="GDataInputStream.html#GDataStreamNewlineType" title="enum GDataStreamNewlineType"><span class="returnvalue">GDataStreamNewlineType</span></a> g_data_input_stream_get_newline_type
352                                                         (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>);</pre>
353 <p>
354 Gets the current newline type for the <em class="parameter"><code>stream</code></em>.
355 </p>
356 <div class="variablelist"><table border="0">
357 <col align="left" valign="top">
358 <tbody>
359 <tr>
360 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
361 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
362 </tr>
363 <tr>
364 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
365 <td>
366 <a class="link" href="GDataInputStream.html#GDataStreamNewlineType" title="enum GDataStreamNewlineType"><span class="type">GDataStreamNewlineType</span></a> for the given <em class="parameter"><code>stream</code></em>.</td>
367 </tr>
368 </tbody>
369 </table></div>
370 </div>
371 <hr>
372 <div class="refsect2">
373 <a name="g-data-input-stream-read-byte"></a><h3>g_data_input_stream_read_byte ()</h3>
374 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#guchar"><span class="returnvalue">guchar</span></a>              g_data_input_stream_read_byte       (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
375                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
376                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
377 <p>
378 Reads an unsigned 8-bit/1-byte value from <em class="parameter"><code>stream</code></em>.
379 </p>
380 <div class="variablelist"><table border="0">
381 <col align="left" valign="top">
382 <tbody>
383 <tr>
384 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
385 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
386 </tr>
387 <tr>
388 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
389 <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>
390 </td>
391 </tr>
392 <tr>
393 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
394 <td>
395 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting.</td>
396 </tr>
397 <tr>
398 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
399 <td>an unsigned 8-bit/1-byte value read from the <em class="parameter"><code>stream</code></em> or <code class="literal">0</code>
400 if an error occurred.</td>
401 </tr>
402 </tbody>
403 </table></div>
404 </div>
405 <hr>
406 <div class="refsect2">
407 <a name="g-data-input-stream-read-int16"></a><h3>g_data_input_stream_read_int16 ()</h3>
408 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gint16"><span class="returnvalue">gint16</span></a>              g_data_input_stream_read_int16      (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
409                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
410                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
411 <p>
412 Reads a 16-bit/2-byte value from <em class="parameter"><code>stream</code></em>.
413 </p>
414 <p>
415 In order to get the correct byte order for this read operation, 
416 see <a class="link" href="GDataInputStream.html#g-data-input-stream-get-byte-order" title="g_data_input_stream_get_byte_order ()"><code class="function">g_data_input_stream_get_byte_order()</code></a> and <a class="link" href="GDataInputStream.html#g-data-input-stream-set-byte-order" title="g_data_input_stream_set_byte_order ()"><code class="function">g_data_input_stream_set_byte_order()</code></a>.
417 </p>
418 <div class="variablelist"><table border="0">
419 <col align="left" valign="top">
420 <tbody>
421 <tr>
422 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
423 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
424 </tr>
425 <tr>
426 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
427 <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>
428 </td>
429 </tr>
430 <tr>
431 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
432 <td>
433 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting.</td>
434 </tr>
435 <tr>
436 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
437 <td>a signed 16-bit/2-byte value read from <em class="parameter"><code>stream</code></em> or <code class="literal">0</code> if
438 an error occurred.</td>
439 </tr>
440 </tbody>
441 </table></div>
442 </div>
443 <hr>
444 <div class="refsect2">
445 <a name="g-data-input-stream-read-uint16"></a><h3>g_data_input_stream_read_uint16 ()</h3>
446 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a>             g_data_input_stream_read_uint16     (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
447                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
448                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
449 <p>
450 Reads an unsigned 16-bit/2-byte value from <em class="parameter"><code>stream</code></em>.
451 </p>
452 <p>
453 In order to get the correct byte order for this read operation, 
454 see <a class="link" href="GDataInputStream.html#g-data-input-stream-get-byte-order" title="g_data_input_stream_get_byte_order ()"><code class="function">g_data_input_stream_get_byte_order()</code></a> and <a class="link" href="GDataInputStream.html#g-data-input-stream-set-byte-order" title="g_data_input_stream_set_byte_order ()"><code class="function">g_data_input_stream_set_byte_order()</code></a>.
455 </p>
456 <div class="variablelist"><table border="0">
457 <col align="left" valign="top">
458 <tbody>
459 <tr>
460 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
461 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
462 </tr>
463 <tr>
464 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
465 <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>
466 </td>
467 </tr>
468 <tr>
469 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
470 <td>
471 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting.</td>
472 </tr>
473 <tr>
474 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
475 <td>an unsigned 16-bit/2-byte value read from the <em class="parameter"><code>stream</code></em> or <code class="literal">0</code> if
476 an error occurred.</td>
477 </tr>
478 </tbody>
479 </table></div>
480 </div>
481 <hr>
482 <div class="refsect2">
483 <a name="g-data-input-stream-read-int32"></a><h3>g_data_input_stream_read_int32 ()</h3>
484 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gint32"><span class="returnvalue">gint32</span></a>              g_data_input_stream_read_int32      (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
485                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
486                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
487 <p>
488 Reads a signed 32-bit/4-byte value from <em class="parameter"><code>stream</code></em>.
489 </p>
490 <p>
491 In order to get the correct byte order for this read operation, 
492 see <a class="link" href="GDataInputStream.html#g-data-input-stream-get-byte-order" title="g_data_input_stream_get_byte_order ()"><code class="function">g_data_input_stream_get_byte_order()</code></a> and <a class="link" href="GDataInputStream.html#g-data-input-stream-set-byte-order" title="g_data_input_stream_set_byte_order ()"><code class="function">g_data_input_stream_set_byte_order()</code></a>.
493 </p>
494 <p>
495 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
496 triggering the cancellable object from another thread. If the operation
497 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.
498 </p>
499 <div class="variablelist"><table border="0">
500 <col align="left" valign="top">
501 <tbody>
502 <tr>
503 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
504 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
505 </tr>
506 <tr>
507 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
508 <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>
509 </td>
510 </tr>
511 <tr>
512 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
513 <td>
514 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting.</td>
515 </tr>
516 <tr>
517 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
518 <td>a signed 32-bit/4-byte value read from the <em class="parameter"><code>stream</code></em> or <code class="literal">0</code> if
519 an error occurred.</td>
520 </tr>
521 </tbody>
522 </table></div>
523 </div>
524 <hr>
525 <div class="refsect2">
526 <a name="g-data-input-stream-read-uint32"></a><h3>g_data_input_stream_read_uint32 ()</h3>
527 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>             g_data_input_stream_read_uint32     (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
528                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
529                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
530 <p>
531 Reads an unsigned 32-bit/4-byte value from <em class="parameter"><code>stream</code></em>.
532 </p>
533 <p>
534 In order to get the correct byte order for this read operation, 
535 see <a class="link" href="GDataInputStream.html#g-data-input-stream-get-byte-order" title="g_data_input_stream_get_byte_order ()"><code class="function">g_data_input_stream_get_byte_order()</code></a> and <a class="link" href="GDataInputStream.html#g-data-input-stream-set-byte-order" title="g_data_input_stream_set_byte_order ()"><code class="function">g_data_input_stream_set_byte_order()</code></a>.
536 </p>
537 <p>
538 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
539 triggering the cancellable object from another thread. If the operation
540 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.
541 </p>
542 <div class="variablelist"><table border="0">
543 <col align="left" valign="top">
544 <tbody>
545 <tr>
546 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
547 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
548 </tr>
549 <tr>
550 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
551 <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>
552 </td>
553 </tr>
554 <tr>
555 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
556 <td>
557 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting.</td>
558 </tr>
559 <tr>
560 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
561 <td>an unsigned 32-bit/4-byte value read from the <em class="parameter"><code>stream</code></em> or <code class="literal">0</code> if
562 an error occurred.</td>
563 </tr>
564 </tbody>
565 </table></div>
566 </div>
567 <hr>
568 <div class="refsect2">
569 <a name="g-data-input-stream-read-int64"></a><h3>g_data_input_stream_read_int64 ()</h3>
570 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gint64"><span class="returnvalue">gint64</span></a>              g_data_input_stream_read_int64      (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
571                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
572                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
573 <p>
574 Reads a 64-bit/8-byte value from <em class="parameter"><code>stream</code></em>.
575 </p>
576 <p>
577 In order to get the correct byte order for this read operation, 
578 see <a class="link" href="GDataInputStream.html#g-data-input-stream-get-byte-order" title="g_data_input_stream_get_byte_order ()"><code class="function">g_data_input_stream_get_byte_order()</code></a> and <a class="link" href="GDataInputStream.html#g-data-input-stream-set-byte-order" title="g_data_input_stream_set_byte_order ()"><code class="function">g_data_input_stream_set_byte_order()</code></a>.
579 </p>
580 <p>
581 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
582 triggering the cancellable object from another thread. If the operation
583 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.
584 </p>
585 <div class="variablelist"><table border="0">
586 <col align="left" valign="top">
587 <tbody>
588 <tr>
589 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
590 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
591 </tr>
592 <tr>
593 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
594 <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>
595 </td>
596 </tr>
597 <tr>
598 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
599 <td>
600 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting.</td>
601 </tr>
602 <tr>
603 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
604 <td>a signed 64-bit/8-byte value read from <em class="parameter"><code>stream</code></em> or <code class="literal">0</code> if
605 an error occurred.</td>
606 </tr>
607 </tbody>
608 </table></div>
609 </div>
610 <hr>
611 <div class="refsect2">
612 <a name="g-data-input-stream-read-uint64"></a><h3>g_data_input_stream_read_uint64 ()</h3>
613 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>             g_data_input_stream_read_uint64     (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
614                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
615                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
616 <p>
617 Reads an unsigned 64-bit/8-byte value from <em class="parameter"><code>stream</code></em>.
618 </p>
619 <p>
620 In order to get the correct byte order for this read operation, 
621 see <a class="link" href="GDataInputStream.html#g-data-input-stream-get-byte-order" title="g_data_input_stream_get_byte_order ()"><code class="function">g_data_input_stream_get_byte_order()</code></a>.
622 </p>
623 <p>
624 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
625 triggering the cancellable object from another thread. If the operation
626 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.
627 </p>
628 <div class="variablelist"><table border="0">
629 <col align="left" valign="top">
630 <tbody>
631 <tr>
632 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
633 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
634 </tr>
635 <tr>
636 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
637 <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>
638 </td>
639 </tr>
640 <tr>
641 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
642 <td>
643 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting.</td>
644 </tr>
645 <tr>
646 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
647 <td>an unsigned 64-bit/8-byte read from <em class="parameter"><code>stream</code></em> or <code class="literal">0</code> if
648 an error occurred.</td>
649 </tr>
650 </tbody>
651 </table></div>
652 </div>
653 <hr>
654 <div class="refsect2">
655 <a name="g-data-input-stream-read-line"></a><h3>g_data_input_stream_read_line ()</h3>
656 <pre class="programlisting"><span class="returnvalue">char</span> *              g_data_input_stream_read_line       (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
657                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
658                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
659                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
660 <p>
661 Reads a line from the data input stream.  Note that no encoding
662 checks or conversion is performed; the input is not guaranteed to
663 be UTF-8, and may in fact have embedded NUL characters.
664 </p>
665 <p>
666 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
667 triggering the cancellable object from another thread. If the operation
668 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.
669 </p>
670 <div class="variablelist"><table border="0">
671 <col align="left" valign="top">
672 <tbody>
673 <tr>
674 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
675 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
676 </tr>
677 <tr>
678 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
679 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the length of the data read in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
680 </td>
681 </tr>
682 <tr>
683 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
684 <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>
685 </td>
686 </tr>
687 <tr>
688 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
689 <td>
690 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting.</td>
691 </tr>
692 <tr>
693 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
694 <td>a
695 NUL terminated byte array with the line that was read in (without
696 the newlines).  Set <em class="parameter"><code>length</code></em> to a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the length of the
697 read line.  On an error, it will return <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and <em class="parameter"><code>error</code></em> will be
698 set. If there's no content to read, it will still return <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>,
699 but <em class="parameter"><code>error</code></em> won't be set. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span>
700 </td>
701 </tr>
702 </tbody>
703 </table></div>
704 </div>
705 <hr>
706 <div class="refsect2">
707 <a name="g-data-input-stream-read-line-utf8"></a><h3>g_data_input_stream_read_line_utf8 ()</h3>
708 <pre class="programlisting"><span class="returnvalue">char</span> *              g_data_input_stream_read_line_utf8  (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
709                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
710                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
711                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
712 <p>
713 Reads a UTF-8 encoded line from the data input stream.
714 </p>
715 <p>
716 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
717 triggering the cancellable object from another thread. If the operation
718 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.
719 </p>
720 <div class="variablelist"><table border="0">
721 <col align="left" valign="top">
722 <tbody>
723 <tr>
724 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
725 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
726 </tr>
727 <tr>
728 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
729 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the length of the data read in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
730 </td>
731 </tr>
732 <tr>
733 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
734 <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>
735 </td>
736 </tr>
737 <tr>
738 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
739 <td>
740 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting.</td>
741 </tr>
742 <tr>
743 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
744 <td>a NUL terminated UTF-8 string with the
745 line that was read in (without the newlines).  Set <em class="parameter"><code>length</code></em> to a
746 <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the length of the read line.  On an error, it will
747 return <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and <em class="parameter"><code>error</code></em> will be set.  For UTF-8 conversion errors,
748 the set error domain is <a href="./../glib/glib/glib-Character-Set-Conversion.html#G-CONVERT-ERROR:CAPS"><code class="literal">G_CONVERT_ERROR</code></a>.  If there's no content to
749 read, it will still return <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, but <em class="parameter"><code>error</code></em> won't be set. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
750 </td>
751 </tr>
752 </tbody>
753 </table></div>
754 <p class="since">Since 2.30</p>
755 </div>
756 <hr>
757 <div class="refsect2">
758 <a name="g-data-input-stream-read-line-async"></a><h3>g_data_input_stream_read_line_async ()</h3>
759 <pre class="programlisting"><span class="returnvalue">void</span>                g_data_input_stream_read_line_async (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
760                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> io_priority</code></em>,
761                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
762                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
763                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
764 <p>
765 The asynchronous version of <a class="link" href="GDataInputStream.html#g-data-input-stream-read-line" title="g_data_input_stream_read_line ()"><code class="function">g_data_input_stream_read_line()</code></a>.  It is
766 an error to have two outstanding calls to this function.
767 </p>
768 <p>
769 When the operation is finished, <em class="parameter"><code>callback</code></em> will be called. You
770 can then call <a class="link" href="GDataInputStream.html#g-data-input-stream-read-line-finish" title="g_data_input_stream_read_line_finish ()"><code class="function">g_data_input_stream_read_line_finish()</code></a> to get
771 the result of the operation.
772 </p>
773 <div class="variablelist"><table border="0">
774 <col align="left" valign="top">
775 <tbody>
776 <tr>
777 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
778 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
779 </tr>
780 <tr>
781 <td><p><span class="term"><em class="parameter"><code>io_priority</code></em> :</span></p></td>
782 <td>the <a class="link" href="gio-GIOScheduler.html#io-priority">I/O priority</a>
783 of the request.</td>
784 </tr>
785 <tr>
786 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
787 <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>
788 </td>
789 </tr>
790 <tr>
791 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
792 <td>callback to call when the request is satisfied. <span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span>
793 </td>
794 </tr>
795 <tr>
796 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
797 <td>the data to pass to callback function. <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>
798 </td>
799 </tr>
800 </tbody>
801 </table></div>
802 <p class="since">Since 2.20</p>
803 </div>
804 <hr>
805 <div class="refsect2">
806 <a name="g-data-input-stream-read-line-finish"></a><h3>g_data_input_stream_read_line_finish ()</h3>
807 <pre class="programlisting"><span class="returnvalue">char</span> *              g_data_input_stream_read_line_finish
808                                                         (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
809                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
810                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
811                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
812 <p>
813 Finish an asynchronous call started by
814 <a class="link" href="GDataInputStream.html#g-data-input-stream-read-line-async" title="g_data_input_stream_read_line_async ()"><code class="function">g_data_input_stream_read_line_async()</code></a>.  Note the warning about
815 string encoding in <a class="link" href="GDataInputStream.html#g-data-input-stream-read-line" title="g_data_input_stream_read_line ()"><code class="function">g_data_input_stream_read_line()</code></a> applies here as
816 well.
817 </p>
818 <div class="variablelist"><table border="0">
819 <col align="left" valign="top">
820 <tbody>
821 <tr>
822 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
823 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
824 </tr>
825 <tr>
826 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
827 <td>the <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> that was provided to the callback.</td>
828 </tr>
829 <tr>
830 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
831 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the length of the data read in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
832 </td>
833 </tr>
834 <tr>
835 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
836 <td>
837 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting.</td>
838 </tr>
839 <tr>
840 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
841 <td>a
842 NUL-terminated byte array with the line that was read in
843 (without the newlines).  Set <em class="parameter"><code>length</code></em> to a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the
844 length of the read line.  On an error, it will return <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and
845 <em class="parameter"><code>error</code></em> will be set. If there's no content to read, it will
846 still return <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, but <em class="parameter"><code>error</code></em> won't be set. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span>
847 </td>
848 </tr>
849 </tbody>
850 </table></div>
851 <p class="since">Since 2.20</p>
852 </div>
853 <hr>
854 <div class="refsect2">
855 <a name="g-data-input-stream-read-line-finish-utf8"></a><h3>g_data_input_stream_read_line_finish_utf8 ()</h3>
856 <pre class="programlisting"><span class="returnvalue">char</span> *              g_data_input_stream_read_line_finish_utf8
857                                                         (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
858                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
859                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
860                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
861 <p>
862 Finish an asynchronous call started by
863 <a class="link" href="GDataInputStream.html#g-data-input-stream-read-line-async" title="g_data_input_stream_read_line_async ()"><code class="function">g_data_input_stream_read_line_async()</code></a>.
864 </p>
865 <div class="variablelist"><table border="0">
866 <col align="left" valign="top">
867 <tbody>
868 <tr>
869 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
870 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
871 </tr>
872 <tr>
873 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
874 <td>the <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> that was provided to the callback.</td>
875 </tr>
876 <tr>
877 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
878 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the length of the data read in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
879 </td>
880 </tr>
881 <tr>
882 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
883 <td>
884 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting.</td>
885 </tr>
886 <tr>
887 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
888 <td>a string with the line that was read in
889 (without the newlines).  Set <em class="parameter"><code>length</code></em> to a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the length
890 of the read line.  On an error, it will return <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and <em class="parameter"><code>error</code></em>
891 will be set. For UTF-8 conversion errors, the set error domain is
892 <a href="./../glib/glib/glib-Character-Set-Conversion.html#G-CONVERT-ERROR:CAPS"><code class="literal">G_CONVERT_ERROR</code></a>.  If there's no content to read, it will still
893 return <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, but <em class="parameter"><code>error</code></em> won't be set. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
894 </td>
895 </tr>
896 </tbody>
897 </table></div>
898 <p class="since">Since 2.30</p>
899 </div>
900 <hr>
901 <div class="refsect2">
902 <a name="g-data-input-stream-read-upto"></a><h3>g_data_input_stream_read_upto ()</h3>
903 <pre class="programlisting"><span class="returnvalue">char</span> *              g_data_input_stream_read_upto       (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
904                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stop_chars</code></em>,
905                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> stop_chars_len</code></em>,
906                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
907                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
908                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
909 <p>
910 Reads a string from the data input stream, up to the first
911 occurrence of any of the stop characters.
912 </p>
913 <p>
914 In contrast to <a class="link" href="GDataInputStream.html#g-data-input-stream-read-until" title="g_data_input_stream_read_until ()"><code class="function">g_data_input_stream_read_until()</code></a>, this function
915 does <span class="emphasis"><em>not</em></span> consume the stop character. You have
916 to use <a class="link" href="GDataInputStream.html#g-data-input-stream-read-byte" title="g_data_input_stream_read_byte ()"><code class="function">g_data_input_stream_read_byte()</code></a> to get it before calling
917 <a class="link" href="GDataInputStream.html#g-data-input-stream-read-upto" title="g_data_input_stream_read_upto ()"><code class="function">g_data_input_stream_read_upto()</code></a> again.
918 </p>
919 <p>
920 Note that <em class="parameter"><code>stop_chars</code></em> may contain '\0' if <em class="parameter"><code>stop_chars_len</code></em> is
921 specified.
922 </p>
923 <div class="variablelist"><table border="0">
924 <col align="left" valign="top">
925 <tbody>
926 <tr>
927 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
928 <td>a <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>
929 </td>
930 </tr>
931 <tr>
932 <td><p><span class="term"><em class="parameter"><code>stop_chars</code></em> :</span></p></td>
933 <td>characters to terminate the read</td>
934 </tr>
935 <tr>
936 <td><p><span class="term"><em class="parameter"><code>stop_chars_len</code></em> :</span></p></td>
937 <td>length of <em class="parameter"><code>stop_chars</code></em>. May be -1 if <em class="parameter"><code>stop_chars</code></em> is
938 nul-terminated</td>
939 </tr>
940 <tr>
941 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
942 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the length of the data read in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
943 </td>
944 </tr>
945 <tr>
946 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
947 <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>
948 </td>
949 </tr>
950 <tr>
951 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
952 <td>
953 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting</td>
954 </tr>
955 <tr>
956 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
957 <td>a string with the data that was read
958 before encountering any of the stop characters. Set <em class="parameter"><code>length</code></em> to
959 a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the length of the string. This function will
960 return <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on an error. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
961 </td>
962 </tr>
963 </tbody>
964 </table></div>
965 <p class="since">Since 2.26</p>
966 </div>
967 <hr>
968 <div class="refsect2">
969 <a name="g-data-input-stream-read-upto-async"></a><h3>g_data_input_stream_read_upto_async ()</h3>
970 <pre class="programlisting"><span class="returnvalue">void</span>                g_data_input_stream_read_upto_async (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
971                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stop_chars</code></em>,
972                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> stop_chars_len</code></em>,
973                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> io_priority</code></em>,
974                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
975                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
976                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
977 <p>
978 The asynchronous version of <a class="link" href="GDataInputStream.html#g-data-input-stream-read-upto" title="g_data_input_stream_read_upto ()"><code class="function">g_data_input_stream_read_upto()</code></a>.
979 It is an error to have two outstanding calls to this function.
980 </p>
981 <p>
982 In contrast to <a class="link" href="GDataInputStream.html#g-data-input-stream-read-until" title="g_data_input_stream_read_until ()"><code class="function">g_data_input_stream_read_until()</code></a>, this function
983 does <span class="emphasis"><em>not</em></span> consume the stop character. You have
984 to use <a class="link" href="GDataInputStream.html#g-data-input-stream-read-byte" title="g_data_input_stream_read_byte ()"><code class="function">g_data_input_stream_read_byte()</code></a> to get it before calling
985 <a class="link" href="GDataInputStream.html#g-data-input-stream-read-upto" title="g_data_input_stream_read_upto ()"><code class="function">g_data_input_stream_read_upto()</code></a> again.
986 </p>
987 <p>
988 Note that <em class="parameter"><code>stop_chars</code></em> may contain '\0' if <em class="parameter"><code>stop_chars_len</code></em> is
989 specified.
990 </p>
991 <p>
992 When the operation is finished, <em class="parameter"><code>callback</code></em> will be called. You
993 can then call <a class="link" href="GDataInputStream.html#g-data-input-stream-read-upto-finish" title="g_data_input_stream_read_upto_finish ()"><code class="function">g_data_input_stream_read_upto_finish()</code></a> to get
994 the result of the operation.
995 </p>
996 <div class="variablelist"><table border="0">
997 <col align="left" valign="top">
998 <tbody>
999 <tr>
1000 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
1001 <td>a <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>
1002 </td>
1003 </tr>
1004 <tr>
1005 <td><p><span class="term"><em class="parameter"><code>stop_chars</code></em> :</span></p></td>
1006 <td>characters to terminate the read</td>
1007 </tr>
1008 <tr>
1009 <td><p><span class="term"><em class="parameter"><code>stop_chars_len</code></em> :</span></p></td>
1010 <td>length of <em class="parameter"><code>stop_chars</code></em>. May be -1 if <em class="parameter"><code>stop_chars</code></em> is
1011 nul-terminated</td>
1012 </tr>
1013 <tr>
1014 <td><p><span class="term"><em class="parameter"><code>io_priority</code></em> :</span></p></td>
1015 <td>the <a class="link" href="gio-GIOScheduler.html#io-priority">I/O priority</a>
1016 of the request.</td>
1017 </tr>
1018 <tr>
1019 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
1020 <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>
1021 </td>
1022 </tr>
1023 <tr>
1024 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
1025 <td>callback to call when the request is satisfied. <span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span>
1026 </td>
1027 </tr>
1028 <tr>
1029 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1030 <td>the data to pass to callback function. <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>
1031 </td>
1032 </tr>
1033 </tbody>
1034 </table></div>
1035 <p class="since">Since 2.26</p>
1036 </div>
1037 <hr>
1038 <div class="refsect2">
1039 <a name="g-data-input-stream-read-upto-finish"></a><h3>g_data_input_stream_read_upto_finish ()</h3>
1040 <pre class="programlisting"><span class="returnvalue">char</span> *              g_data_input_stream_read_upto_finish
1041                                                         (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
1042                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
1043                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
1044                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
1045 <p>
1046 Finish an asynchronous call started by
1047 <a class="link" href="GDataInputStream.html#g-data-input-stream-read-upto-async" title="g_data_input_stream_read_upto_async ()"><code class="function">g_data_input_stream_read_upto_async()</code></a>.
1048 </p>
1049 <p>
1050 Note that this function does <span class="emphasis"><em>not</em></span> consume the
1051 stop character. You have to use <a class="link" href="GDataInputStream.html#g-data-input-stream-read-byte" title="g_data_input_stream_read_byte ()"><code class="function">g_data_input_stream_read_byte()</code></a> to
1052 get it before calling <a class="link" href="GDataInputStream.html#g-data-input-stream-read-upto-async" title="g_data_input_stream_read_upto_async ()"><code class="function">g_data_input_stream_read_upto_async()</code></a> again.
1053 </p>
1054 <div class="variablelist"><table border="0">
1055 <col align="left" valign="top">
1056 <tbody>
1057 <tr>
1058 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
1059 <td>a <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>
1060 </td>
1061 </tr>
1062 <tr>
1063 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
1064 <td>the <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> that was provided to the callback</td>
1065 </tr>
1066 <tr>
1067 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
1068 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the length of the data read in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
1069 </td>
1070 </tr>
1071 <tr>
1072 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
1073 <td>
1074 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting</td>
1075 </tr>
1076 <tr>
1077 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1078 <td>a string with the data that was read
1079 before encountering any of the stop characters. Set <em class="parameter"><code>length</code></em> to
1080 a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the length of the string. This function will
1081 return <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on an error. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1082 </td>
1083 </tr>
1084 </tbody>
1085 </table></div>
1086 <p class="since">Since 2.24</p>
1087 </div>
1088 <hr>
1089 <div class="refsect2">
1090 <a name="g-data-input-stream-read-until"></a><h3>g_data_input_stream_read_until ()</h3>
1091 <pre class="programlisting"><span class="returnvalue">char</span> *              g_data_input_stream_read_until      (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
1092                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stop_chars</code></em>,
1093                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
1094                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
1095                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
1096 <p>
1097 Reads a string from the data input stream, up to the first
1098 occurrence of any of the stop characters.
1099 </p>
1100 <p>
1101 Note that, in contrast to <a class="link" href="GDataInputStream.html#g-data-input-stream-read-until-async" title="g_data_input_stream_read_until_async ()"><code class="function">g_data_input_stream_read_until_async()</code></a>,
1102 this function consumes the stop character that it finds.
1103 </p>
1104 <p>
1105 Don't use this function in new code.  Its functionality is
1106 inconsistent with <a class="link" href="GDataInputStream.html#g-data-input-stream-read-until-async" title="g_data_input_stream_read_until_async ()"><code class="function">g_data_input_stream_read_until_async()</code></a>.  Both
1107 functions will be marked as deprecated in a future release.  Use
1108 <a class="link" href="GDataInputStream.html#g-data-input-stream-read-upto" title="g_data_input_stream_read_upto ()"><code class="function">g_data_input_stream_read_upto()</code></a> instead, but note that that function
1109 does not consume the stop character.
1110 </p>
1111 <div class="variablelist"><table border="0">
1112 <col align="left" valign="top">
1113 <tbody>
1114 <tr>
1115 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
1116 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
1117 </tr>
1118 <tr>
1119 <td><p><span class="term"><em class="parameter"><code>stop_chars</code></em> :</span></p></td>
1120 <td>characters to terminate the read.</td>
1121 </tr>
1122 <tr>
1123 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
1124 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the length of the data read in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
1125 </td>
1126 </tr>
1127 <tr>
1128 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
1129 <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>
1130 </td>
1131 </tr>
1132 <tr>
1133 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
1134 <td>
1135 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting.</td>
1136 </tr>
1137 <tr>
1138 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1139 <td>a string with the data that was read
1140 before encountering any of the stop characters. Set <em class="parameter"><code>length</code></em> to
1141 a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the length of the string. This function will
1142 return <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on an error. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1143 </td>
1144 </tr>
1145 </tbody>
1146 </table></div>
1147 </div>
1148 <hr>
1149 <div class="refsect2">
1150 <a name="g-data-input-stream-read-until-async"></a><h3>g_data_input_stream_read_until_async ()</h3>
1151 <pre class="programlisting"><span class="returnvalue">void</span>                g_data_input_stream_read_until_async
1152                                                         (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
1153                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stop_chars</code></em>,
1154                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> io_priority</code></em>,
1155                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
1156                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
1157                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
1158 <p>
1159 The asynchronous version of <a class="link" href="GDataInputStream.html#g-data-input-stream-read-until" title="g_data_input_stream_read_until ()"><code class="function">g_data_input_stream_read_until()</code></a>.
1160 It is an error to have two outstanding calls to this function.
1161 </p>
1162 <p>
1163 Note that, in contrast to <a class="link" href="GDataInputStream.html#g-data-input-stream-read-until" title="g_data_input_stream_read_until ()"><code class="function">g_data_input_stream_read_until()</code></a>,
1164 this function does not consume the stop character that it finds.  You
1165 must read it for yourself.
1166 </p>
1167 <p>
1168 When the operation is finished, <em class="parameter"><code>callback</code></em> will be called. You
1169 can then call <a class="link" href="GDataInputStream.html#g-data-input-stream-read-until-finish" title="g_data_input_stream_read_until_finish ()"><code class="function">g_data_input_stream_read_until_finish()</code></a> to get
1170 the result of the operation.
1171 </p>
1172 <p>
1173 Don't use this function in new code.  Its functionality is
1174 inconsistent with <a class="link" href="GDataInputStream.html#g-data-input-stream-read-until" title="g_data_input_stream_read_until ()"><code class="function">g_data_input_stream_read_until()</code></a>.  Both functions
1175 will be marked as deprecated in a future release.  Use
1176 <a class="link" href="GDataInputStream.html#g-data-input-stream-read-upto-async" title="g_data_input_stream_read_upto_async ()"><code class="function">g_data_input_stream_read_upto_async()</code></a> instead.
1177 </p>
1178 <div class="variablelist"><table border="0">
1179 <col align="left" valign="top">
1180 <tbody>
1181 <tr>
1182 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
1183 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
1184 </tr>
1185 <tr>
1186 <td><p><span class="term"><em class="parameter"><code>stop_chars</code></em> :</span></p></td>
1187 <td>characters to terminate the read.</td>
1188 </tr>
1189 <tr>
1190 <td><p><span class="term"><em class="parameter"><code>io_priority</code></em> :</span></p></td>
1191 <td>the <a class="link" href="gio-GIOScheduler.html#io-priority">I/O priority</a>
1192 of the request.</td>
1193 </tr>
1194 <tr>
1195 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
1196 <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>
1197 </td>
1198 </tr>
1199 <tr>
1200 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
1201 <td>callback to call when the request is satisfied. <span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span>
1202 </td>
1203 </tr>
1204 <tr>
1205 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1206 <td>the data to pass to callback function. <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>
1207 </td>
1208 </tr>
1209 </tbody>
1210 </table></div>
1211 <p class="since">Since 2.20</p>
1212 </div>
1213 <hr>
1214 <div class="refsect2">
1215 <a name="g-data-input-stream-read-until-finish"></a><h3>g_data_input_stream_read_until_finish ()</h3>
1216 <pre class="programlisting"><span class="returnvalue">char</span> *              g_data_input_stream_read_until_finish
1217                                                         (<em class="parameter"><code><a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a> *stream</code></em>,
1218                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
1219                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
1220                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
1221 <p>
1222 Finish an asynchronous call started by
1223 <a class="link" href="GDataInputStream.html#g-data-input-stream-read-until-async" title="g_data_input_stream_read_until_async ()"><code class="function">g_data_input_stream_read_until_async()</code></a>.
1224 </p>
1225 <div class="variablelist"><table border="0">
1226 <col align="left" valign="top">
1227 <tbody>
1228 <tr>
1229 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
1230 <td>a given <a class="link" href="GDataInputStream.html" title="GDataInputStream"><span class="type">GDataInputStream</span></a>.</td>
1231 </tr>
1232 <tr>
1233 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
1234 <td>the <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> that was provided to the callback.</td>
1235 </tr>
1236 <tr>
1237 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
1238 <td>a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the length of the data read in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
1239 </td>
1240 </tr>
1241 <tr>
1242 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
1243 <td>
1244 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting.</td>
1245 </tr>
1246 <tr>
1247 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1248 <td>a string with the data that was read
1249 before encountering any of the stop characters. Set <em class="parameter"><code>length</code></em> to
1250 a <a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to get the length of the string. This function will
1251 return <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on an error. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1252 </td>
1253 </tr>
1254 </tbody>
1255 </table></div>
1256 <p class="since">Since 2.20</p>
1257 </div>
1258 </div>
1259 <div class="refsect1">
1260 <a name="GDataInputStream.property-details"></a><h2>Property Details</h2>
1261 <div class="refsect2">
1262 <a name="GDataInputStream--byte-order"></a><h3>The <code class="literal">"byte-order"</code> property</h3>
1263 <pre class="programlisting">  "byte-order"               <a class="link" href="GDataInputStream.html#GDataStreamByteOrder" title="enum GDataStreamByteOrder"><span class="type">GDataStreamByteOrder</span></a>  : Read / Write</pre>
1264 <p>The byte order.</p>
1265 <p>Default value: G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN</p>
1266 </div>
1267 <hr>
1268 <div class="refsect2">
1269 <a name="GDataInputStream--newline-type"></a><h3>The <code class="literal">"newline-type"</code> property</h3>
1270 <pre class="programlisting">  "newline-type"             <a class="link" href="GDataInputStream.html#GDataStreamNewlineType" title="enum GDataStreamNewlineType"><span class="type">GDataStreamNewlineType</span></a>  : Read / Write</pre>
1271 <p>The accepted types of line ending.</p>
1272 <p>Default value: G_DATA_STREAM_NEWLINE_TYPE_LF</p>
1273 </div>
1274 </div>
1275 <div class="refsect1">
1276 <a name="GDataInputStream.see-also"></a><h2>See Also</h2>
1277 <a class="link" href="GInputStream.html" title="GInputStream"><span class="type">GInputStream</span></a>
1278 </div>
1279 </div>
1280 <div class="footer">
1281 <hr>
1282           Generated by GTK-Doc V1.18</div>
1283 </body>
1284 </html>