1 <refentry id="gnome-vfs-20-gnome-vfs-socket">
3 <refentrytitle>gnome-vfs-socket</refentrytitle>
4 <manvolnum>3</manvolnum>
5 <refmiscinfo>GNOME-VFS-2.0 Library</refmiscinfo>
9 <refname>gnome-vfs-socket</refname><refpurpose></refpurpose>
12 <refsynopsisdiv><title>Synopsis</title>
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);
51 <title>Description</title>
58 <title>Details</title>
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>
67 </para><variablelist role="params">
68 <varlistentry><term><parameter>connection</parameter> :</term>
70 </simpara></listitem></varlistentry>
71 <varlistentry><term><parameter>buffer</parameter> :</term>
73 </simpara></listitem></varlistentry>
74 <varlistentry><term><parameter>bytes</parameter> :</term>
76 </simpara></listitem></varlistentry>
77 <varlistentry><term><parameter>bytes_read</parameter> :</term>
79 </simpara></listitem></varlistentry>
80 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
83 </simpara></listitem></varlistentry>
84 </variablelist></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>
93 </para><variablelist role="params">
94 <varlistentry><term><parameter>connection</parameter> :</term>
96 </simpara></listitem></varlistentry>
97 <varlistentry><term><parameter>buffer</parameter> :</term>
99 </simpara></listitem></varlistentry>
100 <varlistentry><term><parameter>bytes</parameter> :</term>
102 </simpara></listitem></varlistentry>
103 <varlistentry><term><parameter>bytes_written</parameter> :</term>
105 </simpara></listitem></varlistentry>
106 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
109 </simpara></listitem></varlistentry>
110 </variablelist></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>
116 </para><variablelist role="params">
117 <varlistentry><term><parameter>connection</parameter> :</term>
121 </simpara></listitem></varlistentry>
122 </variablelist></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;
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>
139 Creates a new GnomeVFS Socket using the specific implementation
140 <parameter>impl</parameter>.</para>
143 </para><variablelist role="params">
144 <varlistentry><term><parameter>impl</parameter> :</term>
145 <listitem><simpara> an implementation of a socket, e.g. GnomeVFSSSL
146 </simpara></listitem></varlistentry>
147 <varlistentry><term><parameter>connection</parameter> :</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
151 </simpara></listitem></varlistentry>
152 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a newly created socket
153 </simpara></listitem></varlistentry>
154 </variablelist></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>
162 Write <parameter>bytes</parameter> bytes of data from <parameter>buffer</parameter> to <parameter>socket</parameter>.</para>
165 </para><variablelist role="params">
166 <varlistentry><term><parameter>socket</parameter> :</term>
167 <listitem><simpara> socket to write data to
168 </simpara></listitem></varlistentry>
169 <varlistentry><term><parameter>buffer</parameter> :</term>
170 <listitem><simpara> data to write to the socket
171 </simpara></listitem></varlistentry>
172 <varlistentry><term><parameter>bytes</parameter> :</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> :</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>
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>
186 Close <parameter>socket</parameter>, freeing any resources it may be using.</para>
189 </para><variablelist role="params">
190 <varlistentry><term><parameter>socket</parameter> :</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>
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>
203 Read <parameter>bytes</parameter> bytes of data from the <parameter>socket</parameter> into <parameter>buffer</parameter>.</para>
206 </para><variablelist role="params">
207 <varlistentry><term><parameter>socket</parameter> :</term>
208 <listitem><simpara> socket to read data from
209 </simpara></listitem></varlistentry>
210 <varlistentry><term><parameter>buffer</parameter> :</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> :</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> :</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>