| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 | 
							- <refentry id="refresolve">
 
-   <refmeta>
 
-     <refentrytitle>ne_addr_resolve</refentrytitle>
 
-     <manvolnum>3</manvolnum>
 
-   </refmeta>
 
-   <refnamediv>
 
-     <refname id="ne_addr_resolve">ne_addr_resolve</refname>
 
-     <refname id="ne_addr_result">ne_addr_result</refname>
 
-     <refname id="ne_addr_first">ne_addr_first</refname>
 
-     <refname id="ne_addr_next">ne_addr_next</refname>
 
-     <refname id="ne_addr_error">ne_addr_error</refname>
 
-     <refname id="ne_addr_destroy">ne_addr_destroy</refname>
 
-     <refpurpose>functions to resolve hostnames to addresses</refpurpose>
 
-   </refnamediv>
 
-   
 
-   <refsynopsisdiv>
 
-     <funcsynopsis>
 
-       <funcsynopsisinfo>#include <ne_socket.h></funcsynopsisinfo>
 
-       <funcprototype>
 
-         <funcdef>ne_sock_addr *<function>ne_addr_resolve</function></funcdef>
 
-         <paramdef>const char *<parameter>hostname</parameter></paramdef>
 
-         <paramdef>int <parameter>flags</parameter></paramdef>
 
-       </funcprototype>
 
-       <funcprototype>
 
-         <funcdef>int <function>ne_addr_result</function></funcdef>
 
-         <paramdef>const ne_sock_addr *<parameter>addr</parameter></paramdef>
 
-       </funcprototype>
 
-       <funcprototype>
 
-         <funcdef>const ne_inet_addr *<function>ne_addr_first</function></funcdef>
 
-         <paramdef>ne_sock_addr *<parameter>addr</parameter></paramdef>
 
-       </funcprototype>
 
-       <funcprototype>
 
-         <funcdef>const ne_inet_addr *<function>ne_addr_next</function></funcdef>
 
-         <paramdef>ne_sock_addr *<parameter>addr</parameter></paramdef>
 
-       </funcprototype>
 
-       <funcprototype>
 
-         <funcdef>char *<function>ne_addr_error</function></funcdef>
 
-         <paramdef>const ne_sock_addr *<parameter>addr</parameter></paramdef>
 
-         <paramdef>char *<parameter>buffer</parameter></paramdef>
 
-         <paramdef>size_t <parameter>bufsiz</parameter></paramdef>
 
-       </funcprototype>
 
-       <funcprototype>
 
-         <funcdef>void <function>ne_addr_destroy</function></funcdef>
 
-         <paramdef>ne_sock_addr *<parameter>addr</parameter></paramdef>
 
-       </funcprototype>
 
-     </funcsynopsis>
 
-   </refsynopsisdiv>
 
-   <refsect1>
 
-     <title>Description</title>
 
-     <para>The <function>ne_addr_resolve</function> function resolves
 
-     the given <parameter>hostname</parameter>, returning an
 
-     <type>ne_sock_addr</type> object representing the address (or
 
-     addresses) associated with the hostname.  The
 
-     <parameter>flags</parameter> parameter is currently unused, and
 
-     must be passed as 0.</para>
 
-     <para>The <parameter>hostname</parameter> passed to
 
-     <function>ne_addr_resolve</function> can be a DNS hostname
 
-     (e.g. <literal>"www.example.com"</literal>) or an IPv4 dotted quad
 
-     (e.g. <literal>"192.0.34.72"</literal>); or, on systems which
 
-     support IPv6, an IPv6 hex address, which may be enclosed in
 
-     brackets, e.g. <literal>"[::1]"</literal>.</para>
 
-     <para>To determine whether the hostname was successfully resolved,
 
-     the <function>ne_addr_result</function> function is used, which
 
-     returns non-zero if an error occurred.  If an error did occur, the
 
-     <function>ne_addr_error</function> function can be used, which
 
-     will copy the error string into a given
 
-     <parameter>buffer</parameter> (of size
 
-     <parameter>bufsiz</parameter>).</para>
 
-     <para>The functions <function>ne_addr_first</function> and
 
-     <function>ne_addr_next</function> are used to retrieve the
 
-     Internet addresses associated with an address object which has
 
-     been successfully resolved.  <function>ne_addr_first</function>
 
-     returns the first address; <function>ne_addr_next</function>
 
-     returns the next address after the most recent call to
 
-     <function>ne_addr_next</function> or
 
-     <function>ne_addr_first</function>, or &null; if there are no more
 
-     addresses.  The <type>ne_inet_addr</type> pointer returned by
 
-     these functions can be passed to
 
-     <function>ne_sock_connect</function> to connect a socket.</para>
 
-     <para>After the address object has been used, it should be
 
-     destroyed using <function>ne_addr_destroy</function>.</para>
 
-   </refsect1>
 
-   <refsect1>
 
-     <title>Return value</title>
 
-     <para><function>ne_addr_resolve</function> returns a pointer to an
 
-     address object, and never &null;.
 
-     <function>ne_addr_error</function> returns the
 
-     <parameter>buffer</parameter> parameter .</para>
 
-   </refsect1>
 
-   <refsect1>
 
-     <title>Examples</title>
 
-     <para>The code below prints out the set of addresses associated
 
-     with the hostname <literal>www.google.com</literal>.</para>
 
-     <programlisting>ne_sock_addr *addr;
 
- char buf[256];
 
- addr = ne_addr_resolve("www.google.com", 0);
 
- if (ne_addr_result(addr)) {
 
-     printf("Could not resolve www.google.com: %s\n",
 
-            ne_addr_error(addr, buf, sizeof buf));
 
- } else {
 
-     const ne_inet_addr *ia;
 
-     printf("www.google.com:");
 
-     for (ia = ne_addr_first(addr); ia != NULL; ia = ne_addr_next(addr)) {
 
-         printf(" %s", ne_iaddr_print(ia, buf, sizeof buf));
 
-     }
 
-     putchar('\n');
 
- }
 
- ne_addr_destroy(addr);
 
- </programlisting>
 
-   </refsect1>
 
-   <refsect1>
 
-     <title>See also</title>
 
-     <para><xref linkend="ne_iaddr_print"/></para>
 
-   </refsect1>
 
- </refentry>
 
 
  |