a11e5480c19d3c299783ef740ff36fb2321300b5
[platform/upstream/glib2.0.git] / docs / reference / gio / html / GSocketListener.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>GSocketListener</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7 <link rel="home" href="index.html" title="GIO Reference Manual">
8 <link rel="up" href="highlevel-socket.html" title="Highlevel network functionallity">
9 <link rel="prev" href="GSocketConnection.html" title="GSocketConnection">
10 <link rel="next" href="GSocketService.html" title="GSocketService">
11 <meta name="generator" content="GTK-Doc V1.13 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 <link rel="part" href="pt01.html" title="Part I. GIO Overview">
14 <link rel="chapter" href="ch01.html" title="Introduction">
15 <link rel="chapter" href="ch02.html" title="Compiling GIO applications">
16 <link rel="chapter" href="ch03.html" title="Running GIO applications">
17 <link rel="chapter" href="extending-gio.html" title="Extending GIO">
18 <link rel="part" href="pt02.html" title="Part II. API Reference">
19 <link rel="chapter" href="file_ops.html" title="File Operations">
20 <link rel="chapter" href="file_mon.html" title="File System Monitoring">
21 <link rel="chapter" href="async.html" title="Asynchronous I/O">
22 <link rel="chapter" href="conversion.html" title="Data conversion">
23 <link rel="chapter" href="streaming.html" title="Streaming I/O">
24 <link rel="chapter" href="types.html" title="File types and applications">
25 <link rel="chapter" href="volume_mon.html" title="Volumes and Drives">
26 <link rel="chapter" href="icons.html" title="Icons">
27 <link rel="chapter" href="failable_initialization.html" title="Failable Initialization">
28 <link rel="chapter" href="networking.html" title="Lowlevel platform-independent network support">
29 <link rel="chapter" href="resolver.html" title="DNS resolution">
30 <link rel="chapter" href="highlevel-socket.html" title="Highlevel network functionallity">
31 <link rel="chapter" href="utils.html" title="Utilities">
32 <link rel="chapter" href="extending.html" title="Extending GIO">
33 <link rel="part" href="migrating.html" title="Part III. Migrating to GIO">
34 <link rel="chapter" href="ch19.html" title="Migrating from POSIX to GIO">
35 <link rel="chapter" href="ch20.html" title="Migrating from GnomeVFS to GIO">
36 <link rel="chapter" href="gio-hierarchy.html" title="Object Hierarchy">
37 <link rel="index" href="api-index-full.html" title="Index">
38 <link rel="index" href="api-index-deprecated.html" title="Index of deprecated symbols">
39 <link rel="index" href="api-index-2-18.html" title="Index of new symbols in 2.18">
40 <link rel="index" href="api-index-2-20.html" title="Index of new symbols in 2.20">
41 <link rel="index" href="api-index-2-22.html" title="Index of new symbols in 2.22">
42 <link rel="index" href="api-index-2-24.html" title="Index of new symbols in 2.24">
43 </head>
44 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
45 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
46 <tr valign="middle">
47 <td><a accesskey="p" href="GSocketConnection.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
48 <td><a accesskey="u" href="highlevel-socket.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
49 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
50 <th width="100%" align="center">GIO Reference Manual</th>
51 <td><a accesskey="n" href="GSocketService.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
52 </tr>
53 <tr><td colspan="5" class="shortcuts">
54 <a href="#GSocketListener.synopsis" class="shortcut">Top</a>
55                    | 
56                   <a href="#GSocketListener.description" class="shortcut">Description</a>
57                    | 
58                   <a href="#GSocketListener.object-hierarchy" class="shortcut">Object Hierarchy</a>
59                    | 
60                   <a href="#GSocketListener.properties" class="shortcut">Properties</a>
61 </td></tr>
62 </table>
63 <div class="refentry" title="GSocketListener">
64 <a name="GSocketListener"></a><div class="titlepage"></div>
65 <div class="refnamediv"><table width="100%"><tr>
66 <td valign="top">
67 <h2><span class="refentrytitle"><a name="GSocketListener.top_of_page"></a>GSocketListener</span></h2>
68 <p>GSocketListener — Helper for accepting network client connections</p>
69 </td>
70 <td valign="top" align="right"></td>
71 </tr></table></div>
72 <div class="refsynopsisdiv" title="Synopsis">
73 <a name="GSocketListener.synopsis"></a><h2>Synopsis</h2>
74 <pre class="synopsis">                    <a class="link" href="GSocketListener.html#GSocketListener-struct" title="GSocketListener">GSocketListener</a>;
75 <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *   <a class="link" href="GSocketListener.html#g-socket-listener-new" title="g_socket_listener_new ()">g_socket_listener_new</a>               (void);
76 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSocketListener.html#g-socket-listener-add-socket" title="g_socket_listener_add_socket ()">g_socket_listener_add_socket</a>        (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
77                                                          <a class="link" href="GSocket.html" title="GSocket"><span class="returnvalue">GSocket</span></a> *socket,
78                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> *source_object,
79                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);
80 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSocketListener.html#g-socket-listener-add-address" title="g_socket_listener_add_address ()">g_socket_listener_add_address</a>       (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
81                                                          <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="returnvalue">GSocketAddress</span></a> *address,
82                                                          <a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="returnvalue">GSocketType</span></a> type,
83                                                          <a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="returnvalue">GSocketProtocol</span></a> protocol,
84                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> *source_object,
85                                                          <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="returnvalue">GSocketAddress</span></a> **effective_address,
86                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);
87 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSocketListener.html#g-socket-listener-add-inet-port" title="g_socket_listener_add_inet_port ()">g_socket_listener_add_inet_port</a>     (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
88                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a> port,
89                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> *source_object,
90                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);
91 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a>             <a class="link" href="GSocketListener.html#g-socket-listener-add-any-inet-port" title="g_socket_listener_add_any_inet_port ()">g_socket_listener_add_any_inet_port</a> (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
92                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> *source_object,
93                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);
94 <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * <a class="link" href="GSocketListener.html#g-socket-listener-accept" title="g_socket_listener_accept ()">g_socket_listener_accept</a>            (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
95                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> **source_object,
96                                                          <a class="link" href="GCancellable.html" title="GCancellable"><span class="returnvalue">GCancellable</span></a> *cancellable,
97                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);
98 <span class="returnvalue">void</span>                <a class="link" href="GSocketListener.html#g-socket-listener-accept-async" title="g_socket_listener_accept_async ()">g_socket_listener_accept_async</a>      (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
99                                                          <a class="link" href="GCancellable.html" title="GCancellable"><span class="returnvalue">GCancellable</span></a> *cancellable,
100                                                          <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="returnvalue">GAsyncReadyCallback</span></a> callback,
101                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> user_data);
102 <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * <a class="link" href="GSocketListener.html#g-socket-listener-accept-finish" title="g_socket_listener_accept_finish ()">g_socket_listener_accept_finish</a>     (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
103                                                          <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="returnvalue">GAsyncResult</span></a> *result,
104                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> **source_object,
105                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);
106 <a class="link" href="GSocket.html" title="GSocket"><span class="returnvalue">GSocket</span></a> *           <a class="link" href="GSocketListener.html#g-socket-listener-accept-socket" title="g_socket_listener_accept_socket ()">g_socket_listener_accept_socket</a>     (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
107                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> **source_object,
108                                                          <a class="link" href="GCancellable.html" title="GCancellable"><span class="returnvalue">GCancellable</span></a> *cancellable,
109                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);
110 <span class="returnvalue">void</span>                <a class="link" href="GSocketListener.html#g-socket-listener-accept-socket-async" title="g_socket_listener_accept_socket_async ()">g_socket_listener_accept_socket_async</a>
111                                                         (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
112                                                          <a class="link" href="GCancellable.html" title="GCancellable"><span class="returnvalue">GCancellable</span></a> *cancellable,
113                                                          <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="returnvalue">GAsyncReadyCallback</span></a> callback,
114                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> user_data);
115 <a class="link" href="GSocket.html" title="GSocket"><span class="returnvalue">GSocket</span></a> *           <a class="link" href="GSocketListener.html#g-socket-listener-accept-socket-finish" title="g_socket_listener_accept_socket_finish ()">g_socket_listener_accept_socket_finish</a>
116                                                         (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
117                                                          <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="returnvalue">GAsyncResult</span></a> *result,
118                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> **source_object,
119                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);
120 <span class="returnvalue">void</span>                <a class="link" href="GSocketListener.html#g-socket-listener-close" title="g_socket_listener_close ()">g_socket_listener_close</a>             (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener);
121 <span class="returnvalue">void</span>                <a class="link" href="GSocketListener.html#g-socket-listener-set-backlog" title="g_socket_listener_set_backlog ()">g_socket_listener_set_backlog</a>       (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
122                                                          <span class="returnvalue">int</span> listen_backlog);
123 </pre>
124 </div>
125 <div class="refsect1" title="Object Hierarchy">
126 <a name="GSocketListener.object-hierarchy"></a><h2>Object Hierarchy</h2>
127 <pre class="synopsis">
128   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
129    +----GSocketListener
130          +----<a class="link" href="GSocketService.html" title="GSocketService">GSocketService</a>
131 </pre>
132 </div>
133 <div class="refsect1" title="Properties">
134 <a name="GSocketListener.properties"></a><h2>Properties</h2>
135 <pre class="synopsis">
136   "<a class="link" href="GSocketListener.html#GSocketListener--listen-backlog" title='The "listen-backlog" property'>listen-backlog</a>"           <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write / Construct
137 </pre>
138 </div>
139 <div class="refsect1" title="Description">
140 <a name="GSocketListener.description"></a><h2>Description</h2>
141 <p>
142 A <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a> is an object that keeps track of a set
143 of server sockets and helps you accept sockets from any of the
144 socket, either sync or async.
145 </p>
146 <p>
147 If you want to implement a network server, also look at <a class="link" href="GSocketService.html" title="GSocketService"><span class="type">GSocketService</span></a>
148 and <a class="link" href="GThreadedSocketService.html" title="GThreadedSocketService"><span class="type">GThreadedSocketService</span></a> which are subclass of <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a>
149 that makes this even easier.</p>
150 </div>
151 <div class="refsect1" title="Details">
152 <a name="GSocketListener.details"></a><h2>Details</h2>
153 <div class="refsect2" title="GSocketListener">
154 <a name="GSocketListener-struct"></a><h3>GSocketListener</h3>
155 <pre class="programlisting">typedef struct _GSocketListener GSocketListener;</pre>
156 <p>
157 </p>
158 </div>
159 <hr>
160 <div class="refsect2" title="g_socket_listener_new ()">
161 <a name="g-socket-listener-new"></a><h3>g_socket_listener_new ()</h3>
162 <pre class="programlisting"><a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *   g_socket_listener_new               (void);</pre>
163 <p>
164 Creates a new <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a> with no sockets to listen for.
165 New listeners can be added with e.g. <a class="link" href="GSocketListener.html#g-socket-listener-add-address" title="g_socket_listener_add_address ()"><code class="function">g_socket_listener_add_address()</code></a>
166 or <a class="link" href="GSocketListener.html#g-socket-listener-add-inet-port" title="g_socket_listener_add_inet_port ()"><code class="function">g_socket_listener_add_inet_port()</code></a>.</p>
167 <div class="variablelist"><table border="0">
168 <col align="left" valign="top">
169 <tbody><tr>
170 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
171 <td> a new <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a>.
172
173 </td>
174 </tr></tbody>
175 </table></div>
176 <p class="since">Since 2.22</p>
177 </div>
178 <hr>
179 <div class="refsect2" title="g_socket_listener_add_socket ()">
180 <a name="g-socket-listener-add-socket"></a><h3>g_socket_listener_add_socket ()</h3>
181 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_socket_listener_add_socket        (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
182                                                          <a class="link" href="GSocket.html" title="GSocket"><span class="returnvalue">GSocket</span></a> *socket,
183                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> *source_object,
184                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);</pre>
185 <p>
186 Adds <em class="parameter"><code>socket</code></em> to the set of sockets that we try to accept
187 new clients from. The socket must be bound to a local
188 address and listened to.
189 </p>
190 <p>
191 <em class="parameter"><code>source_object</code></em> will be passed out in the various calls
192 to accept to identify this particular source, which is
193 useful if you're listening on multiple addresses and do
194 different things depending on what address is connected to.</p>
195 <div class="variablelist"><table border="0">
196 <col align="left" valign="top">
197 <tbody>
198 <tr>
199 <td><p><span class="term"><em class="parameter"><code>listener</code></em> :</span></p></td>
200 <td> a <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a>
201 </td>
202 </tr>
203 <tr>
204 <td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
205 <td> a listening <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>
206 </td>
207 </tr>
208 <tr>
209 <td><p><span class="term"><em class="parameter"><code>source_object</code></em> :</span></p></td>
210 <td> Optional <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> identifying this source
211 </td>
212 </tr>
213 <tr>
214 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
215 <td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
216 </td>
217 </tr>
218 <tr>
219 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
220 <td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error.
221
222 </td>
223 </tr>
224 </tbody>
225 </table></div>
226 <p class="since">Since 2.22</p>
227 </div>
228 <hr>
229 <div class="refsect2" title="g_socket_listener_add_address ()">
230 <a name="g-socket-listener-add-address"></a><h3>g_socket_listener_add_address ()</h3>
231 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_socket_listener_add_address       (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
232                                                          <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="returnvalue">GSocketAddress</span></a> *address,
233                                                          <a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="returnvalue">GSocketType</span></a> type,
234                                                          <a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="returnvalue">GSocketProtocol</span></a> protocol,
235                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> *source_object,
236                                                          <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="returnvalue">GSocketAddress</span></a> **effective_address,
237                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);</pre>
238 <p>
239 Creates a socket of type <em class="parameter"><code>type</code></em> and protocol <em class="parameter"><code>protocol</code></em>, binds
240 it to <em class="parameter"><code>address</code></em> and adds it to the set of sockets we're accepting
241 sockets from.
242 </p>
243 <p>
244 Note that adding an IPv6 address, depending on the platform,
245 may or may not result in a listener that also accepts IPv4
246 connections.  For more determinstic behaviour, see
247 <a class="link" href="GSocketListener.html#g-socket-listener-add-inet-port" title="g_socket_listener_add_inet_port ()"><code class="function">g_socket_listener_add_inet_port()</code></a>.
248 </p>
249 <p>
250 <em class="parameter"><code>source_object</code></em> will be passed out in the various calls
251 to accept to identify this particular source, which is
252 useful if you're listening on multiple addresses and do
253 different things depending on what address is connected to.
254 </p>
255 <p>
256 If successful and <em class="parameter"><code>effective_address</code></em> is non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then it will
257 be set to the address that the binding actually occured at.  This
258 is helpful for determining the port number that was used for when
259 requesting a binding to port 0 (ie: "any port").  This address, if
260 requested, belongs to the caller and must be freed.</p>
261 <div class="variablelist"><table border="0">
262 <col align="left" valign="top">
263 <tbody>
264 <tr>
265 <td><p><span class="term"><em class="parameter"><code>listener</code></em> :</span></p></td>
266 <td> a <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a>
267 </td>
268 </tr>
269 <tr>
270 <td><p><span class="term"><em class="parameter"><code>address</code></em> :</span></p></td>
271 <td> a <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a>
272 </td>
273 </tr>
274 <tr>
275 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
276 <td> a <a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="type">GSocketType</span></a>
277 </td>
278 </tr>
279 <tr>
280 <td><p><span class="term"><em class="parameter"><code>protocol</code></em> :</span></p></td>
281 <td> a <a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="type">GSocketProtocol</span></a>
282 </td>
283 </tr>
284 <tr>
285 <td><p><span class="term"><em class="parameter"><code>source_object</code></em> :</span></p></td>
286 <td> Optional <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> identifying this source
287 </td>
288 </tr>
289 <tr>
290 <td><p><span class="term"><em class="parameter"><code>effective_address</code></em> :</span></p></td>
291 <td> location to store the address that was bound to, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
292 </td>
293 </tr>
294 <tr>
295 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
296 <td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
297 </td>
298 </tr>
299 <tr>
300 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
301 <td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error.
302
303 </td>
304 </tr>
305 </tbody>
306 </table></div>
307 <p class="since">Since 2.22</p>
308 </div>
309 <hr>
310 <div class="refsect2" title="g_socket_listener_add_inet_port ()">
311 <a name="g-socket-listener-add-inet-port"></a><h3>g_socket_listener_add_inet_port ()</h3>
312 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_socket_listener_add_inet_port     (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
313                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a> port,
314                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> *source_object,
315                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);</pre>
316 <p>
317 Helper function for <a class="link" href="GSocketListener.html#g-socket-listener-add-address" title="g_socket_listener_add_address ()"><code class="function">g_socket_listener_add_address()</code></a> that
318 creates a TCP/IP socket listening on IPv4 and IPv6 (if
319 supported) on the specified port on all interfaces.
320 </p>
321 <p>
322 <em class="parameter"><code>source_object</code></em> will be passed out in the various calls
323 to accept to identify this particular source, which is
324 useful if you're listening on multiple addresses and do
325 different things depending on what address is connected to.</p>
326 <div class="variablelist"><table border="0">
327 <col align="left" valign="top">
328 <tbody>
329 <tr>
330 <td><p><span class="term"><em class="parameter"><code>listener</code></em> :</span></p></td>
331 <td> a <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a>
332 </td>
333 </tr>
334 <tr>
335 <td><p><span class="term"><em class="parameter"><code>port</code></em> :</span></p></td>
336 <td> an IP port number (non-zero)
337 </td>
338 </tr>
339 <tr>
340 <td><p><span class="term"><em class="parameter"><code>source_object</code></em> :</span></p></td>
341 <td> Optional <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> identifying this source
342 </td>
343 </tr>
344 <tr>
345 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
346 <td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
347 </td>
348 </tr>
349 <tr>
350 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
351 <td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error.
352
353 </td>
354 </tr>
355 </tbody>
356 </table></div>
357 <p class="since">Since 2.22</p>
358 </div>
359 <hr>
360 <div class="refsect2" title="g_socket_listener_add_any_inet_port ()">
361 <a name="g-socket-listener-add-any-inet-port"></a><h3>g_socket_listener_add_any_inet_port ()</h3>
362 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a>             g_socket_listener_add_any_inet_port (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
363                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> *source_object,
364                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);</pre>
365 <p>
366 Listens for TCP connections on any available port number for both
367 IPv6 and IPv4 (if each are available).
368 </p>
369 <p>
370 This is useful if you need to have a socket for incoming connections
371 but don't care about the specific port number.
372 </p>
373 <p>
374 <em class="parameter"><code>source_object</code></em> will be passed out in the various calls
375 to accept to identify this particular source, which is
376 useful if you're listening on multiple addresses and do
377 different things depending on what address is connected to.</p>
378 <div class="variablelist"><table border="0">
379 <col align="left" valign="top">
380 <tbody>
381 <tr>
382 <td><p><span class="term"><em class="parameter"><code>listener</code></em> :</span></p></td>
383 <td> a <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a>
384 </td>
385 </tr>
386 <tr>
387 <td><p><span class="term"><em class="parameter"><code>source_object</code></em> :</span></p></td>
388 <td> Optional <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> identifying this source
389 </td>
390 </tr>
391 <tr>
392 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
393 <td> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> location to store the error occuring, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to
394 ignore.
395 </td>
396 </tr>
397 <tr>
398 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
399 <td> the port number, or 0 in case of failure.
400
401 </td>
402 </tr>
403 </tbody>
404 </table></div>
405 <p class="since">Since 2.24</p>
406 </div>
407 <hr>
408 <div class="refsect2" title="g_socket_listener_accept ()">
409 <a name="g-socket-listener-accept"></a><h3>g_socket_listener_accept ()</h3>
410 <pre class="programlisting"><a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * g_socket_listener_accept            (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
411                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> **source_object,
412                                                          <a class="link" href="GCancellable.html" title="GCancellable"><span class="returnvalue">GCancellable</span></a> *cancellable,
413                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);</pre>
414 <p>
415 Blocks waiting for a client to connect to any of the sockets added
416 to the listener. Returns a <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> for the socket that was
417 accepted.
418 </p>
419 <p>
420 If <em class="parameter"><code>source_object</code></em> is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> it will be filled out with the source
421 object specified when the corresponding socket or address was added
422 to the listener.
423 </p>
424 <p>
425 If <em class="parameter"><code>cancellable</code></em> is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, then the operation can be cancelled by
426 triggering the cancellable object from another thread. If the operation
427 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.</p>
428 <div class="variablelist"><table border="0">
429 <col align="left" valign="top">
430 <tbody>
431 <tr>
432 <td><p><span class="term"><em class="parameter"><code>listener</code></em> :</span></p></td>
433 <td> a <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a>
434 </td>
435 </tr>
436 <tr>
437 <td><p><span class="term"><em class="parameter"><code>source_object</code></em> :</span></p></td>
438 <td> location where <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> pointer will be stored, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
439 </td>
440 </tr>
441 <tr>
442 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
443 <td> optional <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> object, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
444 </td>
445 </tr>
446 <tr>
447 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
448 <td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
449 </td>
450 </tr>
451 <tr>
452 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
453 <td> a <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error.
454
455 </td>
456 </tr>
457 </tbody>
458 </table></div>
459 <p class="since">Since 2.22</p>
460 </div>
461 <hr>
462 <div class="refsect2" title="g_socket_listener_accept_async ()">
463 <a name="g-socket-listener-accept-async"></a><h3>g_socket_listener_accept_async ()</h3>
464 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_listener_accept_async      (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
465                                                          <a class="link" href="GCancellable.html" title="GCancellable"><span class="returnvalue">GCancellable</span></a> *cancellable,
466                                                          <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="returnvalue">GAsyncReadyCallback</span></a> callback,
467                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> user_data);</pre>
468 <p>
469 This is the asynchronous version of <a class="link" href="GSocketListener.html#g-socket-listener-accept" title="g_socket_listener_accept ()"><code class="function">g_socket_listener_accept()</code></a>.
470 </p>
471 <p>
472 When the operation is finished <em class="parameter"><code>callback</code></em> will be
473 called. You can then call <a class="link" href="GSocketListener.html#g-socket-listener-accept-socket" title="g_socket_listener_accept_socket ()"><code class="function">g_socket_listener_accept_socket()</code></a>
474 to get the result of the operation.</p>
475 <div class="variablelist"><table border="0">
476 <col align="left" valign="top">
477 <tbody>
478 <tr>
479 <td><p><span class="term"><em class="parameter"><code>listener</code></em> :</span></p></td>
480 <td> a <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a>
481 </td>
482 </tr>
483 <tr>
484 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
485 <td> a <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
486 </td>
487 </tr>
488 <tr>
489 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
490 <td> a <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a>
491 </td>
492 </tr>
493 <tr>
494 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
495 <td> user data for the callback
496 </td>
497 </tr>
498 </tbody>
499 </table></div>
500 <p class="since">Since 2.22</p>
501 </div>
502 <hr>
503 <div class="refsect2" title="g_socket_listener_accept_finish ()">
504 <a name="g-socket-listener-accept-finish"></a><h3>g_socket_listener_accept_finish ()</h3>
505 <pre class="programlisting"><a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * g_socket_listener_accept_finish     (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
506                                                          <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="returnvalue">GAsyncResult</span></a> *result,
507                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> **source_object,
508                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);</pre>
509 <p>
510 Finishes an async accept operation. See <a class="link" href="GSocketListener.html#g-socket-listener-accept-async" title="g_socket_listener_accept_async ()"><code class="function">g_socket_listener_accept_async()</code></a></p>
511 <div class="variablelist"><table border="0">
512 <col align="left" valign="top">
513 <tbody>
514 <tr>
515 <td><p><span class="term"><em class="parameter"><code>listener</code></em> :</span></p></td>
516 <td> a <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a>
517 </td>
518 </tr>
519 <tr>
520 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
521 <td> a <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a>.
522 </td>
523 </tr>
524 <tr>
525 <td><p><span class="term"><em class="parameter"><code>source_object</code></em> :</span></p></td>
526 <td> Optional <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> identifying this source
527 </td>
528 </tr>
529 <tr>
530 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
531 <td> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> location to store the error occuring, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to
532 ignore.
533 </td>
534 </tr>
535 <tr>
536 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
537 <td> a <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error.
538
539 </td>
540 </tr>
541 </tbody>
542 </table></div>
543 <p class="since">Since 2.22</p>
544 </div>
545 <hr>
546 <div class="refsect2" title="g_socket_listener_accept_socket ()">
547 <a name="g-socket-listener-accept-socket"></a><h3>g_socket_listener_accept_socket ()</h3>
548 <pre class="programlisting"><a class="link" href="GSocket.html" title="GSocket"><span class="returnvalue">GSocket</span></a> *           g_socket_listener_accept_socket     (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
549                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> **source_object,
550                                                          <a class="link" href="GCancellable.html" title="GCancellable"><span class="returnvalue">GCancellable</span></a> *cancellable,
551                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);</pre>
552 <p>
553 Blocks waiting for a client to connect to any of the sockets added
554 to the listener. Returns the <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> that was accepted.
555 </p>
556 <p>
557 If you want to accept the high-level <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a>, not a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a>,
558 which is often the case, then you should use <a class="link" href="GSocketListener.html#g-socket-listener-accept" title="g_socket_listener_accept ()"><code class="function">g_socket_listener_accept()</code></a>
559 instead.
560 </p>
561 <p>
562 If <em class="parameter"><code>source_object</code></em> is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> it will be filled out with the source
563 object specified when the corresponding socket or address was added
564 to the listener.
565 </p>
566 <p>
567 If <em class="parameter"><code>cancellable</code></em> is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, then the operation can be cancelled by
568 triggering the cancellable object from another thread. If the operation
569 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.</p>
570 <div class="variablelist"><table border="0">
571 <col align="left" valign="top">
572 <tbody>
573 <tr>
574 <td><p><span class="term"><em class="parameter"><code>listener</code></em> :</span></p></td>
575 <td> a <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a>
576 </td>
577 </tr>
578 <tr>
579 <td><p><span class="term"><em class="parameter"><code>source_object</code></em> :</span></p></td>
580 <td> location where <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> pointer will be stored, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
581 </td>
582 </tr>
583 <tr>
584 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
585 <td> optional <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> object, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
586 </td>
587 </tr>
588 <tr>
589 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
590 <td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
591 </td>
592 </tr>
593 <tr>
594 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
595 <td> a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error.
596
597 </td>
598 </tr>
599 </tbody>
600 </table></div>
601 <p class="since">Since 2.22</p>
602 </div>
603 <hr>
604 <div class="refsect2" title="g_socket_listener_accept_socket_async ()">
605 <a name="g-socket-listener-accept-socket-async"></a><h3>g_socket_listener_accept_socket_async ()</h3>
606 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_listener_accept_socket_async
607                                                         (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
608                                                          <a class="link" href="GCancellable.html" title="GCancellable"><span class="returnvalue">GCancellable</span></a> *cancellable,
609                                                          <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="returnvalue">GAsyncReadyCallback</span></a> callback,
610                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> user_data);</pre>
611 <p>
612 This is the asynchronous version of <a class="link" href="GSocketListener.html#g-socket-listener-accept-socket" title="g_socket_listener_accept_socket ()"><code class="function">g_socket_listener_accept_socket()</code></a>.
613 </p>
614 <p>
615 When the operation is finished <em class="parameter"><code>callback</code></em> will be
616 called. You can then call <a class="link" href="GSocketListener.html#g-socket-listener-accept-socket-finish" title="g_socket_listener_accept_socket_finish ()"><code class="function">g_socket_listener_accept_socket_finish()</code></a>
617 to get the result of the operation.</p>
618 <div class="variablelist"><table border="0">
619 <col align="left" valign="top">
620 <tbody>
621 <tr>
622 <td><p><span class="term"><em class="parameter"><code>listener</code></em> :</span></p></td>
623 <td> a <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a>
624 </td>
625 </tr>
626 <tr>
627 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
628 <td> a <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
629 </td>
630 </tr>
631 <tr>
632 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
633 <td> a <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a>
634 </td>
635 </tr>
636 <tr>
637 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
638 <td> user data for the callback
639 </td>
640 </tr>
641 </tbody>
642 </table></div>
643 <p class="since">Since 2.22</p>
644 </div>
645 <hr>
646 <div class="refsect2" title="g_socket_listener_accept_socket_finish ()">
647 <a name="g-socket-listener-accept-socket-finish"></a><h3>g_socket_listener_accept_socket_finish ()</h3>
648 <pre class="programlisting"><a class="link" href="GSocket.html" title="GSocket"><span class="returnvalue">GSocket</span></a> *           g_socket_listener_accept_socket_finish
649                                                         (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
650                                                          <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="returnvalue">GAsyncResult</span></a> *result,
651                                                          <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> **source_object,
652                                                          <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> **error);</pre>
653 <p>
654 Finishes an async accept operation. See <a class="link" href="GSocketListener.html#g-socket-listener-accept-socket-async" title="g_socket_listener_accept_socket_async ()"><code class="function">g_socket_listener_accept_socket_async()</code></a></p>
655 <div class="variablelist"><table border="0">
656 <col align="left" valign="top">
657 <tbody>
658 <tr>
659 <td><p><span class="term"><em class="parameter"><code>listener</code></em> :</span></p></td>
660 <td> a <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a>
661 </td>
662 </tr>
663 <tr>
664 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
665 <td> a <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a>.
666 </td>
667 </tr>
668 <tr>
669 <td><p><span class="term"><em class="parameter"><code>source_object</code></em> :</span></p></td>
670 <td> Optional <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> identifying this source
671 </td>
672 </tr>
673 <tr>
674 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
675 <td> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> location to store the error occuring, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to
676 ignore.
677 </td>
678 </tr>
679 <tr>
680 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
681 <td> a <a class="link" href="GSocket.html" title="GSocket"><span class="type">GSocket</span></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error.
682
683 </td>
684 </tr>
685 </tbody>
686 </table></div>
687 <p class="since">Since 2.22</p>
688 </div>
689 <hr>
690 <div class="refsect2" title="g_socket_listener_close ()">
691 <a name="g-socket-listener-close"></a><h3>g_socket_listener_close ()</h3>
692 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_listener_close             (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener);</pre>
693 <p>
694 Closes all the sockets in the listener.</p>
695 <div class="variablelist"><table border="0">
696 <col align="left" valign="top">
697 <tbody><tr>
698 <td><p><span class="term"><em class="parameter"><code>listener</code></em> :</span></p></td>
699 <td> a <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a>
700 </td>
701 </tr></tbody>
702 </table></div>
703 <p class="since">Since 2.22</p>
704 </div>
705 <hr>
706 <div class="refsect2" title="g_socket_listener_set_backlog ()">
707 <a name="g-socket-listener-set-backlog"></a><h3>g_socket_listener_set_backlog ()</h3>
708 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_listener_set_backlog       (<a class="link" href="GSocketListener.html" title="GSocketListener"><span class="returnvalue">GSocketListener</span></a> *listener,
709                                                          <span class="returnvalue">int</span> listen_backlog);</pre>
710 <p>
711 Sets the listen backlog on the sockets in the listener.
712 </p>
713 <p>
714 See <a class="link" href="GSocket.html#g-socket-set-listen-backlog" title="g_socket_set_listen_backlog ()"><code class="function">g_socket_set_listen_backlog()</code></a> for details</p>
715 <div class="variablelist"><table border="0">
716 <col align="left" valign="top">
717 <tbody>
718 <tr>
719 <td><p><span class="term"><em class="parameter"><code>listener</code></em> :</span></p></td>
720 <td> a <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a>
721 </td>
722 </tr>
723 <tr>
724 <td><p><span class="term"><em class="parameter"><code>listen_backlog</code></em> :</span></p></td>
725 <td> an integer
726 </td>
727 </tr>
728 </tbody>
729 </table></div>
730 <p class="since">Since 2.22</p>
731 </div>
732 </div>
733 <div class="refsect1" title="Property Details">
734 <a name="GSocketListener.property-details"></a><h2>Property Details</h2>
735 <div class="refsect2" title='The "listen-backlog" property'>
736 <a name="GSocketListener--listen-backlog"></a><h3>The <code class="literal">"listen-backlog"</code> property</h3>
737 <pre class="programlisting">  "listen-backlog"           <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write / Construct</pre>
738 <p>outstanding connections in the listen queue.</p>
739 <p>Allowed values: [0,2000]</p>
740 <p>Default value: 10</p>
741 </div>
742 </div>
743 <div class="refsect1" title="See Also">
744 <a name="GSocketListener.see-also"></a><h2>See Also</h2>
745 <a class="link" href="GThreadedSocketService.html" title="GThreadedSocketService"><span class="type">GThreadedSocketService</span></a>, <a class="link" href="GSocketService.html" title="GSocketService"><span class="type">GSocketService</span></a>.
746 </div>
747 </div>
748 <div class="footer">
749 <hr>
750           Generated by GTK-Doc V1.13</div>
751 </body>
752 </html>