Updating to 2.39.2
[profile/ivi/libsoup2.4.git] / docs / reference / html / SoupAddress.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>SoupAddress</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="libsoup Reference Manual">
8 <link rel="up" href="ch06.html" title="Low-level Networking API">
9 <link rel="prev" href="ch06.html" title="Low-level Networking API">
10 <link rel="next" href="SoupSocket.html" title="SoupSocket">
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="ch06.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch06.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">libsoup Reference Manual</th>
21 <td><a accesskey="n" href="SoupSocket.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="#SoupAddress.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#SoupAddress.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#SoupAddress.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#SoupAddress.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
31                    | 
32                   <a href="#SoupAddress.properties" class="shortcut">Properties</a>
33 </td></tr>
34 </table>
35 <div class="refentry">
36 <a name="SoupAddress"></a><div class="titlepage"></div>
37 <div class="refnamediv"><table width="100%"><tr>
38 <td valign="top">
39 <h2><span class="refentrytitle"><a name="SoupAddress.top_of_page"></a>SoupAddress</span></h2>
40 <p>SoupAddress — DNS support</p>
41 </td>
42 <td valign="top" align="right"></td>
43 </tr></table></div>
44 <div class="refsynopsisdiv">
45 <a name="SoupAddress.synopsis"></a><h2>Synopsis</h2>
46 <pre class="synopsis">
47 #include &lt;libsoup/soup.h&gt;
48
49                     <a class="link" href="SoupAddress.html#SoupAddress-struct" title="SoupAddress">SoupAddress</a>;
50 enum                <a class="link" href="SoupAddress.html#SoupAddressFamily" title="enum SoupAddressFamily">SoupAddressFamily</a>;
51 #define             <a class="link" href="SoupAddress.html#SOUP-ADDRESS-ANY-PORT:CAPS" title="SOUP_ADDRESS_ANY_PORT">SOUP_ADDRESS_ANY_PORT</a>
52 <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="returnvalue">SoupAddress</span></a> *       <a class="link" href="SoupAddress.html#soup-address-new" title="soup_address_new ()">soup_address_new</a>                    (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
53                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>);
54 <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="returnvalue">SoupAddress</span></a> *       <a class="link" href="SoupAddress.html#soup-address-new-from-sockaddr" title="soup_address_new_from_sockaddr ()">soup_address_new_from_sockaddr</a>      (<em class="parameter"><code><span class="type">struct sockaddr</span> *sa</code></em>,
55                                                          <em class="parameter"><code><span class="type">int</span> len</code></em>);
56 <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="returnvalue">SoupAddress</span></a> *       <a class="link" href="SoupAddress.html#soup-address-new-any" title="soup_address_new_any ()">soup_address_new_any</a>                (<em class="parameter"><code><a class="link" href="SoupAddress.html#SoupAddressFamily" title="enum SoupAddressFamily"><span class="type">SoupAddressFamily</span></a> family</code></em>,
57                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>);
58
59 <span class="returnvalue">void</span>                (<a class="link" href="SoupAddress.html#SoupAddressCallback" title="SoupAddressCallback ()">*SoupAddressCallback</a>)              (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>,
60                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> status</code></em>,
61                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
62 <span class="returnvalue">void</span>                <a class="link" href="SoupAddress.html#soup-address-resolve-async" title="soup_address_resolve_async ()">soup_address_resolve_async</a>          (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>,
63                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> *async_context</code></em>,
64                                                          <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
65                                                          <em class="parameter"><code><a class="link" href="SoupAddress.html#SoupAddressCallback" title="SoupAddressCallback ()"><span class="type">SoupAddressCallback</span></a> callback</code></em>,
66                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
67 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="SoupAddress.html#soup-address-resolve-sync" title="soup_address_resolve_sync ()">soup_address_resolve_sync</a>           (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>,
68                                                          <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>);
69 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="SoupAddress.html#soup-address-is-resolved" title="soup_address_is_resolved ()">soup_address_is_resolved</a>            (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>);
70
71 const <span class="returnvalue">char</span> *        <a class="link" href="SoupAddress.html#soup-address-get-name" title="soup_address_get_name ()">soup_address_get_name</a>               (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>);
72 struct <span class="returnvalue">sockaddr</span> *   <a class="link" href="SoupAddress.html#soup-address-get-sockaddr" title="soup_address_get_sockaddr ()">soup_address_get_sockaddr</a>           (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>,
73                                                          <em class="parameter"><code><span class="type">int</span> *len</code></em>);
74 <span class="returnvalue">GSocketAddress</span> *    <a class="link" href="SoupAddress.html#soup-address-get-gsockaddr" title="soup_address_get_gsockaddr ()">soup_address_get_gsockaddr</a>          (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>);
75 const <span class="returnvalue">char</span> *        <a class="link" href="SoupAddress.html#soup-address-get-physical" title="soup_address_get_physical ()">soup_address_get_physical</a>           (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>);
76 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="SoupAddress.html#soup-address-get-port" title="soup_address_get_port ()">soup_address_get_port</a>               (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>);
77
78 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="SoupAddress.html#soup-address-equal-by-name" title="soup_address_equal_by_name ()">soup_address_equal_by_name</a>          (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> addr1</code></em>,
79                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> addr2</code></em>);
80 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="SoupAddress.html#soup-address-hash-by-name" title="soup_address_hash_by_name ()">soup_address_hash_by_name</a>           (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> addr</code></em>);
81 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="SoupAddress.html#soup-address-equal-by-ip" title="soup_address_equal_by_ip ()">soup_address_equal_by_ip</a>            (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> addr1</code></em>,
82                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> addr2</code></em>);
83 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="SoupAddress.html#soup-address-hash-by-ip" title="soup_address_hash_by_ip ()">soup_address_hash_by_ip</a>             (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> addr</code></em>);
84
85 #define             <a class="link" href="SoupAddress.html#SOUP-ADDRESS-FAMILY:CAPS" title="SOUP_ADDRESS_FAMILY">SOUP_ADDRESS_FAMILY</a>
86 #define             <a class="link" href="SoupAddress.html#SOUP-ADDRESS-NAME:CAPS" title="SOUP_ADDRESS_NAME">SOUP_ADDRESS_NAME</a>
87 #define             <a class="link" href="SoupAddress.html#SOUP-ADDRESS-PHYSICAL:CAPS" title="SOUP_ADDRESS_PHYSICAL">SOUP_ADDRESS_PHYSICAL</a>
88 #define             <a class="link" href="SoupAddress.html#SOUP-ADDRESS-PORT:CAPS" title="SOUP_ADDRESS_PORT">SOUP_ADDRESS_PORT</a>
89 #define             <a class="link" href="SoupAddress.html#SOUP-ADDRESS-SOCKADDR:CAPS" title="SOUP_ADDRESS_SOCKADDR">SOUP_ADDRESS_SOCKADDR</a>
90 </pre>
91 </div>
92 <div class="refsect1">
93 <a name="SoupAddress.object-hierarchy"></a><h2>Object Hierarchy</h2>
94 <pre class="synopsis">
95   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
96    +----SoupAddress
97 </pre>
98 </div>
99 <div class="refsect1">
100 <a name="SoupAddress.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
101 <p>
102 SoupAddress implements
103  GSocketConnectable.</p>
104 </div>
105 <div class="refsect1">
106 <a name="SoupAddress.properties"></a><h2>Properties</h2>
107 <pre class="synopsis">
108   "<a class="link" href="SoupAddress.html#SoupAddress--family" title='The "family" property'>family</a>"                   <a class="link" href="SoupAddress.html#SoupAddressFamily" title="enum SoupAddressFamily"><span class="type">SoupAddressFamily</span></a>     : Read / Write / Construct Only
109   "<a class="link" href="SoupAddress.html#SoupAddress--name" title='The "name" property'>name</a>"                     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write / Construct Only
110   "<a class="link" href="SoupAddress.html#SoupAddress--physical" title='The "physical" property'>physical</a>"                 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read
111   "<a class="link" href="SoupAddress.html#SoupAddress--port" title='The "port" property'>port</a>"                     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write / Construct Only
112   "<a class="link" href="SoupAddress.html#SoupAddress--protocol" title='The "protocol" property'>protocol</a>"                 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write / Construct Only
113   "<a class="link" href="SoupAddress.html#SoupAddress--sockaddr" title='The "sockaddr" property'>sockaddr</a>"                 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>              : Read / Write / Construct Only
114 </pre>
115 </div>
116 <div class="refsect1">
117 <a name="SoupAddress.description"></a><h2>Description</h2>
118 <p>
119 <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> represents the address of a TCP connection endpoint:
120 both the IP address and the port. (It is somewhat like an
121 object-oriented version of struct sockaddr.)
122 </p>
123 </div>
124 <div class="refsect1">
125 <a name="SoupAddress.details"></a><h2>Details</h2>
126 <div class="refsect2">
127 <a name="SoupAddress-struct"></a><h3>SoupAddress</h3>
128 <pre class="programlisting">typedef struct _SoupAddress SoupAddress;</pre>
129 <p>
130 </p>
131 </div>
132 <hr>
133 <div class="refsect2">
134 <a name="SoupAddressFamily"></a><h3>enum SoupAddressFamily</h3>
135 <pre class="programlisting">typedef enum {
136         SOUP_ADDRESS_FAMILY_INVALID = -1,
137
138         SOUP_ADDRESS_FAMILY_IPV4 = G_SOCKET_FAMILY_IPV4,
139         SOUP_ADDRESS_FAMILY_IPV6 = G_SOCKET_FAMILY_IPV6
140 } SoupAddressFamily;
141 </pre>
142 <p>
143 The supported address families.
144 </p>
145 <div class="variablelist"><table border="0">
146 <col align="left" valign="top">
147 <tbody>
148 <tr>
149 <td><p><a name="SOUP-ADDRESS-FAMILY-INVALID:CAPS"></a><span class="term"><code class="literal">SOUP_ADDRESS_FAMILY_INVALID</code></span></p></td>
150 <td>an invalid <a class="link" href="SoupAddress.html" title="SoupAddress"><code class="literal">SoupAddress</code></a>
151 </td>
152 </tr>
153 <tr>
154 <td><p><a name="SOUP-ADDRESS-FAMILY-IPV4:CAPS"></a><span class="term"><code class="literal">SOUP_ADDRESS_FAMILY_IPV4</code></span></p></td>
155 <td>an IPv4 address
156 </td>
157 </tr>
158 <tr>
159 <td><p><a name="SOUP-ADDRESS-FAMILY-IPV6:CAPS"></a><span class="term"><code class="literal">SOUP_ADDRESS_FAMILY_IPV6</code></span></p></td>
160 <td>an IPv6 address
161 </td>
162 </tr>
163 </tbody>
164 </table></div>
165 </div>
166 <hr>
167 <div class="refsect2">
168 <a name="SOUP-ADDRESS-ANY-PORT:CAPS"></a><h3>SOUP_ADDRESS_ANY_PORT</h3>
169 <pre class="programlisting">#define SOUP_ADDRESS_ANY_PORT 0
170 </pre>
171 <p>
172 This can be passed to any <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> method that expects a port,
173 to indicate that you don't care what port is used.
174 </p>
175 </div>
176 <hr>
177 <div class="refsect2">
178 <a name="soup-address-new"></a><h3>soup_address_new ()</h3>
179 <pre class="programlisting"><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="returnvalue">SoupAddress</span></a> *       soup_address_new                    (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
180                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>);</pre>
181 <p>
182 Creates a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> from <em class="parameter"><code>name</code></em> and <em class="parameter"><code>port</code></em>. The <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>'s IP
183 address may not be available right away; the caller can call
184 <a class="link" href="SoupAddress.html#soup-address-resolve-async" title="soup_address_resolve_async ()"><code class="function">soup_address_resolve_async()</code></a> or <a class="link" href="SoupAddress.html#soup-address-resolve-sync" title="soup_address_resolve_sync ()"><code class="function">soup_address_resolve_sync()</code></a> to
185 force a DNS resolution.
186 </p>
187 <div class="variablelist"><table border="0">
188 <col align="left" valign="top">
189 <tbody>
190 <tr>
191 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
192 <td>a hostname or physical address</td>
193 </tr>
194 <tr>
195 <td><p><span class="term"><em class="parameter"><code>port</code></em> :</span></p></td>
196 <td>a port number</td>
197 </tr>
198 <tr>
199 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
200 <td>a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>
201 </td>
202 </tr>
203 </tbody>
204 </table></div>
205 </div>
206 <hr>
207 <div class="refsect2">
208 <a name="soup-address-new-from-sockaddr"></a><h3>soup_address_new_from_sockaddr ()</h3>
209 <pre class="programlisting"><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="returnvalue">SoupAddress</span></a> *       soup_address_new_from_sockaddr      (<em class="parameter"><code><span class="type">struct sockaddr</span> *sa</code></em>,
210                                                          <em class="parameter"><code><span class="type">int</span> len</code></em>);</pre>
211 <p>
212 Returns a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> equivalent to <em class="parameter"><code>sa</code></em> (or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>sa</code></em>'s
213 address family isn't supported)
214 </p>
215 <div class="variablelist"><table border="0">
216 <col align="left" valign="top">
217 <tbody>
218 <tr>
219 <td><p><span class="term"><em class="parameter"><code>sa</code></em> :</span></p></td>
220 <td>a pointer to a sockaddr</td>
221 </tr>
222 <tr>
223 <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
224 <td>size of <em class="parameter"><code>sa</code></em>
225 </td>
226 </tr>
227 <tr>
228 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
229 <td>the new <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
230 </td>
231 </tr>
232 </tbody>
233 </table></div>
234 </div>
235 <hr>
236 <div class="refsect2">
237 <a name="soup-address-new-any"></a><h3>soup_address_new_any ()</h3>
238 <pre class="programlisting"><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="returnvalue">SoupAddress</span></a> *       soup_address_new_any                (<em class="parameter"><code><a class="link" href="SoupAddress.html#SoupAddressFamily" title="enum SoupAddressFamily"><span class="type">SoupAddressFamily</span></a> family</code></em>,
239                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>);</pre>
240 <p>
241 Returns a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> corresponding to the "any" address
242 for <em class="parameter"><code>family</code></em> (or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>family</code></em> isn't supported), suitable for
243 using as a listening <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a>.
244 </p>
245 <div class="variablelist"><table border="0">
246 <col align="left" valign="top">
247 <tbody>
248 <tr>
249 <td><p><span class="term"><em class="parameter"><code>family</code></em> :</span></p></td>
250 <td>the address family</td>
251 </tr>
252 <tr>
253 <td><p><span class="term"><em class="parameter"><code>port</code></em> :</span></p></td>
254 <td>the port number (usually <a class="link" href="SoupAddress.html#SOUP-ADDRESS-ANY-PORT:CAPS" title="SOUP_ADDRESS_ANY_PORT"><code class="literal">SOUP_ADDRESS_ANY_PORT</code></a>)</td>
255 </tr>
256 <tr>
257 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
258 <td>the new <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
259 </td>
260 </tr>
261 </tbody>
262 </table></div>
263 </div>
264 <hr>
265 <div class="refsect2">
266 <a name="SoupAddressCallback"></a><h3>SoupAddressCallback ()</h3>
267 <pre class="programlisting"><span class="returnvalue">void</span>                (*SoupAddressCallback)              (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>,
268                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> status</code></em>,
269                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
270 <p>
271 The callback function passed to <a class="link" href="SoupAddress.html#soup-address-resolve-async" title="soup_address_resolve_async ()"><code class="function">soup_address_resolve_async()</code></a>.
272 </p>
273 <div class="variablelist"><table border="0">
274 <col align="left" valign="top">
275 <tbody>
276 <tr>
277 <td><p><span class="term"><em class="parameter"><code>addr</code></em> :</span></p></td>
278 <td>the <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> that was resolved</td>
279 </tr>
280 <tr>
281 <td><p><span class="term"><em class="parameter"><code>status</code></em> :</span></p></td>
282 <td>
283 <a class="link" href="libsoup-2.4-soup-status.html#SOUP-STATUS-OK:CAPS"><code class="literal">SOUP_STATUS_OK</code></a>, <a class="link" href="libsoup-2.4-soup-status.html#SOUP-STATUS-CANT-RESOLVE:CAPS"><code class="literal">SOUP_STATUS_CANT_RESOLVE</code></a>, or
284 <a class="link" href="libsoup-2.4-soup-status.html#SOUP-STATUS-CANCELLED:CAPS"><code class="literal">SOUP_STATUS_CANCELLED</code></a>
285 </td>
286 </tr>
287 <tr>
288 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
289 <td>the user data that was passed to
290 <a class="link" href="SoupAddress.html#soup-address-resolve-async" title="soup_address_resolve_async ()"><code class="function">soup_address_resolve_async()</code></a>
291 </td>
292 </tr>
293 </tbody>
294 </table></div>
295 </div>
296 <hr>
297 <div class="refsect2">
298 <a name="soup-address-resolve-async"></a><h3>soup_address_resolve_async ()</h3>
299 <pre class="programlisting"><span class="returnvalue">void</span>                soup_address_resolve_async          (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>,
300                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> *async_context</code></em>,
301                                                          <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
302                                                          <em class="parameter"><code><a class="link" href="SoupAddress.html#SoupAddressCallback" title="SoupAddressCallback ()"><span class="type">SoupAddressCallback</span></a> callback</code></em>,
303                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
304 <p>
305 Asynchronously resolves the missing half of <em class="parameter"><code>addr</code></em> (its IP address
306 if it was created with <a class="link" href="SoupAddress.html#soup-address-new" title="soup_address_new ()"><code class="function">soup_address_new()</code></a>, or its hostname if it
307 was created with <a class="link" href="SoupAddress.html#soup-address-new-from-sockaddr" title="soup_address_new_from_sockaddr ()"><code class="function">soup_address_new_from_sockaddr()</code></a> or
308 <a class="link" href="SoupAddress.html#soup-address-new-any" title="soup_address_new_any ()"><code class="function">soup_address_new_any()</code></a>.)
309 </p>
310 <p>
311 If <em class="parameter"><code>cancellable</code></em> is non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, it can be used to cancel the
312 resolution. <em class="parameter"><code>callback</code></em> will still be invoked in this case, with a
313 status of <a class="link" href="libsoup-2.4-soup-status.html#SOUP-STATUS-CANCELLED:CAPS"><code class="literal">SOUP_STATUS_CANCELLED</code></a>.
314 </p>
315 <p>
316 It is safe to call this more than once on a given address, from the
317 same thread, with the same <em class="parameter"><code>async_context</code></em> (and doing so will not
318 result in redundant DNS queries being made). But it is not safe to
319 call from multiple threads, or with different <em class="parameter"><code>async_contexts</code></em>, or
320 mixed with calls to <a class="link" href="SoupAddress.html#soup-address-resolve-sync" title="soup_address_resolve_sync ()"><code class="function">soup_address_resolve_sync()</code></a>.
321 </p>
322 <div class="variablelist"><table border="0">
323 <col align="left" valign="top">
324 <tbody>
325 <tr>
326 <td><p><span class="term"><em class="parameter"><code>addr</code></em> :</span></p></td>
327 <td>a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>
328 </td>
329 </tr>
330 <tr>
331 <td><p><span class="term"><em class="parameter"><code>async_context</code></em> :</span></p></td>
332 <td>the <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> to call <em class="parameter"><code>callback</code></em> from. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
333 </td>
334 </tr>
335 <tr>
336 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
337 <td>a <span class="type">GCancellable</span> object, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
338 </td>
339 </tr>
340 <tr>
341 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
342 <td>callback to call with the result. <span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span>
343 </td>
344 </tr>
345 <tr>
346 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
347 <td>data for <em class="parameter"><code>callback</code></em>
348 </td>
349 </tr>
350 </tbody>
351 </table></div>
352 </div>
353 <hr>
354 <div class="refsect2">
355 <a name="soup-address-resolve-sync"></a><h3>soup_address_resolve_sync ()</h3>
356 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               soup_address_resolve_sync           (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>,
357                                                          <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>);</pre>
358 <p>
359 Synchronously resolves the missing half of <em class="parameter"><code>addr</code></em>, as with
360 <a class="link" href="SoupAddress.html#soup-address-resolve-async" title="soup_address_resolve_async ()"><code class="function">soup_address_resolve_async()</code></a>.
361 </p>
362 <p>
363 If <em class="parameter"><code>cancellable</code></em> is non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, it can be used to cancel the
364 resolution. <a class="link" href="SoupAddress.html#soup-address-resolve-sync" title="soup_address_resolve_sync ()"><code class="function">soup_address_resolve_sync()</code></a> will then return a status
365 of <a class="link" href="libsoup-2.4-soup-status.html#SOUP-STATUS-CANCELLED:CAPS"><code class="literal">SOUP_STATUS_CANCELLED</code></a>.
366 </p>
367 <p>
368 It is safe to call this more than once, even from different
369 threads, but it is not safe to mix calls to
370 <a class="link" href="SoupAddress.html#soup-address-resolve-sync" title="soup_address_resolve_sync ()"><code class="function">soup_address_resolve_sync()</code></a> with calls to
371 <a class="link" href="SoupAddress.html#soup-address-resolve-async" title="soup_address_resolve_async ()"><code class="function">soup_address_resolve_async()</code></a> on the same address.
372 </p>
373 <div class="variablelist"><table border="0">
374 <col align="left" valign="top">
375 <tbody>
376 <tr>
377 <td><p><span class="term"><em class="parameter"><code>addr</code></em> :</span></p></td>
378 <td>a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>
379 </td>
380 </tr>
381 <tr>
382 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
383 <td>a <span class="type">GCancellable</span> object, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
384 </td>
385 </tr>
386 <tr>
387 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
388 <td>
389 <a class="link" href="libsoup-2.4-soup-status.html#SOUP-STATUS-OK:CAPS"><code class="literal">SOUP_STATUS_OK</code></a>, <a class="link" href="libsoup-2.4-soup-status.html#SOUP-STATUS-CANT-RESOLVE:CAPS"><code class="literal">SOUP_STATUS_CANT_RESOLVE</code></a>, or
390 <a class="link" href="libsoup-2.4-soup-status.html#SOUP-STATUS-CANCELLED:CAPS"><code class="literal">SOUP_STATUS_CANCELLED</code></a>.</td>
391 </tr>
392 </tbody>
393 </table></div>
394 </div>
395 <hr>
396 <div class="refsect2">
397 <a name="soup-address-is-resolved"></a><h3>soup_address_is_resolved ()</h3>
398 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            soup_address_is_resolved            (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>);</pre>
399 <p>
400 Tests if <em class="parameter"><code>addr</code></em> has already been resolved. Unlike the other
401 <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> "get" methods, this is safe to call when <em class="parameter"><code>addr</code></em> might
402 be being resolved in another thread.
403 </p>
404 <div class="variablelist"><table border="0">
405 <col align="left" valign="top">
406 <tbody>
407 <tr>
408 <td><p><span class="term"><em class="parameter"><code>addr</code></em> :</span></p></td>
409 <td>a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>
410 </td>
411 </tr>
412 <tr>
413 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
414 <td>
415 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>addr</code></em> has been resolved.</td>
416 </tr>
417 </tbody>
418 </table></div>
419 </div>
420 <hr>
421 <div class="refsect2">
422 <a name="soup-address-get-name"></a><h3>soup_address_get_name ()</h3>
423 <pre class="programlisting">const <span class="returnvalue">char</span> *        soup_address_get_name               (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>);</pre>
424 <p>
425 Returns the hostname associated with <em class="parameter"><code>addr</code></em>.
426 </p>
427 <p>
428 This method is not thread-safe; if you call it while <em class="parameter"><code>addr</code></em> is being
429 resolved in another thread, it may return garbage. You can use
430 <a class="link" href="SoupAddress.html#soup-address-is-resolved" title="soup_address_is_resolved ()"><code class="function">soup_address_is_resolved()</code></a> to safely test whether or not an address
431 is resolved before fetching its name or address.
432 </p>
433 <div class="variablelist"><table border="0">
434 <col align="left" valign="top">
435 <tbody>
436 <tr>
437 <td><p><span class="term"><em class="parameter"><code>addr</code></em> :</span></p></td>
438 <td>a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>
439 </td>
440 </tr>
441 <tr>
442 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
443 <td>the hostname, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it is not known. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
444 </td>
445 </tr>
446 </tbody>
447 </table></div>
448 </div>
449 <hr>
450 <div class="refsect2">
451 <a name="soup-address-get-sockaddr"></a><h3>soup_address_get_sockaddr ()</h3>
452 <pre class="programlisting">struct <span class="returnvalue">sockaddr</span> *   soup_address_get_sockaddr           (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>,
453                                                          <em class="parameter"><code><span class="type">int</span> *len</code></em>);</pre>
454 <p>
455 Returns the sockaddr associated with <em class="parameter"><code>addr</code></em>, with its length in
456 *<em class="parameter"><code>len</code></em>. If the sockaddr is not yet known, returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
457 </p>
458 <p>
459 This method is not thread-safe; if you call it while <em class="parameter"><code>addr</code></em> is being
460 resolved in another thread, it may return garbage. You can use
461 <a class="link" href="SoupAddress.html#soup-address-is-resolved" title="soup_address_is_resolved ()"><code class="function">soup_address_is_resolved()</code></a> to safely test whether or not an address
462 is resolved before fetching its name or address.
463 </p>
464 <div class="variablelist"><table border="0">
465 <col align="left" valign="top">
466 <tbody>
467 <tr>
468 <td><p><span class="term"><em class="parameter"><code>addr</code></em> :</span></p></td>
469 <td>a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>
470 </td>
471 </tr>
472 <tr>
473 <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
474 <td>return location for sockaddr length</td>
475 </tr>
476 <tr>
477 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
478 <td>the sockaddr, or <a href="http://library.gnome.org/devel/glib/unstable/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>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
479 </td>
480 </tr>
481 </tbody>
482 </table></div>
483 </div>
484 <hr>
485 <div class="refsect2">
486 <a name="soup-address-get-gsockaddr"></a><h3>soup_address_get_gsockaddr ()</h3>
487 <pre class="programlisting"><span class="returnvalue">GSocketAddress</span> *    soup_address_get_gsockaddr          (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>);</pre>
488 <p>
489 Creates a new <span class="type">GSocketAddress</span> corresponding to <em class="parameter"><code>addr</code></em> (which is assumed
490 to only have one socket address associated with it).
491 </p>
492 <div class="variablelist"><table border="0">
493 <col align="left" valign="top">
494 <tbody>
495 <tr>
496 <td><p><span class="term"><em class="parameter"><code>addr</code></em> :</span></p></td>
497 <td>a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>
498 </td>
499 </tr>
500 <tr>
501 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
502 <td>a new <span class="type">GSocketAddress</span>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
503 </td>
504 </tr>
505 </tbody>
506 </table></div>
507 <p class="since">Since 2.32</p>
508 </div>
509 <hr>
510 <div class="refsect2">
511 <a name="soup-address-get-physical"></a><h3>soup_address_get_physical ()</h3>
512 <pre class="programlisting">const <span class="returnvalue">char</span> *        soup_address_get_physical           (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>);</pre>
513 <p>
514 Returns the physical address associated with <em class="parameter"><code>addr</code></em> as a string.
515 (Eg, "127.0.0.1"). If the address is not yet known, returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
516 </p>
517 <p>
518 This method is not thread-safe; if you call it while <em class="parameter"><code>addr</code></em> is being
519 resolved in another thread, it may return garbage. You can use
520 <a class="link" href="SoupAddress.html#soup-address-is-resolved" title="soup_address_is_resolved ()"><code class="function">soup_address_is_resolved()</code></a> to safely test whether or not an address
521 is resolved before fetching its name or address.
522 </p>
523 <div class="variablelist"><table border="0">
524 <col align="left" valign="top">
525 <tbody>
526 <tr>
527 <td><p><span class="term"><em class="parameter"><code>addr</code></em> :</span></p></td>
528 <td>a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>
529 </td>
530 </tr>
531 <tr>
532 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
533 <td>the physical address, or <a href="http://library.gnome.org/devel/glib/unstable/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>
534 </td>
535 </tr>
536 </tbody>
537 </table></div>
538 </div>
539 <hr>
540 <div class="refsect2">
541 <a name="soup-address-get-port"></a><h3>soup_address_get_port ()</h3>
542 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               soup_address_get_port               (<em class="parameter"><code><a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> *addr</code></em>);</pre>
543 <p>
544 Returns the port associated with <em class="parameter"><code>addr</code></em>.
545 </p>
546 <div class="variablelist"><table border="0">
547 <col align="left" valign="top">
548 <tbody>
549 <tr>
550 <td><p><span class="term"><em class="parameter"><code>addr</code></em> :</span></p></td>
551 <td>a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>
552 </td>
553 </tr>
554 <tr>
555 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
556 <td>the port</td>
557 </tr>
558 </tbody>
559 </table></div>
560 </div>
561 <hr>
562 <div class="refsect2">
563 <a name="soup-address-equal-by-name"></a><h3>soup_address_equal_by_name ()</h3>
564 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            soup_address_equal_by_name          (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> addr1</code></em>,
565                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> addr2</code></em>);</pre>
566 <p>
567 Tests if <em class="parameter"><code>addr1</code></em> and <em class="parameter"><code>addr2</code></em> have the same "name". This method can be
568 used with <a class="link" href="SoupAddress.html#soup-address-hash-by-name" title="soup_address_hash_by_name ()"><code class="function">soup_address_hash_by_name()</code></a> to create a <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> that
569 hashes on address "names".
570 </p>
571 <p>
572 Comparing by name normally means comparing the addresses by their
573 hostnames. But if the address was originally created using an IP
574 address literal, then it will be compared by that instead.
575 </p>
576 <p>
577 In particular, if "www.example.com" has the IP address 10.0.0.1,
578 and <em class="parameter"><code>addr1</code></em> was created with the name "www.example.com" and <em class="parameter"><code>addr2</code></em>
579 was created with the name "10.0.0.1", then they will compare as
580 unequal for purposes of <a class="link" href="SoupAddress.html#soup-address-equal-by-name" title="soup_address_equal_by_name ()"><code class="function">soup_address_equal_by_name()</code></a>.
581 </p>
582 <p>
583 This would be used to distinguish hosts in situations where
584 different virtual hosts on the same IP address should be considered
585 different. Eg, for purposes of HTTP authentication or cookies, two
586 hosts with the same IP address but different names are considered
587 to be different hosts.
588 </p>
589 <p>
590 See also <a class="link" href="SoupAddress.html#soup-address-equal-by-ip" title="soup_address_equal_by_ip ()"><code class="function">soup_address_equal_by_ip()</code></a>, which compares by IP address
591 rather than by name.
592 </p>
593 <div class="variablelist"><table border="0">
594 <col align="left" valign="top">
595 <tbody>
596 <tr>
597 <td><p><span class="term"><em class="parameter"><code>addr1</code></em> :</span></p></td>
598 <td>a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> with a resolved name. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> Soup.Address]</span>
599 </td>
600 </tr>
601 <tr>
602 <td><p><span class="term"><em class="parameter"><code>addr2</code></em> :</span></p></td>
603 <td>another <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> with a resolved
604 name. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> Soup.Address]</span>
605 </td>
606 </tr>
607 <tr>
608 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
609 <td>whether or not <em class="parameter"><code>addr1</code></em> and <em class="parameter"><code>addr2</code></em> have the same name</td>
610 </tr>
611 </tbody>
612 </table></div>
613 <p class="since">Since 2.26</p>
614 </div>
615 <hr>
616 <div class="refsect2">
617 <a name="soup-address-hash-by-name"></a><h3>soup_address_hash_by_name ()</h3>
618 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               soup_address_hash_by_name           (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> addr</code></em>);</pre>
619 <p>
620 A hash function (for <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>) that corresponds to
621 <a class="link" href="SoupAddress.html#soup-address-equal-by-name" title="soup_address_equal_by_name ()"><code class="function">soup_address_equal_by_name()</code></a>, qv
622 </p>
623 <div class="variablelist"><table border="0">
624 <col align="left" valign="top">
625 <tbody>
626 <tr>
627 <td><p><span class="term"><em class="parameter"><code>addr</code></em> :</span></p></td>
628 <td>a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> Soup.Address]</span>
629 </td>
630 </tr>
631 <tr>
632 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
633 <td>the named-based hash value for <em class="parameter"><code>addr</code></em>.</td>
634 </tr>
635 </tbody>
636 </table></div>
637 <p class="since">Since 2.26</p>
638 </div>
639 <hr>
640 <div class="refsect2">
641 <a name="soup-address-equal-by-ip"></a><h3>soup_address_equal_by_ip ()</h3>
642 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            soup_address_equal_by_ip            (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> addr1</code></em>,
643                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> addr2</code></em>);</pre>
644 <p>
645 Tests if <em class="parameter"><code>addr1</code></em> and <em class="parameter"><code>addr2</code></em> have the same IP address. This method
646 can be used with <a class="link" href="SoupAddress.html#soup-address-hash-by-ip" title="soup_address_hash_by_ip ()"><code class="function">soup_address_hash_by_ip()</code></a> to create a
647 <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> that hashes on IP address.
648 </p>
649 <p>
650 This would be used to distinguish hosts in situations where
651 different virtual hosts on the same IP address should be considered
652 the same. Eg, if "www.example.com" and "www.example.net" have the
653 same IP address, then a single connection can be used to talk
654 to either of them.
655 </p>
656 <p>
657 See also <a class="link" href="SoupAddress.html#soup-address-equal-by-name" title="soup_address_equal_by_name ()"><code class="function">soup_address_equal_by_name()</code></a>, which compares by name
658 rather than by IP address.
659 </p>
660 <div class="variablelist"><table border="0">
661 <col align="left" valign="top">
662 <tbody>
663 <tr>
664 <td><p><span class="term"><em class="parameter"><code>addr1</code></em> :</span></p></td>
665 <td>a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> with a resolved IP
666 address. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> Soup.Address]</span>
667 </td>
668 </tr>
669 <tr>
670 <td><p><span class="term"><em class="parameter"><code>addr2</code></em> :</span></p></td>
671 <td>another <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> with a resolved
672 IP address. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> Soup.Address]</span>
673 </td>
674 </tr>
675 <tr>
676 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
677 <td>whether or not <em class="parameter"><code>addr1</code></em> and <em class="parameter"><code>addr2</code></em> have the same IP
678 address.</td>
679 </tr>
680 </tbody>
681 </table></div>
682 <p class="since">Since 2.26</p>
683 </div>
684 <hr>
685 <div class="refsect2">
686 <a name="soup-address-hash-by-ip"></a><h3>soup_address_hash_by_ip ()</h3>
687 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               soup_address_hash_by_ip             (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> addr</code></em>);</pre>
688 <p>
689 A hash function (for <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>) that corresponds to
690 <a class="link" href="SoupAddress.html#soup-address-equal-by-ip" title="soup_address_equal_by_ip ()"><code class="function">soup_address_equal_by_ip()</code></a>, qv
691 </p>
692 <div class="variablelist"><table border="0">
693 <col align="left" valign="top">
694 <tbody>
695 <tr>
696 <td><p><span class="term"><em class="parameter"><code>addr</code></em> :</span></p></td>
697 <td>a <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a>. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> Soup.Address]</span>
698 </td>
699 </tr>
700 <tr>
701 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
702 <td>the IP-based hash value for <em class="parameter"><code>addr</code></em>.</td>
703 </tr>
704 </tbody>
705 </table></div>
706 <p class="since">Since 2.26</p>
707 </div>
708 <hr>
709 <div class="refsect2">
710 <a name="SOUP-ADDRESS-FAMILY:CAPS"></a><h3>SOUP_ADDRESS_FAMILY</h3>
711 <pre class="programlisting">#define SOUP_ADDRESS_FAMILY   "family"
712 </pre>
713 <p>
714 Alias for the <a class="link" href="SoupAddress.html#SoupAddress--family" title='The "family" property'><span class="type">"family"</span></a> property. (The
715 <a class="link" href="SoupAddress.html#SoupAddressFamily" title="enum SoupAddressFamily"><span class="type">SoupAddressFamily</span></a> for this address.)
716 </p>
717 </div>
718 <hr>
719 <div class="refsect2">
720 <a name="SOUP-ADDRESS-NAME:CAPS"></a><h3>SOUP_ADDRESS_NAME</h3>
721 <pre class="programlisting">#define SOUP_ADDRESS_NAME     "name"
722 </pre>
723 <p>
724 Alias for the <a class="link" href="SoupAddress.html#SoupAddress--name" title='The "name" property'><span class="type">"name"</span></a> property. (The hostname for
725 this address.)
726 </p>
727 </div>
728 <hr>
729 <div class="refsect2">
730 <a name="SOUP-ADDRESS-PHYSICAL:CAPS"></a><h3>SOUP_ADDRESS_PHYSICAL</h3>
731 <pre class="programlisting">#define SOUP_ADDRESS_PHYSICAL "physical"
732 </pre>
733 <p>
734 An alias for the <a class="link" href="SoupAddress.html#SoupAddress--physical" title='The "physical" property'><span class="type">"physical"</span></a> property. (The
735 stringified IP address for this address.)
736 </p>
737 </div>
738 <hr>
739 <div class="refsect2">
740 <a name="SOUP-ADDRESS-PORT:CAPS"></a><h3>SOUP_ADDRESS_PORT</h3>
741 <pre class="programlisting">#define SOUP_ADDRESS_PORT     "port"
742 </pre>
743 <p>
744 An alias for the <a class="link" href="SoupAddress.html#SoupAddress--port" title='The "port" property'><span class="type">"port"</span></a> property. (The port for
745 this address.)
746 </p>
747 </div>
748 <hr>
749 <div class="refsect2">
750 <a name="SOUP-ADDRESS-SOCKADDR:CAPS"></a><h3>SOUP_ADDRESS_SOCKADDR</h3>
751 <pre class="programlisting">#define SOUP_ADDRESS_SOCKADDR "sockaddr"
752 </pre>
753 <p>
754 An alias for the <a class="link" href="SoupAddress.html#SoupAddress--sockaddr" title='The "sockaddr" property'><span class="type">"sockaddr"</span></a> property. (A pointer
755 to the struct sockaddr for this address.)
756 </p>
757 </div>
758 </div>
759 <div class="refsect1">
760 <a name="SoupAddress.property-details"></a><h2>Property Details</h2>
761 <div class="refsect2">
762 <a name="SoupAddress--family"></a><h3>The <code class="literal">"family"</code> property</h3>
763 <pre class="programlisting">  "family"                   <a class="link" href="SoupAddress.html#SoupAddressFamily" title="enum SoupAddressFamily"><span class="type">SoupAddressFamily</span></a>     : Read / Write / Construct Only</pre>
764 <p>Address family for this address.</p>
765 <p>Default value: SOUP_ADDRESS_FAMILY_INVALID</p>
766 </div>
767 <hr>
768 <div class="refsect2">
769 <a name="SoupAddress--name"></a><h3>The <code class="literal">"name"</code> property</h3>
770 <pre class="programlisting">  "name"                     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write / Construct Only</pre>
771 <p>Hostname for this address.</p>
772 <p>Default value: NULL</p>
773 </div>
774 <hr>
775 <div class="refsect2">
776 <a name="SoupAddress--physical"></a><h3>The <code class="literal">"physical"</code> property</h3>
777 <pre class="programlisting">  "physical"                 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read</pre>
778 <p>IP address for this address.</p>
779 <p>Default value: NULL</p>
780 </div>
781 <hr>
782 <div class="refsect2">
783 <a name="SoupAddress--port"></a><h3>The <code class="literal">"port"</code> property</h3>
784 <pre class="programlisting">  "port"                     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write / Construct Only</pre>
785 <p>Port for this address.</p>
786 <p>Allowed values: [G_MAXULONG,65535]</p>
787 <p>Default value: -1</p>
788 </div>
789 <hr>
790 <div class="refsect2">
791 <a name="SoupAddress--protocol"></a><h3>The <code class="literal">"protocol"</code> property</h3>
792 <pre class="programlisting">  "protocol"                 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write / Construct Only</pre>
793 <p>URI scheme for this address.</p>
794 <p>Default value: NULL</p>
795 </div>
796 <hr>
797 <div class="refsect2">
798 <a name="SoupAddress--sockaddr"></a><h3>The <code class="literal">"sockaddr"</code> property</h3>
799 <pre class="programlisting">  "sockaddr"                 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>              : Read / Write / Construct Only</pre>
800 <p>struct sockaddr for this address.</p>
801 </div>
802 </div>
803 </div>
804 <div class="footer">
805 <hr>
806           Generated by GTK-Doc V1.18</div>
807 </body>
808 </html>