diff options
Diffstat (limited to 'docs/reference/html/SoupSocket.html')
-rw-r--r-- | docs/reference/html/SoupSocket.html | 1624 |
1 files changed, 0 insertions, 1624 deletions
diff --git a/docs/reference/html/SoupSocket.html b/docs/reference/html/SoupSocket.html deleted file mode 100644 index 59807f32..00000000 --- a/docs/reference/html/SoupSocket.html +++ /dev/null @@ -1,1624 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>SoupSocket: libsoup Reference Manual</title> -<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> -<link rel="home" href="index.html" title="libsoup Reference Manual"> -<link rel="up" href="ch05.html" title="Low-level Networking API"> -<link rel="prev" href="SoupAddress.html" title="SoupAddress"> -<link rel="next" href="ix01.html" title="Index"> -<meta name="generator" content="GTK-Doc V1.28.1 (XML mode)"> -<link rel="stylesheet" href="style.css" type="text/css"> -</head> -<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> -<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> -<td width="100%" align="left" class="shortcuts"> -<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> - <a href="#SoupSocket.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> - <a href="#SoupSocket.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces"> <span class="dim">|</span> - <a href="#SoupSocket.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties"> <span class="dim">|</span> - <a href="#SoupSocket.properties" class="shortcut">Properties</a></span><span id="nav_signals"> <span class="dim">|</span> - <a href="#SoupSocket.signals" class="shortcut">Signals</a></span> -</td> -<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> -<td><a accesskey="u" href="ch05.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="SoupAddress.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="ix01.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> -</tr></table> -<div class="refentry"> -<a name="SoupSocket"></a><div class="titlepage"></div> -<div class="refnamediv"><table width="100%"><tr> -<td valign="top"> -<h2><span class="refentrytitle"><a name="SoupSocket.top_of_page"></a>SoupSocket</span></h2> -<p>SoupSocket — A network socket</p> -</td> -<td class="gallery_image" valign="top" align="right"></td> -</tr></table></div> -<div class="refsect1"> -<a name="SoupSocket.functions"></a><h2>Functions</h2> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="functions_return"> -<col class="functions_name"> -</colgroup> -<tbody> -<tr> -<td class="function_type"> -<a class="link" href="SoupSocket.html" title="SoupSocket"><span class="returnvalue">SoupSocket</span></a> * -</td> -<td class="function_name"> -<a class="link" href="SoupSocket.html#soup-socket-new" title="soup_socket_new ()">soup_socket_new</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<span class="c_punctuation">(</span><a class="link" href="SoupSocket.html#SoupSocketCallback" title="SoupSocketCallback ()">*SoupSocketCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupSocket.html#soup-socket-connect-async" title="soup_socket_connect_async ()">soup_socket_connect_async</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">guint</span> -</td> -<td class="function_name"> -<a class="link" href="SoupSocket.html#soup-socket-connect-sync" title="soup_socket_connect_sync ()">soup_socket_connect_sync</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">gboolean</span> -</td> -<td class="function_name"> -<a class="link" href="SoupSocket.html#soup-socket-listen" title="soup_socket_listen ()">soup_socket_listen</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">gboolean</span> -</td> -<td class="function_name"> -<a class="link" href="SoupSocket.html#soup-socket-start-ssl" title="soup_socket_start_ssl ()">soup_socket_start_ssl</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">gboolean</span> -</td> -<td class="function_name"> -<a class="link" href="SoupSocket.html#soup-socket-start-proxy-ssl" title="soup_socket_start_proxy_ssl ()">soup_socket_start_proxy_ssl</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">gboolean</span> -</td> -<td class="function_name"> -<a class="link" href="SoupSocket.html#soup-socket-is-ssl" title="soup_socket_is_ssl ()">soup_socket_is_ssl</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupSocket.html#soup-socket-disconnect" title="soup_socket_disconnect ()">soup_socket_disconnect</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">gboolean</span> -</td> -<td class="function_name"> -<a class="link" href="SoupSocket.html#soup-socket-is-connected" title="soup_socket_is_connected ()">soup_socket_is_connected</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<a class="link" href="SoupAddress.html" title="SoupAddress"><span class="returnvalue">SoupAddress</span></a> * -</td> -<td class="function_name"> -<a class="link" href="SoupSocket.html#soup-socket-get-local-address" title="soup_socket_get_local_address ()">soup_socket_get_local_address</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<a class="link" href="SoupAddress.html" title="SoupAddress"><span class="returnvalue">SoupAddress</span></a> * -</td> -<td class="function_name"> -<a class="link" href="SoupSocket.html#soup-socket-get-remote-address" title="soup_socket_get_remote_address ()">soup_socket_get_remote_address</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">int</span> -</td> -<td class="function_name"> -<a class="link" href="SoupSocket.html#soup-socket-get-fd" title="soup_socket_get_fd ()">soup_socket_get_fd</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<a class="link" href="SoupSocket.html#SoupSocketIOStatus" title="enum SoupSocketIOStatus"><span class="returnvalue">SoupSocketIOStatus</span></a> -</td> -<td class="function_name"> -<a class="link" href="SoupSocket.html#soup-socket-read" title="soup_socket_read ()">soup_socket_read</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<a class="link" href="SoupSocket.html#SoupSocketIOStatus" title="enum SoupSocketIOStatus"><span class="returnvalue">SoupSocketIOStatus</span></a> -</td> -<td class="function_name"> -<a class="link" href="SoupSocket.html#soup-socket-read-until" title="soup_socket_read_until ()">soup_socket_read_until</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<a class="link" href="SoupSocket.html#SoupSocketIOStatus" title="enum SoupSocketIOStatus"><span class="returnvalue">SoupSocketIOStatus</span></a> -</td> -<td class="function_name"> -<a class="link" href="SoupSocket.html#soup-socket-write" title="soup_socket_write ()">soup_socket_write</a> <span class="c_punctuation">()</span> -</td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect1"> -<a name="SoupSocket.properties"></a><h2>Properties</h2> -<div class="informaltable"><table class="informaltable" border="0"> -<colgroup> -<col width="150px" class="properties_type"> -<col width="300px" class="properties_name"> -<col width="200px" class="properties_flags"> -</colgroup> -<tbody> -<tr> -<td class="property_type"><span class="type">gpointer</span></td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--async-context" title="The “async-context” property">async-context</a></td> -<td class="property_flags">Read / Write / Construct Only</td> -</tr> -<tr> -<td class="property_type"><span class="type">gint</span></td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--fd" title="The “fd” property">fd</a></td> -<td class="property_flags">Read / Write / Construct Only</td> -</tr> -<tr> -<td class="property_type"> -<span class="type">GSocket</span> *</td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--gsocket" title="The “gsocket” property">gsocket</a></td> -<td class="property_flags">Write / Construct Only</td> -</tr> -<tr> -<td class="property_type"> -<span class="type">GIOStream</span> *</td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--iostream" title="The “iostream” property">iostream</a></td> -<td class="property_flags">Write / Construct Only</td> -</tr> -<tr> -<td class="property_type"><span class="type">gboolean</span></td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--ipv6-only" title="The “ipv6-only” property">ipv6-only</a></td> -<td class="property_flags">Read / Write</td> -</tr> -<tr> -<td class="property_type"><span class="type">gboolean</span></td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--is-server" title="The “is-server” property">is-server</a></td> -<td class="property_flags">Read</td> -</tr> -<tr> -<td class="property_type"> -<a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *</td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--local-address" title="The “local-address” property">local-address</a></td> -<td class="property_flags">Read / Write / Construct Only</td> -</tr> -<tr> -<td class="property_type"><span class="type">gboolean</span></td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--non-blocking" title="The “non-blocking” property">non-blocking</a></td> -<td class="property_flags">Read / Write</td> -</tr> -<tr> -<td class="property_type"> -<a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *</td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--remote-address" title="The “remote-address” property">remote-address</a></td> -<td class="property_flags">Read / Write / Construct Only</td> -</tr> -<tr> -<td class="property_type"> -<span class="type">SoupSocketProperties</span> *</td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--socket-properties" title="The “socket-properties” property">socket-properties</a></td> -<td class="property_flags">Write</td> -</tr> -<tr> -<td class="property_type"><span class="type">gpointer</span></td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--ssl-creds" title="The “ssl-creds” property">ssl-creds</a></td> -<td class="property_flags">Read / Write</td> -</tr> -<tr> -<td class="property_type"><span class="type">gboolean</span></td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--ssl-fallback" title="The “ssl-fallback” property">ssl-fallback</a></td> -<td class="property_flags">Read / Write / Construct Only</td> -</tr> -<tr> -<td class="property_type"><span class="type">gboolean</span></td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--ssl-strict" title="The “ssl-strict” property">ssl-strict</a></td> -<td class="property_flags">Read / Write / Construct Only</td> -</tr> -<tr> -<td class="property_type"><span class="type">guint</span></td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--timeout" title="The “timeout” property">timeout</a></td> -<td class="property_flags">Read / Write</td> -</tr> -<tr> -<td class="property_type"> -<span class="type">GTlsCertificate</span> *</td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--tls-certificate" title="The “tls-certificate” property">tls-certificate</a></td> -<td class="property_flags">Read</td> -</tr> -<tr> -<td class="property_type"><span class="type">GTlsCertificateFlags</span></td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--tls-errors" title="The “tls-errors” property">tls-errors</a></td> -<td class="property_flags">Read</td> -</tr> -<tr> -<td class="property_type"><span class="type">gboolean</span></td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--trusted-certificate" title="The “trusted-certificate” property">trusted-certificate</a></td> -<td class="property_flags">Read</td> -</tr> -<tr> -<td class="property_type"><span class="type">gboolean</span></td> -<td class="property_name"><a class="link" href="SoupSocket.html#SoupSocket--use-thread-context" title="The “use-thread-context” property">use-thread-context</a></td> -<td class="property_flags">Read / Write / Construct Only</td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect1"> -<a name="SoupSocket.signals"></a><h2>Signals</h2> -<div class="informaltable"><table class="informaltable" border="0"> -<colgroup> -<col width="150px" class="signals_return"> -<col width="300px" class="signals_name"> -<col width="200px" class="signals_flags"> -</colgroup> -<tbody> -<tr> -<td class="signal_type"><span class="returnvalue">void</span></td> -<td class="signal_name"><a class="link" href="SoupSocket.html#SoupSocket-disconnected" title="The “disconnected” signal">disconnected</a></td> -<td class="signal_flags">Run Last</td> -</tr> -<tr> -<td class="signal_type"><span class="returnvalue">void</span></td> -<td class="signal_name"><a class="link" href="SoupSocket.html#SoupSocket-event" title="The “event” signal">event</a></td> -<td class="signal_flags">Run Last</td> -</tr> -<tr> -<td class="signal_type"><span class="returnvalue">void</span></td> -<td class="signal_name"><a class="link" href="SoupSocket.html#SoupSocket-new-connection" title="The “new-connection” signal">new-connection</a></td> -<td class="signal_flags">Run First</td> -</tr> -<tr> -<td class="signal_type"><span class="returnvalue">void</span></td> -<td class="signal_name"><a class="link" href="SoupSocket.html#SoupSocket-readable" title="The “readable” signal">readable</a></td> -<td class="signal_flags">Run Last</td> -</tr> -<tr> -<td class="signal_type"><span class="returnvalue">void</span></td> -<td class="signal_name"><a class="link" href="SoupSocket.html#SoupSocket-writable" title="The “writable” signal">writable</a></td> -<td class="signal_flags">Run Last</td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect1"> -<a name="SoupSocket.other"></a><h2>Types and Values</h2> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="name"> -<col class="description"> -</colgroup> -<tbody> -<tr> -<td class="datatype_keyword"> </td> -<td class="function_name"><a class="link" href="SoupSocket.html#SoupSocket-struct" title="SoupSocket">SoupSocket</a></td> -</tr> -<tr> -<td class="datatype_keyword">enum</td> -<td class="function_name"><a class="link" href="SoupSocket.html#SoupSocketIOStatus" title="enum SoupSocketIOStatus">SoupSocketIOStatus</a></td> -</tr> -<tr> -<td class="define_keyword">#define</td> -<td class="function_name"><a class="link" href="SoupSocket.html#SOUP-SOCKET-LOCAL-ADDRESS:CAPS" title="SOUP_SOCKET_LOCAL_ADDRESS">SOUP_SOCKET_LOCAL_ADDRESS</a></td> -</tr> -<tr> -<td class="define_keyword">#define</td> -<td class="function_name"><a class="link" href="SoupSocket.html#SOUP-SOCKET-REMOTE-ADDRESS:CAPS" title="SOUP_SOCKET_REMOTE_ADDRESS">SOUP_SOCKET_REMOTE_ADDRESS</a></td> -</tr> -<tr> -<td class="define_keyword">#define</td> -<td class="function_name"><a class="link" href="SoupSocket.html#SOUP-SOCKET-FLAG-NONBLOCKING:CAPS" title="SOUP_SOCKET_FLAG_NONBLOCKING">SOUP_SOCKET_FLAG_NONBLOCKING</a></td> -</tr> -<tr> -<td class="define_keyword">#define</td> -<td class="function_name"><a class="link" href="SoupSocket.html#SOUP-SOCKET-IS-SERVER:CAPS" title="SOUP_SOCKET_IS_SERVER">SOUP_SOCKET_IS_SERVER</a></td> -</tr> -<tr> -<td class="define_keyword">#define</td> -<td class="function_name"><a class="link" href="SoupSocket.html#SOUP-SOCKET-SSL-CREDENTIALS:CAPS" title="SOUP_SOCKET_SSL_CREDENTIALS">SOUP_SOCKET_SSL_CREDENTIALS</a></td> -</tr> -<tr> -<td class="define_keyword">#define</td> -<td class="function_name"><a class="link" href="SoupSocket.html#SOUP-SOCKET-ASYNC-CONTEXT:CAPS" title="SOUP_SOCKET_ASYNC_CONTEXT">SOUP_SOCKET_ASYNC_CONTEXT</a></td> -</tr> -<tr> -<td class="define_keyword">#define</td> -<td class="function_name"><a class="link" href="SoupSocket.html#SOUP-SOCKET-TIMEOUT:CAPS" title="SOUP_SOCKET_TIMEOUT">SOUP_SOCKET_TIMEOUT</a></td> -</tr> -<tr> -<td class="define_keyword">#define</td> -<td class="function_name"><a class="link" href="SoupSocket.html#SOUP-SOCKET-SSL-FALLBACK:CAPS" title="SOUP_SOCKET_SSL_FALLBACK">SOUP_SOCKET_SSL_FALLBACK</a></td> -</tr> -<tr> -<td class="define_keyword">#define</td> -<td class="function_name"><a class="link" href="SoupSocket.html#SOUP-SOCKET-SSL-STRICT:CAPS" title="SOUP_SOCKET_SSL_STRICT">SOUP_SOCKET_SSL_STRICT</a></td> -</tr> -<tr> -<td class="define_keyword">#define</td> -<td class="function_name"><a class="link" href="SoupSocket.html#SOUP-SOCKET-TLS-CERTIFICATE:CAPS" title="SOUP_SOCKET_TLS_CERTIFICATE">SOUP_SOCKET_TLS_CERTIFICATE</a></td> -</tr> -<tr> -<td class="define_keyword">#define</td> -<td class="function_name"><a class="link" href="SoupSocket.html#SOUP-SOCKET-TLS-ERRORS:CAPS" title="SOUP_SOCKET_TLS_ERRORS">SOUP_SOCKET_TLS_ERRORS</a></td> -</tr> -<tr> -<td class="define_keyword">#define</td> -<td class="function_name"><a class="link" href="SoupSocket.html#SOUP-SOCKET-TRUSTED-CERTIFICATE:CAPS" title="SOUP_SOCKET_TRUSTED_CERTIFICATE">SOUP_SOCKET_TRUSTED_CERTIFICATE</a></td> -</tr> -<tr> -<td class="define_keyword">#define</td> -<td class="function_name"><a class="link" href="SoupSocket.html#SOUP-SOCKET-USE-THREAD-CONTEXT:CAPS" title="SOUP_SOCKET_USE_THREAD_CONTEXT">SOUP_SOCKET_USE_THREAD_CONTEXT</a></td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect1"> -<a name="SoupSocket.object-hierarchy"></a><h2>Object Hierarchy</h2> -<pre class="screen"> GObject - <span class="lineart">╰──</span> SoupSocket -</pre> -</div> -<div class="refsect1"> -<a name="SoupSocket.implemented-interfaces"></a><h2>Implemented Interfaces</h2> -<p> -SoupSocket implements - GInitable.</p> -</div> -<div class="refsect1"> -<a name="SoupSocket.includes"></a><h2>Includes</h2> -<pre class="synopsis">#include <libsoup/soup.h> -</pre> -</div> -<div class="refsect1"> -<a name="SoupSocket.description"></a><h2>Description</h2> -<p><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> is libsoup's TCP socket type. While it is primarily -intended for internal use, <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a>s are exposed in the -API in various places, and some of their methods (eg, -<a class="link" href="SoupSocket.html#soup-socket-get-remote-address" title="soup_socket_get_remote_address ()"><code class="function">soup_socket_get_remote_address()</code></a>) may be useful to applications.</p> -</div> -<div class="refsect1"> -<a name="SoupSocket.functions_details"></a><h2>Functions</h2> -<div class="refsect2"> -<a name="soup-socket-new"></a><h3>soup_socket_new ()</h3> -<pre class="programlisting"><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="returnvalue">SoupSocket</span></a> * -soup_socket_new (<em class="parameter"><code>const <span class="type">char</span> *optname1</code></em>, - <em class="parameter"><code>...</code></em>);</pre> -<p>Creates a new (disconnected) socket</p> -<div class="refsect3"> -<a name="soup-socket-new.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>optname1</p></td> -<td class="parameter_description"><p>name of first property to set (or <code class="literal">NULL</code>)</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>...</p></td> -<td class="parameter_description"><p>value of <em class="parameter"><code>optname1</code></em> -, followed by additional property/value pairs</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-socket-new.returns"></a><h4>Returns</h4> -<p> the new socket</p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocketCallback"></a><h3>SoupSocketCallback ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -<span class="c_punctuation">(</span>*SoupSocketCallback<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock</code></em>, - <em class="parameter"><code><span class="type">guint</span> status</code></em>, - <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre> -<p>The callback function passed to <a class="link" href="SoupSocket.html#soup-socket-connect-async" title="soup_socket_connect_async ()"><code class="function">soup_socket_connect_async()</code></a>.</p> -<div class="refsect3"> -<a name="SoupSocketCallback.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>the <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>status</p></td> -<td class="parameter_description"><p>an HTTP status code indicating success or failure</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>user_data</p></td> -<td class="parameter_description"><p>the data passed to <a class="link" href="SoupSocket.html#soup-socket-connect-async" title="soup_socket_connect_async ()"><code class="function">soup_socket_connect_async()</code></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-socket-connect-async"></a><h3>soup_socket_connect_async ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_socket_connect_async (<em class="parameter"><code><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock</code></em>, - <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>, - <em class="parameter"><code><a class="link" href="SoupSocket.html#SoupSocketCallback" title="SoupSocketCallback ()"><span class="type">SoupSocketCallback</span></a> callback</code></em>, - <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre> -<p>Begins asynchronously connecting to <em class="parameter"><code>sock</code></em> -'s remote address. The -socket will call <em class="parameter"><code>callback</code></em> - when it succeeds or fails (but not -before returning from this function).</p> -<p>If <em class="parameter"><code>cancellable</code></em> - is non-<code class="literal">NULL</code>, it can be used to cancel the -connection. <em class="parameter"><code>callback</code></em> - will still be invoked in this case, with a -status of <a class="link" href="libsoup-2.4-soup-status.html#SOUP-STATUS-CANCELLED:CAPS"><code class="literal">SOUP_STATUS_CANCELLED</code></a>.</p> -<div class="refsect3"> -<a name="soup-socket-connect-async.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>a client <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> (which must not already be connected)</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>cancellable</p></td> -<td class="parameter_description"><p>a <span class="type">GCancellable</span>, or <code class="literal">NULL</code></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>callback</p></td> -<td class="parameter_description"><p>callback to call after connecting. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td> -</tr> -<tr> -<td class="parameter_name"><p>user_data</p></td> -<td class="parameter_description"><p>data to pass to <em class="parameter"><code>callback</code></em> -</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-socket-connect-sync"></a><h3>soup_socket_connect_sync ()</h3> -<pre class="programlisting"><span class="returnvalue">guint</span> -soup_socket_connect_sync (<em class="parameter"><code><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock</code></em>, - <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>);</pre> -<p>Attempt to synchronously connect <em class="parameter"><code>sock</code></em> - to its remote address.</p> -<p>If <em class="parameter"><code>cancellable</code></em> - is non-<code class="literal">NULL</code>, it can be used to cancel the -connection, in which case <a class="link" href="SoupSocket.html#soup-socket-connect-sync" title="soup_socket_connect_sync ()"><code class="function">soup_socket_connect_sync()</code></a> will return -<a class="link" href="libsoup-2.4-soup-status.html#SOUP-STATUS-CANCELLED:CAPS"><code class="literal">SOUP_STATUS_CANCELLED</code></a>.</p> -<div class="refsect3"> -<a name="soup-socket-connect-sync.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>a client <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> (which must not already be connected)</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>cancellable</p></td> -<td class="parameter_description"><p>a <span class="type">GCancellable</span>, or <code class="literal">NULL</code></p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-socket-connect-sync.returns"></a><h4>Returns</h4> -<p> a success or failure code.</p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-socket-listen"></a><h3>soup_socket_listen ()</h3> -<pre class="programlisting"><span class="returnvalue">gboolean</span> -soup_socket_listen (<em class="parameter"><code><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock</code></em>);</pre> -<p>Makes <em class="parameter"><code>sock</code></em> - start listening on its local address. When connections -come in, <em class="parameter"><code>sock</code></em> - will emit <a class="link" href="SoupSocket.html#SoupSocket-new-connection" title="The “new-connection” signal"><span class="type">“new_connection”</span></a>.</p> -<div class="refsect3"> -<a name="soup-socket-listen.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody><tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>a server <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> (which must not already be connected or -listening)</p></td> -<td class="parameter_annotations"> </td> -</tr></tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-socket-listen.returns"></a><h4>Returns</h4> -<p> whether or not <em class="parameter"><code>sock</code></em> -is now listening.</p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-socket-start-ssl"></a><h3>soup_socket_start_ssl ()</h3> -<pre class="programlisting"><span class="returnvalue">gboolean</span> -soup_socket_start_ssl (<em class="parameter"><code><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock</code></em>, - <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>);</pre> -<p>Starts using SSL on <em class="parameter"><code>socket</code></em> -.</p> -<div class="refsect3"> -<a name="soup-socket-start-ssl.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>the socket</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>cancellable</p></td> -<td class="parameter_description"><p>a <span class="type">GCancellable</span></p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-socket-start-ssl.returns"></a><h4>Returns</h4> -<p> success or failure</p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-socket-start-proxy-ssl"></a><h3>soup_socket_start_proxy_ssl ()</h3> -<pre class="programlisting"><span class="returnvalue">gboolean</span> -soup_socket_start_proxy_ssl (<em class="parameter"><code><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock</code></em>, - <em class="parameter"><code>const <span class="type">char</span> *ssl_host</code></em>, - <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>);</pre> -<p>Starts using SSL on <em class="parameter"><code>socket</code></em> -, expecting to find a host named -<em class="parameter"><code>ssl_host</code></em> -.</p> -<div class="refsect3"> -<a name="soup-socket-start-proxy-ssl.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>the socket</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>ssl_host</p></td> -<td class="parameter_description"><p>hostname of the SSL server</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>cancellable</p></td> -<td class="parameter_description"><p>a <span class="type">GCancellable</span></p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-socket-start-proxy-ssl.returns"></a><h4>Returns</h4> -<p> success or failure</p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-socket-is-ssl"></a><h3>soup_socket_is_ssl ()</h3> -<pre class="programlisting"><span class="returnvalue">gboolean</span> -soup_socket_is_ssl (<em class="parameter"><code><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock</code></em>);</pre> -<p>Tests if <em class="parameter"><code>sock</code></em> - is doing (or has attempted to do) SSL.</p> -<div class="refsect3"> -<a name="soup-socket-is-ssl.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody><tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr></tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-socket-is-ssl.returns"></a><h4>Returns</h4> -<p> <code class="literal">TRUE</code> if <em class="parameter"><code>sock</code></em> -has SSL credentials set</p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-socket-disconnect"></a><h3>soup_socket_disconnect ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_socket_disconnect (<em class="parameter"><code><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock</code></em>);</pre> -<p>Disconnects <em class="parameter"><code>sock</code></em> -. Any further read or write attempts on it will -fail.</p> -<div class="refsect3"> -<a name="soup-socket-disconnect.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody><tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr></tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-socket-is-connected"></a><h3>soup_socket_is_connected ()</h3> -<pre class="programlisting"><span class="returnvalue">gboolean</span> -soup_socket_is_connected (<em class="parameter"><code><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock</code></em>);</pre> -<p>Tests if <em class="parameter"><code>sock</code></em> - is connected to another host</p> -<div class="refsect3"> -<a name="soup-socket-is-connected.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody><tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr></tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-socket-is-connected.returns"></a><h4>Returns</h4> -<p> <code class="literal">TRUE</code> or <code class="literal">FALSE</code>.</p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-socket-get-local-address"></a><h3>soup_socket_get_local_address ()</h3> -<pre class="programlisting"><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="returnvalue">SoupAddress</span></a> * -soup_socket_get_local_address (<em class="parameter"><code><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock</code></em>);</pre> -<p>Returns the <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> corresponding to the local end of <em class="parameter"><code>sock</code></em> -.</p> -<p>Calling this method on an unconnected socket is considered to be -an error, and produces undefined results.</p> -<div class="refsect3"> -<a name="soup-socket-get-local-address.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody><tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr></tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-socket-get-local-address.returns"></a><h4>Returns</h4> -<p>the <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>. </p> -<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-socket-get-remote-address"></a><h3>soup_socket_get_remote_address ()</h3> -<pre class="programlisting"><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="returnvalue">SoupAddress</span></a> * -soup_socket_get_remote_address (<em class="parameter"><code><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock</code></em>);</pre> -<p>Returns the <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> corresponding to the remote end of <em class="parameter"><code>sock</code></em> -.</p> -<p>Calling this method on an unconnected socket is considered to be -an error, and produces undefined results.</p> -<div class="refsect3"> -<a name="soup-socket-get-remote-address.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody><tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr></tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-socket-get-remote-address.returns"></a><h4>Returns</h4> -<p>the <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>. </p> -<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-socket-get-fd"></a><h3>soup_socket_get_fd ()</h3> -<pre class="programlisting"><span class="returnvalue">int</span> -soup_socket_get_fd (<em class="parameter"><code><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock</code></em>);</pre> -<p>Gets <em class="parameter"><code>sock</code></em> -'s underlying file descriptor.</p> -<p>Note that fiddling with the file descriptor may break the -<a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a>.</p> -<div class="refsect3"> -<a name="soup-socket-get-fd.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody><tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr></tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-socket-get-fd.returns"></a><h4>Returns</h4> -<p> <em class="parameter"><code>sock</code></em> -'s file descriptor.</p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-socket-read"></a><h3>soup_socket_read ()</h3> -<pre class="programlisting"><a class="link" href="SoupSocket.html#SoupSocketIOStatus" title="enum SoupSocketIOStatus"><span class="returnvalue">SoupSocketIOStatus</span></a> -soup_socket_read (<em class="parameter"><code><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock</code></em>, - <em class="parameter"><code><span class="type">gpointer</span> buffer</code></em>, - <em class="parameter"><code><span class="type">gsize</span> len</code></em>, - <em class="parameter"><code><span class="type">gsize</span> *nread</code></em>, - <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>, - <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> -<p>Attempts to read up to <em class="parameter"><code>len</code></em> - bytes from <em class="parameter"><code>sock</code></em> - into <em class="parameter"><code>buffer</code></em> -. If some -data is successfully read, <a class="link" href="SoupSocket.html#soup-socket-read" title="soup_socket_read ()"><code class="function">soup_socket_read()</code></a> will return -<a class="link" href="SoupSocket.html#SOUP-SOCKET-OK:CAPS"><code class="literal">SOUP_SOCKET_OK</code></a>, and *<em class="parameter"><code>nread</code></em> - will contain the number of bytes -actually read (which may be less than <em class="parameter"><code>len</code></em> -).</p> -<p>If <em class="parameter"><code>sock</code></em> - is non-blocking, and no data is available, the return -value will be <a class="link" href="SoupSocket.html#SOUP-SOCKET-WOULD-BLOCK:CAPS"><code class="literal">SOUP_SOCKET_WOULD_BLOCK</code></a>. In this case, the caller -can connect to the <a class="link" href="SoupSocket.html#SoupSocket-readable" title="The “readable” signal"><span class="type">“readable”</span></a> signal to know when there -is more data to read. (NB: You MUST read all available data off the -socket first. <a class="link" href="SoupSocket.html#SoupSocket-readable" title="The “readable” signal"><span class="type">“readable”</span></a> is only emitted after -<a class="link" href="SoupSocket.html#soup-socket-read" title="soup_socket_read ()"><code class="function">soup_socket_read()</code></a> returns <a class="link" href="SoupSocket.html#SOUP-SOCKET-WOULD-BLOCK:CAPS"><code class="literal">SOUP_SOCKET_WOULD_BLOCK</code></a>, and it is only -emitted once. See the documentation for <a class="link" href="SoupSocket.html#SoupSocket--non-blocking" title="The “non-blocking” property"><span class="type">“non-blocking”</span></a>.)</p> -<div class="refsect3"> -<a name="soup-socket-read.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>the socket</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>buffer to read -into. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td> -</tr> -<tr> -<td class="parameter_name"><p>len</p></td> -<td class="parameter_description"><p>size of <em class="parameter"><code>buffer</code></em> -in bytes</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>nread</p></td> -<td class="parameter_description"><p>on return, the number of bytes read into <em class="parameter"><code>buffer</code></em> -. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> -</tr> -<tr> -<td class="parameter_name"><p>cancellable</p></td> -<td class="parameter_description"><p>a <span class="type">GCancellable</span>, or <code class="literal">NULL</code></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>error</p></td> -<td class="parameter_description"><p>error pointer</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-socket-read.returns"></a><h4>Returns</h4> -<p> a <a class="link" href="SoupSocket.html#SoupSocketIOStatus" title="enum SoupSocketIOStatus"><span class="type">SoupSocketIOStatus</span></a>, as described above (or -<a class="link" href="SoupSocket.html#SOUP-SOCKET-EOF:CAPS"><code class="literal">SOUP_SOCKET_EOF</code></a> if the socket is no longer connected, or -<a class="link" href="SoupSocket.html#SOUP-SOCKET-ERROR:CAPS"><code class="literal">SOUP_SOCKET_ERROR</code></a> on any other error, in which case <em class="parameter"><code>error</code></em> -will -also be set).</p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-socket-read-until"></a><h3>soup_socket_read_until ()</h3> -<pre class="programlisting"><a class="link" href="SoupSocket.html#SoupSocketIOStatus" title="enum SoupSocketIOStatus"><span class="returnvalue">SoupSocketIOStatus</span></a> -soup_socket_read_until (<em class="parameter"><code><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock</code></em>, - <em class="parameter"><code><span class="type">gpointer</span> buffer</code></em>, - <em class="parameter"><code><span class="type">gsize</span> len</code></em>, - <em class="parameter"><code><span class="type">gconstpointer</span> boundary</code></em>, - <em class="parameter"><code><span class="type">gsize</span> boundary_len</code></em>, - <em class="parameter"><code><span class="type">gsize</span> *nread</code></em>, - <em class="parameter"><code><span class="type">gboolean</span> *got_boundary</code></em>, - <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>, - <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> -<p>Like <a class="link" href="SoupSocket.html#soup-socket-read" title="soup_socket_read ()"><code class="function">soup_socket_read()</code></a>, but reads no further than the first -occurrence of <em class="parameter"><code>boundary</code></em> -. (If the boundary is found, it will be -included in the returned data, and *<em class="parameter"><code>got_boundary</code></em> - will be set to -<code class="literal">TRUE</code>.) Any data after the boundary will returned in future reads.</p> -<p>soup_socket_read_until() will almost always return fewer than <em class="parameter"><code>len</code></em> - -bytes: if the boundary is found, then it will only return the bytes -up until the end of the boundary, and if the boundary is not found, -then it will leave the last <code class="literal">(boundary_len - 1)</code> -bytes in its internal buffer, in case they form the start of the -boundary string. Thus, <em class="parameter"><code>len</code></em> - normally needs to be at least 1 byte -longer than <em class="parameter"><code>boundary_len</code></em> - if you want to make any progress at all.</p> -<div class="refsect3"> -<a name="soup-socket-read-until.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>the socket</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>buffer to read -into. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td> -</tr> -<tr> -<td class="parameter_name"><p>len</p></td> -<td class="parameter_description"><p>size of <em class="parameter"><code>buffer</code></em> -in bytes</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>boundary</p></td> -<td class="parameter_description"><p>boundary to read until</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>boundary_len</p></td> -<td class="parameter_description"><p>length of <em class="parameter"><code>boundary</code></em> -in bytes</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>nread</p></td> -<td class="parameter_description"><p>on return, the number of bytes read into <em class="parameter"><code>buffer</code></em> -. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> -</tr> -<tr> -<td class="parameter_name"><p>got_boundary</p></td> -<td class="parameter_description"><p>on return, whether or not the data in <em class="parameter"><code>buffer</code></em> -ends with the boundary string</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>cancellable</p></td> -<td class="parameter_description"><p>a <span class="type">GCancellable</span>, or <code class="literal">NULL</code></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>error</p></td> -<td class="parameter_description"><p>error pointer</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-socket-read-until.returns"></a><h4>Returns</h4> -<p> as for <a class="link" href="SoupSocket.html#soup-socket-read" title="soup_socket_read ()"><code class="function">soup_socket_read()</code></a></p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-socket-write"></a><h3>soup_socket_write ()</h3> -<pre class="programlisting"><a class="link" href="SoupSocket.html#SoupSocketIOStatus" title="enum SoupSocketIOStatus"><span class="returnvalue">SoupSocketIOStatus</span></a> -soup_socket_write (<em class="parameter"><code><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock</code></em>, - <em class="parameter"><code><span class="type">gconstpointer</span> buffer</code></em>, - <em class="parameter"><code><span class="type">gsize</span> len</code></em>, - <em class="parameter"><code><span class="type">gsize</span> *nwrote</code></em>, - <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>, - <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> -<p>Attempts to write <em class="parameter"><code>len</code></em> - bytes from <em class="parameter"><code>buffer</code></em> - to <em class="parameter"><code>sock</code></em> -. If some data is -successfully written, the return status will be <a class="link" href="SoupSocket.html#SOUP-SOCKET-OK:CAPS"><code class="literal">SOUP_SOCKET_OK</code></a>, -and *<em class="parameter"><code>nwrote</code></em> - will contain the number of bytes actually written -(which may be less than <em class="parameter"><code>len</code></em> -).</p> -<p>If <em class="parameter"><code>sock</code></em> - is non-blocking, and no data could be written right away, -the return value will be <a class="link" href="SoupSocket.html#SOUP-SOCKET-WOULD-BLOCK:CAPS"><code class="literal">SOUP_SOCKET_WOULD_BLOCK</code></a>. In this case, -the caller can connect to the <a class="link" href="SoupSocket.html#SoupSocket-writable" title="The “writable” signal"><span class="type">“writable”</span></a> signal to know -when more data can be written. (NB: <a class="link" href="SoupSocket.html#SoupSocket-writable" title="The “writable” signal"><span class="type">“writable”</span></a> is only -emitted after <a class="link" href="SoupSocket.html#soup-socket-write" title="soup_socket_write ()"><code class="function">soup_socket_write()</code></a> returns <a class="link" href="SoupSocket.html#SOUP-SOCKET-WOULD-BLOCK:CAPS"><code class="literal">SOUP_SOCKET_WOULD_BLOCK</code></a>, -and it is only emitted once. See the documentation for -<a class="link" href="SoupSocket.html#SoupSocket--non-blocking" title="The “non-blocking” property"><span class="type">“non-blocking”</span></a>.)</p> -<div class="refsect3"> -<a name="soup-socket-write.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>the socket</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>data to write. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td> -</tr> -<tr> -<td class="parameter_name"><p>len</p></td> -<td class="parameter_description"><p>size of <em class="parameter"><code>buffer</code></em> -, in bytes</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>nwrote</p></td> -<td class="parameter_description"><p>on return, number of bytes written. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> -</tr> -<tr> -<td class="parameter_name"><p>cancellable</p></td> -<td class="parameter_description"><p>a <span class="type">GCancellable</span>, or <code class="literal">NULL</code></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>error</p></td> -<td class="parameter_description"><p>error pointer</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-socket-write.returns"></a><h4>Returns</h4> -<p> a <a class="link" href="SoupSocket.html#SoupSocketIOStatus" title="enum SoupSocketIOStatus"><span class="type">SoupSocketIOStatus</span></a>, as described above (or -<a class="link" href="SoupSocket.html#SOUP-SOCKET-EOF:CAPS"><code class="literal">SOUP_SOCKET_EOF</code></a> or <a class="link" href="SoupSocket.html#SOUP-SOCKET-ERROR:CAPS"><code class="literal">SOUP_SOCKET_ERROR</code></a>. <em class="parameter"><code>error</code></em> -will be set if the -return value is <a class="link" href="SoupSocket.html#SOUP-SOCKET-ERROR:CAPS"><code class="literal">SOUP_SOCKET_ERROR</code></a>.)</p> -</div> -</div> -</div> -<div class="refsect1"> -<a name="SoupSocket.other_details"></a><h2>Types and Values</h2> -<div class="refsect2"> -<a name="SoupSocket-struct"></a><h3>SoupSocket</h3> -<pre class="programlisting">typedef struct _SoupSocket SoupSocket;</pre> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocketIOStatus"></a><h3>enum SoupSocketIOStatus</h3> -<p>Return value from the <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> IO methods.</p> -<div class="refsect3"> -<a name="SoupSocketIOStatus.members"></a><h4>Members</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="300px" class="enum_members_name"> -<col class="enum_members_description"> -<col width="200px" class="enum_members_annotations"> -</colgroup> -<tbody> -<tr> -<td class="enum_member_name"><p><a name="SOUP-SOCKET-OK:CAPS"></a>SOUP_SOCKET_OK</p></td> -<td class="enum_member_description"> -<p>Success</p> -</td> -<td class="enum_member_annotations"> </td> -</tr> -<tr> -<td class="enum_member_name"><p><a name="SOUP-SOCKET-WOULD-BLOCK:CAPS"></a>SOUP_SOCKET_WOULD_BLOCK</p></td> -<td class="enum_member_description"> -<p>Cannot read/write any more at this time</p> -</td> -<td class="enum_member_annotations"> </td> -</tr> -<tr> -<td class="enum_member_name"><p><a name="SOUP-SOCKET-EOF:CAPS"></a>SOUP_SOCKET_EOF</p></td> -<td class="enum_member_description"> -<p>End of file</p> -</td> -<td class="enum_member_annotations"> </td> -</tr> -<tr> -<td class="enum_member_name"><p><a name="SOUP-SOCKET-ERROR:CAPS"></a>SOUP_SOCKET_ERROR</p></td> -<td class="enum_member_description"> -<p>Other error</p> -</td> -<td class="enum_member_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="SOUP-SOCKET-LOCAL-ADDRESS:CAPS"></a><h3>SOUP_SOCKET_LOCAL_ADDRESS</h3> -<pre class="programlisting">#define SOUP_SOCKET_LOCAL_ADDRESS "local-address" -</pre> -<p>Alias for the <a class="link" href="SoupSocket.html#SoupSocket--local-address" title="The “local-address” property"><span class="type">“local-address”</span></a> property. (Address -of local end of socket.)</p> -</div> -<hr> -<div class="refsect2"> -<a name="SOUP-SOCKET-REMOTE-ADDRESS:CAPS"></a><h3>SOUP_SOCKET_REMOTE_ADDRESS</h3> -<pre class="programlisting">#define SOUP_SOCKET_REMOTE_ADDRESS "remote-address" -</pre> -<p>Alias for the <a class="link" href="SoupSocket.html#SoupSocket--remote-address" title="The “remote-address” property"><span class="type">“remote-address”</span></a> property. (Address -of remote end of socket.)</p> -</div> -<hr> -<div class="refsect2"> -<a name="SOUP-SOCKET-FLAG-NONBLOCKING:CAPS"></a><h3>SOUP_SOCKET_FLAG_NONBLOCKING</h3> -<pre class="programlisting">#define SOUP_SOCKET_FLAG_NONBLOCKING "non-blocking" -</pre> -<p>Alias for the <a class="link" href="SoupSocket.html#SoupSocket--non-blocking" title="The “non-blocking” property"><span class="type">“non-blocking”</span></a> property. (Whether -or not the socket uses non-blocking I/O.)</p> -</div> -<hr> -<div class="refsect2"> -<a name="SOUP-SOCKET-IS-SERVER:CAPS"></a><h3>SOUP_SOCKET_IS_SERVER</h3> -<pre class="programlisting">#define SOUP_SOCKET_IS_SERVER "is-server" -</pre> -<p>Alias for the <a class="link" href="SoupSocket.html#SoupSocket--is-server" title="The “is-server” property"><span class="type">“is-server”</span></a> property, qv.</p> -</div> -<hr> -<div class="refsect2"> -<a name="SOUP-SOCKET-SSL-CREDENTIALS:CAPS"></a><h3>SOUP_SOCKET_SSL_CREDENTIALS</h3> -<pre class="programlisting">#define SOUP_SOCKET_SSL_CREDENTIALS "ssl-creds" -</pre> -<p>Alias for the <a class="link" href="SoupSocket.html#SoupSocket--ssl-creds" title="The “ssl-creds” property"><span class="type">“ssl-creds”</span></a> property. -(SSL credential information.)</p> -</div> -<hr> -<div class="refsect2"> -<a name="SOUP-SOCKET-ASYNC-CONTEXT:CAPS"></a><h3>SOUP_SOCKET_ASYNC_CONTEXT</h3> -<pre class="programlisting">#define SOUP_SOCKET_ASYNC_CONTEXT "async-context" -</pre> -<p>Alias for the <a class="link" href="SoupSocket.html#SoupSocket--async-context" title="The “async-context” property"><span class="type">“async-context”</span></a> property. (The -socket's <span class="type">GMainContext</span>.)</p> -</div> -<hr> -<div class="refsect2"> -<a name="SOUP-SOCKET-TIMEOUT:CAPS"></a><h3>SOUP_SOCKET_TIMEOUT</h3> -<pre class="programlisting">#define SOUP_SOCKET_TIMEOUT "timeout" -</pre> -<p>Alias for the <a class="link" href="SoupSocket.html#SoupSocket--timeout" title="The “timeout” property"><span class="type">“timeout”</span></a> property. (The timeout -in seconds for blocking socket I/O operations.)</p> -</div> -<hr> -<div class="refsect2"> -<a name="SOUP-SOCKET-SSL-FALLBACK:CAPS"></a><h3>SOUP_SOCKET_SSL_FALLBACK</h3> -<pre class="programlisting">#define SOUP_SOCKET_SSL_FALLBACK "ssl-fallback" -</pre> -<p>Alias for the <a class="link" href="SoupSocket.html#SoupSocket--ssl-fallback" title="The “ssl-fallback” property"><span class="type">“ssl-fallback”</span></a> property.</p> -</div> -<hr> -<div class="refsect2"> -<a name="SOUP-SOCKET-SSL-STRICT:CAPS"></a><h3>SOUP_SOCKET_SSL_STRICT</h3> -<pre class="programlisting">#define SOUP_SOCKET_SSL_STRICT "ssl-strict" -</pre> -<p>Alias for the <a class="link" href="SoupSocket.html#SoupSocket--ssl-strict" title="The “ssl-strict” property"><span class="type">“ssl-strict”</span></a> property.</p> -</div> -<hr> -<div class="refsect2"> -<a name="SOUP-SOCKET-TLS-CERTIFICATE:CAPS"></a><h3>SOUP_SOCKET_TLS_CERTIFICATE</h3> -<pre class="programlisting">#define SOUP_SOCKET_TLS_CERTIFICATE "tls-certificate" -</pre> -<p>Alias for the <a class="link" href="SoupSocket.html#SoupSocket--tls-certificate" title="The “tls-certificate” property"><span class="type">“tls-certificate”</span></a> -property. Note that this property's value is only useful -if the socket is for a TLS connection, and only reliable -after some data has been transferred to or from it.</p> -<p class="since">Since: 2.34</p> -</div> -<hr> -<div class="refsect2"> -<a name="SOUP-SOCKET-TLS-ERRORS:CAPS"></a><h3>SOUP_SOCKET_TLS_ERRORS</h3> -<pre class="programlisting">#define SOUP_SOCKET_TLS_ERRORS "tls-errors" -</pre> -<p>Alias for the <a class="link" href="SoupSocket.html#SoupSocket--tls-errors" title="The “tls-errors” property"><span class="type">“tls-errors”</span></a> -property. Note that this property's value is only useful -if the socket is for a TLS connection, and only reliable -after some data has been transferred to or from it.</p> -<p class="since">Since: 2.34</p> -</div> -<hr> -<div class="refsect2"> -<a name="SOUP-SOCKET-TRUSTED-CERTIFICATE:CAPS"></a><h3>SOUP_SOCKET_TRUSTED_CERTIFICATE</h3> -<pre class="programlisting">#define SOUP_SOCKET_TRUSTED_CERTIFICATE "trusted-certificate" -</pre> -<p>Alias for the <a class="link" href="SoupSocket.html#SoupSocket--trusted-certificate" title="The “trusted-certificate” property"><span class="type">“trusted-certificate”</span></a> -property.</p> -</div> -<hr> -<div class="refsect2"> -<a name="SOUP-SOCKET-USE-THREAD-CONTEXT:CAPS"></a><h3>SOUP_SOCKET_USE_THREAD_CONTEXT</h3> -<pre class="programlisting">#define SOUP_SOCKET_USE_THREAD_CONTEXT "use-thread-context" -</pre> -<p>Alias for the <a class="link" href="SoupSocket.html#SoupSocket--use-thread-context" title="The “use-thread-context” property"><span class="type">“use-thread-context”</span></a> property. (Use -<code class="function">g_main_context_get_thread_default()</code>)</p> -<p class="since">Since: 2.38</p> -</div> -</div> -<div class="refsect1"> -<a name="SoupSocket.property-details"></a><h2>Property Details</h2> -<div class="refsect2"> -<a name="SoupSocket--async-context"></a><h3>The <code class="literal">“async-context”</code> property</h3> -<pre class="programlisting"> “async-context” <span class="type">gpointer</span></pre> -<p>The GMainContext to dispatch this socket's async I/O in.</p> -<p>Flags: Read / Write / Construct Only</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--fd"></a><h3>The <code class="literal">“fd”</code> property</h3> -<pre class="programlisting"> “fd” <span class="type">gint</span></pre> -<p>The socket's file descriptor.</p> -<p>Flags: Read / Write / Construct Only</p> -<p>Allowed values: >= -1</p> -<p>Default value: -1</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--gsocket"></a><h3>The <code class="literal">“gsocket”</code> property</h3> -<pre class="programlisting"> “gsocket” <span class="type">GSocket</span> *</pre> -<p>The socket's underlying GSocket.</p> -<p>Flags: Write / Construct Only</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--iostream"></a><h3>The <code class="literal">“iostream”</code> property</h3> -<pre class="programlisting"> “iostream” <span class="type">GIOStream</span> *</pre> -<p>The socket's underlying GIOStream.</p> -<p>Flags: Write / Construct Only</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--ipv6-only"></a><h3>The <code class="literal">“ipv6-only”</code> property</h3> -<pre class="programlisting"> “ipv6-only” <span class="type">gboolean</span></pre> -<p>IPv6 only.</p> -<p>Flags: Read / Write</p> -<p>Default value: FALSE</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--is-server"></a><h3>The <code class="literal">“is-server”</code> property</h3> -<pre class="programlisting"> “is-server” <span class="type">gboolean</span></pre> -<p>Whether or not the socket is a server socket.</p> -<p>Note that for "ordinary" <a href="SoupSocket.html#SoupSocket-struct"><span class="type">SoupSockets</span></a> this will be set for -both listening sockets and the sockets emitted by -<a class="link" href="SoupSocket.html#SoupSocket-new-connection" title="The “new-connection” signal"><span class="type">“new-connection”</span></a>, but for sockets created by -setting <a class="link" href="SoupSocket.html#SoupSocket--fd" title="The “fd” property"><span class="type">“fd”</span></a>, it will only be set for listening -sockets.</p> -<p>Flags: Read</p> -<p>Default value: FALSE</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--local-address"></a><h3>The <code class="literal">“local-address”</code> property</h3> -<pre class="programlisting"> “local-address” <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *</pre> -<p>Address of local end of socket.</p> -<p>Flags: Read / Write / Construct Only</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--non-blocking"></a><h3>The <code class="literal">“non-blocking”</code> property</h3> -<pre class="programlisting"> “non-blocking” <span class="type">gboolean</span></pre> -<p>Whether or not the socket uses non-blocking I/O.</p> -<p><a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a>'s I/O methods are designed around the idea of -using a single codepath for both synchronous and -asynchronous I/O. If you want to read off a <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a>, -the "correct" way to do it is to call <a class="link" href="SoupSocket.html#soup-socket-read" title="soup_socket_read ()"><code class="function">soup_socket_read()</code></a> or -<a class="link" href="SoupSocket.html#soup-socket-read-until" title="soup_socket_read_until ()"><code class="function">soup_socket_read_until()</code></a> repeatedly until you have read -everything you want. If it returns <a class="link" href="SoupSocket.html#SOUP-SOCKET-WOULD-BLOCK:CAPS"><code class="literal">SOUP_SOCKET_WOULD_BLOCK</code></a> -at any point, stop reading and wait for it to emit the -<a class="link" href="SoupSocket.html#SoupSocket-readable" title="The “readable” signal"><span class="type">“readable”</span></a> signal. Then go back to the -reading-as-much-as-you-can loop. Likewise, for writing to a -<a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a>, you should call <a class="link" href="SoupSocket.html#soup-socket-write" title="soup_socket_write ()"><code class="function">soup_socket_write()</code></a> either -until you have written everything, or it returns -<a class="link" href="SoupSocket.html#SOUP-SOCKET-WOULD-BLOCK:CAPS"><code class="literal">SOUP_SOCKET_WOULD_BLOCK</code></a> (in which case you wait for -<a class="link" href="SoupSocket.html#SoupSocket-writable" title="The “writable” signal"><span class="type">“writable”</span></a> and then go back into the loop).</p> -<p>Code written this way will work correctly with both -blocking and non-blocking sockets; blocking sockets will -simply never return <a class="link" href="SoupSocket.html#SOUP-SOCKET-WOULD-BLOCK:CAPS"><code class="literal">SOUP_SOCKET_WOULD_BLOCK</code></a>, and so the -code that handles that case just won't get used for them.</p> -<p>Flags: Read / Write</p> -<p>Default value: TRUE</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--remote-address"></a><h3>The <code class="literal">“remote-address”</code> property</h3> -<pre class="programlisting"> “remote-address” <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *</pre> -<p>Address of remote end of socket.</p> -<p>Flags: Read / Write / Construct Only</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--socket-properties"></a><h3>The <code class="literal">“socket-properties”</code> property</h3> -<pre class="programlisting"> “socket-properties” <span class="type">SoupSocketProperties</span> *</pre> -<p>Socket properties.</p> -<p>Flags: Write</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--ssl-creds"></a><h3>The <code class="literal">“ssl-creds”</code> property</h3> -<pre class="programlisting"> “ssl-creds” <span class="type">gpointer</span></pre> -<p>SSL credential information, passed from the session to the SSL implementation.</p> -<p>Flags: Read / Write</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--ssl-fallback"></a><h3>The <code class="literal">“ssl-fallback”</code> property</h3> -<pre class="programlisting"> “ssl-fallback” <span class="type">gboolean</span></pre> -<p>Use SSLv3 instead of TLS (client-side only).</p> -<p>Flags: Read / Write / Construct Only</p> -<p>Default value: FALSE</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--ssl-strict"></a><h3>The <code class="literal">“ssl-strict”</code> property</h3> -<pre class="programlisting"> “ssl-strict” <span class="type">gboolean</span></pre> -<p>Whether certificate errors should be considered a connection error.</p> -<p>Flags: Read / Write / Construct Only</p> -<p>Default value: TRUE</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--timeout"></a><h3>The <code class="literal">“timeout”</code> property</h3> -<pre class="programlisting"> “timeout” <span class="type">guint</span></pre> -<p>Value in seconds to timeout a blocking I/O.</p> -<p>Flags: Read / Write</p> -<p>Default value: 0</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--tls-certificate"></a><h3>The <code class="literal">“tls-certificate”</code> property</h3> -<pre class="programlisting"> “tls-certificate” <span class="type">GTlsCertificate</span> *</pre> -<p>The peer's TLS certificate.</p> -<p>Flags: Read</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--tls-errors"></a><h3>The <code class="literal">“tls-errors”</code> property</h3> -<pre class="programlisting"> “tls-errors” <span class="type">GTlsCertificateFlags</span></pre> -<p>Errors with the peer's TLS certificate.</p> -<p>Flags: Read</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--trusted-certificate"></a><h3>The <code class="literal">“trusted-certificate”</code> property</h3> -<pre class="programlisting"> “trusted-certificate” <span class="type">gboolean</span></pre> -<p>Whether the server certificate is trusted, if this is an SSL socket.</p> -<p>Flags: Read</p> -<p>Default value: FALSE</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket--use-thread-context"></a><h3>The <code class="literal">“use-thread-context”</code> property</h3> -<pre class="programlisting"> “use-thread-context” <span class="type">gboolean</span></pre> -<p>Use <code class="function">g_main_context_get_thread_default()</code>.</p> -<p>Flags: Read / Write / Construct Only</p> -<p>Default value: FALSE</p> -<p class="since">Since: 2.38</p> -</div> -</div> -<div class="refsect1"> -<a name="SoupSocket.signal-details"></a><h2>Signal Details</h2> -<div class="refsect2"> -<a name="SoupSocket-disconnected"></a><h3>The <code class="literal">“disconnected”</code> signal</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -user_function (<a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock, - <span class="type">gpointer</span> user_data)</pre> -<p>Emitted when the socket is disconnected, for whatever -reason.</p> -<div class="refsect3"> -<a name="SoupSocket-disconnected.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>the socket</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>user_data</p></td> -<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<p>Flags: Run Last</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket-event"></a><h3>The <code class="literal">“event”</code> signal</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -user_function (<a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock, - <span class="type">GSocketClientEvent</span> event, - <span class="type">GIOStream</span> *connection, - <span class="type">gpointer</span> user_data)</pre> -<p>Emitted when a network-related event occurs. See -<span class="type">“event”</span> for more details.</p> -<div class="refsect3"> -<a name="SoupSocket-event.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>the socket</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>event</p></td> -<td class="parameter_description"><p>the event that occurred</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>connection</p></td> -<td class="parameter_description"><p>the current connection state</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>user_data</p></td> -<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<p>Flags: Run Last</p> -<p class="since">Since: 2.38</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket-new-connection"></a><h3>The <code class="literal">“new-connection”</code> signal</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -user_function (<a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock, - <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *new, - <span class="type">gpointer</span> user_data)</pre> -<p>Emitted when a listening socket (set up with -<a class="link" href="SoupSocket.html#soup-socket-listen" title="soup_socket_listen ()"><code class="function">soup_socket_listen()</code></a>) receives a new connection.</p> -<p>You must ref the <em class="parameter"><code>new</code></em> - if you want to keep it; otherwise it -will be destroyed after the signal is emitted.</p> -<div class="refsect3"> -<a name="SoupSocket-new-connection.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>the socket</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>new</p></td> -<td class="parameter_description"><p>the new socket</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>user_data</p></td> -<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<p>Flags: Run First</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket-readable"></a><h3>The <code class="literal">“readable”</code> signal</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -user_function (<a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock, - <span class="type">gpointer</span> user_data)</pre> -<p>Emitted when an async socket is readable. See -<a class="link" href="SoupSocket.html#soup-socket-read" title="soup_socket_read ()"><code class="function">soup_socket_read()</code></a>, <a class="link" href="SoupSocket.html#soup-socket-read-until" title="soup_socket_read_until ()"><code class="function">soup_socket_read_until()</code></a> and -<a class="link" href="SoupSocket.html#SoupSocket--non-blocking" title="The “non-blocking” property"><span class="type">“non-blocking”</span></a>.</p> -<div class="refsect3"> -<a name="SoupSocket-readable.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>the socket</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>user_data</p></td> -<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<p>Flags: Run Last</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupSocket-writable"></a><h3>The <code class="literal">“writable”</code> signal</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -user_function (<a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> *sock, - <span class="type">gpointer</span> user_data)</pre> -<p>Emitted when an async socket is writable. See -<a class="link" href="SoupSocket.html#soup-socket-write" title="soup_socket_write ()"><code class="function">soup_socket_write()</code></a> and <a class="link" href="SoupSocket.html#SoupSocket--non-blocking" title="The “non-blocking” property"><span class="type">“non-blocking”</span></a>.</p> -<div class="refsect3"> -<a name="SoupSocket-writable.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>sock</p></td> -<td class="parameter_description"><p>the socket</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>user_data</p></td> -<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<p>Flags: Run Last</p> -</div> -</div> -</div> -<div class="footer"> -<hr>Generated by GTK-Doc V1.28.1</div> -</body> -</html>
\ No newline at end of file |