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.xml
1 <refentry id="gnome-vfs-20-gnome-vfs-socket">
2 <refmeta>
3 <refentrytitle>gnome-vfs-socket</refentrytitle>
4 <manvolnum>3</manvolnum>
5 <refmiscinfo>GNOME-VFS-2.0 Library</refmiscinfo>
6 </refmeta>
7
8 <refnamediv>
9 <refname>gnome-vfs-socket</refname><refpurpose></refpurpose>
10 </refnamediv>
11
12 <refsynopsisdiv><title>Synopsis</title>
13
14 <synopsis>
15
16
17
18 <link linkend="GnomeVFSResult">GnomeVFSResult</link> (<link linkend="GnomeVFSSocketReadFunc">*GnomeVFSSocketReadFunc</link>)    (<link linkend="gpointer">gpointer</link> connection,
19                                              <link linkend="gpointer">gpointer</link> buffer,
20                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> bytes,
21                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> *bytes_read);
22 <link linkend="GnomeVFSResult">GnomeVFSResult</link> (<link linkend="GnomeVFSSocketWriteFunc">*GnomeVFSSocketWriteFunc</link>)   (<link linkend="gpointer">gpointer</link> connection,
23                                              <link linkend="gconstpointer">gconstpointer</link> buffer,
24                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> bytes,
25                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> *bytes_written);
26 <link linkend="void">void</link>        (<link linkend="GnomeVFSSocketCloseFunc">*GnomeVFSSocketCloseFunc</link>)      (<link linkend="gpointer">gpointer</link> connection);
27 typedef     <link linkend="GnomeVFSSocketImpl">GnomeVFSSocketImpl</link>;
28 <link linkend="GnomeVFSSocket">GnomeVFSSocket</link>* <link linkend="gnome-vfs-socket-new">gnome_vfs_socket_new</link>        (<link linkend="GnomeVFSSocketImpl">GnomeVFSSocketImpl</link> *impl,
29                                              <link linkend="void">void</link> *connection);
30 <link linkend="GnomeVFSResult">GnomeVFSResult</link> <link linkend="gnome-vfs-socket-write">gnome_vfs_socket_write</link>       (<link linkend="GnomeVFSSocket">GnomeVFSSocket</link> *socket,
31                                              <link linkend="gconstpointer">gconstpointer</link> buffer,
32                                              <link linkend="int">int</link> bytes,
33                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> *bytes_written);
34 <link linkend="GnomeVFSResult">GnomeVFSResult</link> <link linkend="gnome-vfs-socket-close">gnome_vfs_socket_close</link>       (<link linkend="GnomeVFSSocket">GnomeVFSSocket</link> *socket);
35 <link linkend="GnomeVFSResult">GnomeVFSResult</link> <link linkend="gnome-vfs-socket-read">gnome_vfs_socket_read</link>        (<link linkend="GnomeVFSSocket">GnomeVFSSocket</link> *socket,
36                                              <link linkend="gpointer">gpointer</link> buffer,
37                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> bytes,
38                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> *bytes_read);
39 </synopsis>
40 </refsynopsisdiv>
41
42
43
44
45
46
47
48
49
50 <refsect1>
51 <title>Description</title>
52 <para>
53
54 </para>
55 </refsect1>
56
57 <refsect1>
58 <title>Details</title>
59 <refsect2>
60 <title><anchor id="GnomeVFSSocketReadFunc"/>GnomeVFSSocketReadFunc ()</title>
61 <indexterm><primary>GnomeVFSSocketReadFunc</primary></indexterm><programlisting><link linkend="GnomeVFSResult">GnomeVFSResult</link> (*GnomeVFSSocketReadFunc)    (<link linkend="gpointer">gpointer</link> connection,
62                                              <link linkend="gpointer">gpointer</link> buffer,
63                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> bytes,
64                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> *bytes_read);</programlisting>
65 <para>
66
67 </para><variablelist role="params">
68 <varlistentry><term><parameter>connection</parameter>&nbsp;:</term>
69 <listitem><simpara>
70 </simpara></listitem></varlistentry>
71 <varlistentry><term><parameter>buffer</parameter>&nbsp;:</term>
72 <listitem><simpara>
73 </simpara></listitem></varlistentry>
74 <varlistentry><term><parameter>bytes</parameter>&nbsp;:</term>
75 <listitem><simpara>
76 </simpara></listitem></varlistentry>
77 <varlistentry><term><parameter>bytes_read</parameter>&nbsp;:</term>
78 <listitem><simpara>
79 </simpara></listitem></varlistentry>
80 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
81
82
83 </simpara></listitem></varlistentry>
84 </variablelist></refsect2>
85 <refsect2>
86 <title><anchor id="GnomeVFSSocketWriteFunc"/>GnomeVFSSocketWriteFunc ()</title>
87 <indexterm><primary>GnomeVFSSocketWriteFunc</primary></indexterm><programlisting><link linkend="GnomeVFSResult">GnomeVFSResult</link> (*GnomeVFSSocketWriteFunc)   (<link linkend="gpointer">gpointer</link> connection,
88                                              <link linkend="gconstpointer">gconstpointer</link> buffer,
89                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> bytes,
90                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> *bytes_written);</programlisting>
91 <para>
92
93 </para><variablelist role="params">
94 <varlistentry><term><parameter>connection</parameter>&nbsp;:</term>
95 <listitem><simpara>
96 </simpara></listitem></varlistentry>
97 <varlistentry><term><parameter>buffer</parameter>&nbsp;:</term>
98 <listitem><simpara>
99 </simpara></listitem></varlistentry>
100 <varlistentry><term><parameter>bytes</parameter>&nbsp;:</term>
101 <listitem><simpara>
102 </simpara></listitem></varlistentry>
103 <varlistentry><term><parameter>bytes_written</parameter>&nbsp;:</term>
104 <listitem><simpara>
105 </simpara></listitem></varlistentry>
106 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
107
108
109 </simpara></listitem></varlistentry>
110 </variablelist></refsect2>
111 <refsect2>
112 <title><anchor id="GnomeVFSSocketCloseFunc"/>GnomeVFSSocketCloseFunc ()</title>
113 <indexterm><primary>GnomeVFSSocketCloseFunc</primary></indexterm><programlisting><link linkend="void">void</link>        (*GnomeVFSSocketCloseFunc)      (<link linkend="gpointer">gpointer</link> connection);</programlisting>
114 <para>
115
116 </para><variablelist role="params">
117 <varlistentry><term><parameter>connection</parameter>&nbsp;:</term>
118 <listitem><simpara>
119
120
121 </simpara></listitem></varlistentry>
122 </variablelist></refsect2>
123 <refsect2>
124 <title><anchor id="GnomeVFSSocketImpl"/>GnomeVFSSocketImpl</title>
125 <indexterm><primary>GnomeVFSSocketImpl</primary></indexterm><programlisting>typedef struct {
126   GnomeVFSSocketReadFunc read;
127   GnomeVFSSocketWriteFunc write;
128   GnomeVFSSocketCloseFunc close;
129 } GnomeVFSSocketImpl;
130 </programlisting>
131 <para>
132
133 </para></refsect2>
134 <refsect2>
135 <title><anchor id="gnome-vfs-socket-new"/>gnome_vfs_socket_new ()</title>
136 <indexterm><primary>gnome_vfs_socket_new</primary></indexterm><programlisting><link linkend="GnomeVFSSocket">GnomeVFSSocket</link>* gnome_vfs_socket_new        (<link linkend="GnomeVFSSocketImpl">GnomeVFSSocketImpl</link> *impl,
137                                              <link linkend="void">void</link> *connection);</programlisting>
138 <para>
139 Creates a new GnomeVFS Socket using the specific implementation
140 <parameter>impl</parameter>.</para>
141 <para>
142
143 </para><variablelist role="params">
144 <varlistentry><term><parameter>impl</parameter>&nbsp;:</term>
145 <listitem><simpara> an implementation of a socket, e.g. GnomeVFSSSL
146 </simpara></listitem></varlistentry>
147 <varlistentry><term><parameter>connection</parameter>&nbsp;:</term>
148 <listitem><simpara> pointer to a connection object used by <parameter>impl</parameter> to track
149 state (the exact nature of <parameter>connection</parameter> varies from implementation to
150 implementation)
151 </simpara></listitem></varlistentry>
152 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a newly created socket
153 </simpara></listitem></varlistentry>
154 </variablelist></refsect2>
155 <refsect2>
156 <title><anchor id="gnome-vfs-socket-write"/>gnome_vfs_socket_write ()</title>
157 <indexterm><primary>gnome_vfs_socket_write</primary></indexterm><programlisting><link linkend="GnomeVFSResult">GnomeVFSResult</link> gnome_vfs_socket_write       (<link linkend="GnomeVFSSocket">GnomeVFSSocket</link> *socket,
158                                              <link linkend="gconstpointer">gconstpointer</link> buffer,
159                                              <link linkend="int">int</link> bytes,
160                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> *bytes_written);</programlisting>
161 <para>
162 Write <parameter>bytes</parameter> bytes of data from <parameter>buffer</parameter> to <parameter>socket</parameter>.</para>
163 <para>
164
165 </para><variablelist role="params">
166 <varlistentry><term><parameter>socket</parameter>&nbsp;:</term>
167 <listitem><simpara> socket to write data to
168 </simpara></listitem></varlistentry>
169 <varlistentry><term><parameter>buffer</parameter>&nbsp;:</term>
170 <listitem><simpara> data to write to the socket
171 </simpara></listitem></varlistentry>
172 <varlistentry><term><parameter>bytes</parameter>&nbsp;:</term>
173 <listitem><simpara> number of bytes from <parameter>buffer</parameter> to write to <parameter>socket</parameter>
174 </simpara></listitem></varlistentry>
175 <varlistentry><term><parameter>bytes_written</parameter>&nbsp;:</term>
176 <listitem><simpara> pointer to a GnomeVFSFileSize, will contain
177 the number of bytes actually written to the socket on return.
178 </simpara></listitem></varlistentry>
179 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> GnomeVFSResult indicating the success of the operation
180 </simpara></listitem></varlistentry>
181 </variablelist></refsect2>
182 <refsect2>
183 <title><anchor id="gnome-vfs-socket-close"/>gnome_vfs_socket_close ()</title>
184 <indexterm><primary>gnome_vfs_socket_close</primary></indexterm><programlisting><link linkend="GnomeVFSResult">GnomeVFSResult</link> gnome_vfs_socket_close       (<link linkend="GnomeVFSSocket">GnomeVFSSocket</link> *socket);</programlisting>
185 <para>
186 Close <parameter>socket</parameter>, freeing any resources it may be using.</para>
187 <para>
188
189 </para><variablelist role="params">
190 <varlistentry><term><parameter>socket</parameter>&nbsp;:</term>
191 <listitem><simpara> the socket to be closed
192 </simpara></listitem></varlistentry>
193 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> GnomeVFSResult indicating the success of the operation
194 </simpara></listitem></varlistentry>
195 </variablelist></refsect2>
196 <refsect2>
197 <title><anchor id="gnome-vfs-socket-read"/>gnome_vfs_socket_read ()</title>
198 <indexterm><primary>gnome_vfs_socket_read</primary></indexterm><programlisting><link linkend="GnomeVFSResult">GnomeVFSResult</link> gnome_vfs_socket_read        (<link linkend="GnomeVFSSocket">GnomeVFSSocket</link> *socket,
199                                              <link linkend="gpointer">gpointer</link> buffer,
200                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> bytes,
201                                              <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> *bytes_read);</programlisting>
202 <para>
203 Read <parameter>bytes</parameter> bytes of data from the <parameter>socket</parameter> into <parameter>buffer</parameter>.</para>
204 <para>
205
206 </para><variablelist role="params">
207 <varlistentry><term><parameter>socket</parameter>&nbsp;:</term>
208 <listitem><simpara> socket to read data from
209 </simpara></listitem></varlistentry>
210 <varlistentry><term><parameter>buffer</parameter>&nbsp;:</term>
211 <listitem><simpara> allocated buffer of at least <parameter>bytes</parameter> bytes to be read into
212 </simpara></listitem></varlistentry>
213 <varlistentry><term><parameter>bytes</parameter>&nbsp;:</term>
214 <listitem><simpara> number of bytes to read from <parameter>socket</parameter> into <parameter>buffer</parameter>
215 </simpara></listitem></varlistentry>
216 <varlistentry><term><parameter>bytes_read</parameter>&nbsp;:</term>
217 <listitem><simpara> pointer to a GnomeVFSFileSize, will contain
218 the number of bytes actually read from the socket on return.
219 </simpara></listitem></varlistentry>
220 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> GnomeVFSResult indicating the success of the operation
221 </simpara></listitem></varlistentry>
222 </variablelist></refsect2>
223
224 </refsect1>
225
226
227
228
229 </refentry>