ftp://ftp.redhat.com/pub/redhat/linux/rawhide/SRPMS/SRPMS/gnome-vfs2-2.3.8-1.src.rpm
[gnome-vfs-httpcaptive.git] / doc / xml / gnome-vfs-socket-buffer.xml
1 <refentry id="gnome-vfs-20-gnome-vfs-socket-buffer">
2 <refmeta>
3 <refentrytitle>gnome-vfs-socket-buffer</refentrytitle>
4 <manvolnum>3</manvolnum>
5 <refmiscinfo>GNOME-VFS-2.0 Library</refmiscinfo>
6 </refmeta>
7
8 <refnamediv>
9 <refname>gnome-vfs-socket-buffer</refname><refpurpose></refpurpose>
10 </refnamediv>
11
12 <refsynopsisdiv><title>Synopsis</title>
13
14 <synopsis>
15
16
17
18 <link linkend="GnomeVFSSocketBuffer">GnomeVFSSocketBuffer</link>* <link linkend="gnome-vfs-socket-buffer-new">gnome_vfs_socket_buffer_new</link>
19                                             (<link linkend="GnomeVFSSocket">GnomeVFSSocket</link> *socket);
20 <link linkend="GnomeVFSResult">GnomeVFSResult</link> <link linkend="gnome-vfs-socket-buffer-destroy">gnome_vfs_socket_buffer_destroy</link>
21                                             (<link linkend="GnomeVFSSocketBuffer">GnomeVFSSocketBuffer</link> *socket_buffer,
22                                              <link linkend="gboolean">gboolean</link> close_socket);
23 <link linkend="GnomeVFSResult">GnomeVFSResult</link> <link linkend="gnome-vfs-socket-buffer-read">gnome_vfs_socket_buffer_read</link> (<link linkend="GnomeVFSSocketBuffer">GnomeVFSSocketBuffer</link> *socket_buffer,
24                                              <link linkend="gpointer">gpointer</link> buffer,
25                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> bytes,
26                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> *bytes_read);
27 <link linkend="GnomeVFSResult">GnomeVFSResult</link> <link linkend="gnome-vfs-socket-buffer-peekc">gnome_vfs_socket_buffer_peekc</link>
28                                             (<link linkend="GnomeVFSSocketBuffer">GnomeVFSSocketBuffer</link> *socket_buffer,
29                                              <link linkend="char">char</link> *character);
30 <link linkend="GnomeVFSResult">GnomeVFSResult</link> <link linkend="gnome-vfs-socket-buffer-write">gnome_vfs_socket_buffer_write</link>
31                                             (<link linkend="GnomeVFSSocketBuffer">GnomeVFSSocketBuffer</link> *socket_buffer,
32                                              <link linkend="gconstpointer">gconstpointer</link> buffer,
33                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> bytes,
34                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> *bytes_written);
35 <link linkend="GnomeVFSResult">GnomeVFSResult</link> <link linkend="gnome-vfs-socket-buffer-flush">gnome_vfs_socket_buffer_flush</link>
36                                             (<link linkend="GnomeVFSSocketBuffer">GnomeVFSSocketBuffer</link> *socket_buffer);
37 </synopsis>
38 </refsynopsisdiv>
39
40
41
42
43
44
45
46
47
48 <refsect1>
49 <title>Description</title>
50 <para>
51
52 </para>
53 </refsect1>
54
55 <refsect1>
56 <title>Details</title>
57 <refsect2>
58 <title><anchor id="gnome-vfs-socket-buffer-new"/>gnome_vfs_socket_buffer_new ()</title>
59 <indexterm><primary>gnome_vfs_socket_buffer_new</primary></indexterm><programlisting><link linkend="GnomeVFSSocketBuffer">GnomeVFSSocketBuffer</link>* gnome_vfs_socket_buffer_new
60                                             (<link linkend="GnomeVFSSocket">GnomeVFSSocket</link> *socket);</programlisting>
61 <para>
62 Create a socket buffer around <parameter>socket</parameter>. A buffered
63 socket allows data to be poked at without reading it
64 as it will be buffered. A future read will retrieve
65 the data again.</para>
66 <para>
67
68 </para><variablelist role="params">
69 <varlistentry><term><parameter>socket</parameter>&nbsp;:</term>
70 <listitem><simpara> socket to be buffered
71 </simpara></listitem></varlistentry>
72 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a newly allocated GnomeVFSSocketBuffer
73 </simpara></listitem></varlistentry>
74 </variablelist></refsect2>
75 <refsect2>
76 <title><anchor id="gnome-vfs-socket-buffer-destroy"/>gnome_vfs_socket_buffer_destroy ()</title>
77 <indexterm><primary>gnome_vfs_socket_buffer_destroy</primary></indexterm><programlisting><link linkend="GnomeVFSResult">GnomeVFSResult</link> gnome_vfs_socket_buffer_destroy
78                                             (<link linkend="GnomeVFSSocketBuffer">GnomeVFSSocketBuffer</link> *socket_buffer,
79                                              <link linkend="gboolean">gboolean</link> close_socket);</programlisting>
80 <para>
81 Free the socket buffer.</para>
82 <para>
83
84 </para><variablelist role="params">
85 <varlistentry><term><parameter>socket_buffer</parameter>&nbsp;:</term>
86 <listitem><simpara> buffered socket to destray
87 </simpara></listitem></varlistentry>
88 <varlistentry><term><parameter>close_socket</parameter>&nbsp;:</term>
89 <listitem><simpara> if <literal>TRUE</literal> the socket being buffered will be closed too
90 </simpara></listitem></varlistentry>
91 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> GnomeVFSResult indicating the success of the operation
92 </simpara></listitem></varlistentry>
93 </variablelist></refsect2>
94 <refsect2>
95 <title><anchor id="gnome-vfs-socket-buffer-read"/>gnome_vfs_socket_buffer_read ()</title>
96 <indexterm><primary>gnome_vfs_socket_buffer_read</primary></indexterm><programlisting><link linkend="GnomeVFSResult">GnomeVFSResult</link> gnome_vfs_socket_buffer_read (<link linkend="GnomeVFSSocketBuffer">GnomeVFSSocketBuffer</link> *socket_buffer,
97                                              <link linkend="gpointer">gpointer</link> buffer,
98                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> bytes,
99                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> *bytes_read);</programlisting>
100 <para>
101 Read <parameter>bytes</parameter> bytes of data from the <parameter>socket</parameter> into <parameter>socket_buffer</parameter>.</para>
102 <para>
103
104 </para><variablelist role="params">
105 <varlistentry><term><parameter>socket_buffer</parameter>&nbsp;:</term>
106 <listitem><simpara> buffered socket to read data from
107 </simpara></listitem></varlistentry>
108 <varlistentry><term><parameter>buffer</parameter>&nbsp;:</term>
109 <listitem><simpara> allocated buffer of at least <parameter>bytes</parameter> bytes to be read into
110 </simpara></listitem></varlistentry>
111 <varlistentry><term><parameter>bytes</parameter>&nbsp;:</term>
112 <listitem><simpara> number of bytes to read from <parameter>socket</parameter> into <parameter>socket_buffer</parameter>
113 </simpara></listitem></varlistentry>
114 <varlistentry><term><parameter>bytes_read</parameter>&nbsp;:</term>
115 <listitem><simpara> pointer to a GnomeVFSFileSize, will contain
116 the number of bytes actually read from the socket on return.
117 </simpara></listitem></varlistentry>
118 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> GnomeVFSResult indicating the success of the operation
119 </simpara></listitem></varlistentry>
120 </variablelist></refsect2>
121 <refsect2>
122 <title><anchor id="gnome-vfs-socket-buffer-peekc"/>gnome_vfs_socket_buffer_peekc ()</title>
123 <indexterm><primary>gnome_vfs_socket_buffer_peekc</primary></indexterm><programlisting><link linkend="GnomeVFSResult">GnomeVFSResult</link> gnome_vfs_socket_buffer_peekc
124                                             (<link linkend="GnomeVFSSocketBuffer">GnomeVFSSocketBuffer</link> *socket_buffer,
125                                              <link linkend="char">char</link> *character);</programlisting>
126 <para>
127 Peek at the next character in <parameter>socket_buffer</parameter> without actually reading
128 the character in. The next read will retrieve <parameter>c</parameter> (as well as any following
129 data if requested).</para>
130 <para>
131
132 </para><variablelist role="params">
133 <varlistentry><term><parameter>socket_buffer</parameter>&nbsp;:</term>
134 <listitem><simpara> the socket buffer to read from
135 </simpara></listitem></varlistentry>
136 <varlistentry><term><parameter>character</parameter>&nbsp;:</term>
137 <listitem><simpara> pointer to a char, will contain a character on return from
138 a successful "peek"
139 </simpara></listitem></varlistentry>
140 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> GnomeVFSResult indicating the success of the operation
141 </simpara></listitem></varlistentry>
142 </variablelist></refsect2>
143 <refsect2>
144 <title><anchor id="gnome-vfs-socket-buffer-write"/>gnome_vfs_socket_buffer_write ()</title>
145 <indexterm><primary>gnome_vfs_socket_buffer_write</primary></indexterm><programlisting><link linkend="GnomeVFSResult">GnomeVFSResult</link> gnome_vfs_socket_buffer_write
146                                             (<link linkend="GnomeVFSSocketBuffer">GnomeVFSSocketBuffer</link> *socket_buffer,
147                                              <link linkend="gconstpointer">gconstpointer</link> buffer,
148                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> bytes,
149                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> *bytes_written);</programlisting>
150 <para>
151 Write <parameter>bytes</parameter> bytes of data from <parameter>buffer</parameter> to <parameter>socket_buffer</parameter>.</para>
152 <para>
153
154 </para><variablelist role="params">
155 <varlistentry><term><parameter>socket_buffer</parameter>&nbsp;:</term>
156 <listitem><simpara> buffered socket to write data to
157 </simpara></listitem></varlistentry>
158 <varlistentry><term><parameter>buffer</parameter>&nbsp;:</term>
159 <listitem><simpara> data to write to the socket
160 </simpara></listitem></varlistentry>
161 <varlistentry><term><parameter>bytes</parameter>&nbsp;:</term>
162 <listitem><simpara> number of bytes from <parameter>buffer</parameter> to write to <parameter>socket_buffer</parameter>
163 </simpara></listitem></varlistentry>
164 <varlistentry><term><parameter>bytes_written</parameter>&nbsp;:</term>
165 <listitem><simpara> pointer to a GnomeVFSFileSize, will contain
166 the number of bytes actually written to the socket on return.
167 </simpara></listitem></varlistentry>
168 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> GnomeVFSResult indicating the success of the operation
169 </simpara></listitem></varlistentry>
170 </variablelist></refsect2>
171 <refsect2>
172 <title><anchor id="gnome-vfs-socket-buffer-flush"/>gnome_vfs_socket_buffer_flush ()</title>
173 <indexterm><primary>gnome_vfs_socket_buffer_flush</primary></indexterm><programlisting><link linkend="GnomeVFSResult">GnomeVFSResult</link> gnome_vfs_socket_buffer_flush
174                                             (<link linkend="GnomeVFSSocketBuffer">GnomeVFSSocketBuffer</link> *socket_buffer);</programlisting>
175 <para>
176 Write all outstanding data to <parameter>socket_buffer</parameter>.</para>
177 <para>
178
179 </para><variablelist role="params">
180 <varlistentry><term><parameter>socket_buffer</parameter>&nbsp;:</term>
181 <listitem><simpara> buffer to flush
182 </simpara></listitem></varlistentry>
183 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> GnomeVFSResult indicating the success of the operation
184 </simpara></listitem></varlistentry>
185 </variablelist></refsect2>
186
187 </refsect1>
188
189
190
191
192 </refentry>