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