<refentry id="camel-camel-net-utils">
<refmeta>
<refentrytitle role="top_of_page" id="camel-camel-net-utils.top_of_page">camel-net-utils</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAMEL Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>camel-net-utils</refname>
<refpurpose></refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>

<refsynopsisdiv id="camel-camel-net-utils.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>
#define             <link linkend="AI-CANONNAME:CAPS">AI_CANONNAME</link>
#define             <link linkend="AI-NUMERICHOST:CAPS">AI_NUMERICHOST</link>
#define             <link linkend="EAI-BADFLAGS:CAPS">EAI_BADFLAGS</link>
#define             <link linkend="EAI-NONAME:CAPS">EAI_NONAME</link>
#define             <link linkend="EAI-AGAIN:CAPS">EAI_AGAIN</link>
#define             <link linkend="EAI-FAIL:CAPS">EAI_FAIL</link>
#define             <link linkend="EAI-NODATA:CAPS">EAI_NODATA</link>
#define             <link linkend="EAI-FAMILY:CAPS">EAI_FAMILY</link>
#define             <link linkend="EAI-SOCKTYPE:CAPS">EAI_SOCKTYPE</link>
#define             <link linkend="EAI-SERVICE:CAPS">EAI_SERVICE</link>
#define             <link linkend="EAI-ADDRFAMILY:CAPS">EAI_ADDRFAMILY</link>
#define             <link linkend="EAI-MEMORY:CAPS">EAI_MEMORY</link>
#define             <link linkend="EAI-SYSTEM:CAPS">EAI_SYSTEM</link>
#define             <link linkend="EAI-OVERFLOW:CAPS">EAI_OVERFLOW</link>
#define             <link linkend="NI-NUMERICHOST:CAPS">NI_NUMERICHOST</link>
#define             <link linkend="NI-NUMERICSERV:CAPS">NI_NUMERICSERV</link>
#define             <link linkend="NI-NOFQDN:CAPS">NI_NOFQDN</link>
#define             <link linkend="NI-NAMEREQD:CAPS">NI_NAMEREQD</link>
#define             <link linkend="NI-DGRAM:CAPS">NI_DGRAM</link>
struct <link linkend="addrinfo">addrinfo</link>*    <link linkend="camel-getaddrinfo">camel_getaddrinfo</link>                   (const <link linkend="char">char</link> *name,
                                                         const <link linkend="char">char</link> *service,
                                                         const <link linkend="struct-addrinfo">struct addrinfo</link> *hints,
                                                         <link linkend="struct--CamelException">struct _CamelException</link> *ex);
<link linkend="void">void</link>                <link linkend="camel-freeaddrinfo">camel_freeaddrinfo</link>                  (<link linkend="struct-addrinfo">struct addrinfo</link> *host);
<link linkend="int">int</link>                 <link linkend="camel-getnameinfo">camel_getnameinfo</link>                   (const <link linkend="struct-sockaddr">struct sockaddr</link> *sa,
                                                         <link linkend="socklen-t">socklen_t</link> salen,
                                                         <link linkend="char">char</link> **host,
                                                         <link linkend="char">char</link> **serv,
                                                         <link linkend="int">int</link> flags,
                                                         <link linkend="struct--CamelException">struct _CamelException</link> *ex);
</synopsis>
</refsynopsisdiv>









<refsect1 id="camel-camel-net-utils.description" role="desc">
<title role="desc.title">Description</title>
<para>

</para>
</refsect1>

<refsect1 id="camel-camel-net-utils.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="AI-CANONNAME:CAPS" role="macro">
<title>AI_CANONNAME</title>
<indexterm zone="AI-CANONNAME:CAPS"><primary>AI_CANONNAME</primary></indexterm><programlisting>#define AI_CANONNAME	0x0002	/* Request for canonical name.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="AI-NUMERICHOST:CAPS" role="macro">
<title>AI_NUMERICHOST</title>
<indexterm zone="AI-NUMERICHOST:CAPS"><primary>AI_NUMERICHOST</primary></indexterm><programlisting>#define AI_NUMERICHOST	0x0004	/* Don't use name resolution.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="EAI-BADFLAGS:CAPS" role="macro">
<title>EAI_BADFLAGS</title>
<indexterm zone="EAI-BADFLAGS:CAPS"><primary>EAI_BADFLAGS</primary></indexterm><programlisting>#define EAI_BADFLAGS	  -1	/* Invalid value for `ai_flags' field.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="EAI-NONAME:CAPS" role="macro">
<title>EAI_NONAME</title>
<indexterm zone="EAI-NONAME:CAPS"><primary>EAI_NONAME</primary></indexterm><programlisting>#define EAI_NONAME	  -2	/* NAME or SERVICE is unknown.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="EAI-AGAIN:CAPS" role="macro">
<title>EAI_AGAIN</title>
<indexterm zone="EAI-AGAIN:CAPS"><primary>EAI_AGAIN</primary></indexterm><programlisting>#define EAI_AGAIN	  -3	/* Temporary failure in name resolution.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="EAI-FAIL:CAPS" role="macro">
<title>EAI_FAIL</title>
<indexterm zone="EAI-FAIL:CAPS"><primary>EAI_FAIL</primary></indexterm><programlisting>#define EAI_FAIL	  -4	/* Non-recoverable failure in name res.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="EAI-NODATA:CAPS" role="macro">
<title>EAI_NODATA</title>
<indexterm zone="EAI-NODATA:CAPS"><primary>EAI_NODATA</primary></indexterm><programlisting>#define EAI_NODATA	  -5	/* No address associated with NAME.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="EAI-FAMILY:CAPS" role="macro">
<title>EAI_FAMILY</title>
<indexterm zone="EAI-FAMILY:CAPS"><primary>EAI_FAMILY</primary></indexterm><programlisting>#define EAI_FAMILY	  -6	/* `ai_family' not supported.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="EAI-SOCKTYPE:CAPS" role="macro">
<title>EAI_SOCKTYPE</title>
<indexterm zone="EAI-SOCKTYPE:CAPS"><primary>EAI_SOCKTYPE</primary></indexterm><programlisting>#define EAI_SOCKTYPE	  -7	/* `ai_socktype' not supported.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="EAI-SERVICE:CAPS" role="macro">
<title>EAI_SERVICE</title>
<indexterm zone="EAI-SERVICE:CAPS"><primary>EAI_SERVICE</primary></indexterm><programlisting>#define EAI_SERVICE	  -8	/* SERVICE not supported for `ai_socktype'.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="EAI-ADDRFAMILY:CAPS" role="macro">
<title>EAI_ADDRFAMILY</title>
<indexterm zone="EAI-ADDRFAMILY:CAPS"><primary>EAI_ADDRFAMILY</primary></indexterm><programlisting>#define EAI_ADDRFAMILY	  -9	/* Address family for NAME not supported.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="EAI-MEMORY:CAPS" role="macro">
<title>EAI_MEMORY</title>
<indexterm zone="EAI-MEMORY:CAPS"><primary>EAI_MEMORY</primary></indexterm><programlisting>#define EAI_MEMORY	  -10	/* Memory allocation failure.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="EAI-SYSTEM:CAPS" role="macro">
<title>EAI_SYSTEM</title>
<indexterm zone="EAI-SYSTEM:CAPS"><primary>EAI_SYSTEM</primary></indexterm><programlisting>#define EAI_SYSTEM	  -11	/* System error returned in `errno'.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="EAI-OVERFLOW:CAPS" role="macro">
<title>EAI_OVERFLOW</title>
<indexterm zone="EAI-OVERFLOW:CAPS"><primary>EAI_OVERFLOW</primary></indexterm><programlisting>#define EAI_OVERFLOW	  -12	/* Argument buffer overflow.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="NI-NUMERICHOST:CAPS" role="macro">
<title>NI_NUMERICHOST</title>
<indexterm zone="NI-NUMERICHOST:CAPS"><primary>NI_NUMERICHOST</primary></indexterm><programlisting>#define NI_NUMERICHOST	1	/* Don't try to look up hostname.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="NI-NUMERICSERV:CAPS" role="macro">
<title>NI_NUMERICSERV</title>
<indexterm zone="NI-NUMERICSERV:CAPS"><primary>NI_NUMERICSERV</primary></indexterm><programlisting>#define NI_NUMERICSERV	2	/* Don't convert port number to name.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="NI-NOFQDN:CAPS" role="macro">
<title>NI_NOFQDN</title>
<indexterm zone="NI-NOFQDN:CAPS"><primary>NI_NOFQDN</primary></indexterm><programlisting>#define NI_NOFQDN	4	/* Only return nodename portion.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="NI-NAMEREQD:CAPS" role="macro">
<title>NI_NAMEREQD</title>
<indexterm zone="NI-NAMEREQD:CAPS"><primary>NI_NAMEREQD</primary></indexterm><programlisting>#define NI_NAMEREQD	8	/* Don't return numeric addresses.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="NI-DGRAM:CAPS" role="macro">
<title>NI_DGRAM</title>
<indexterm zone="NI-DGRAM:CAPS"><primary>NI_DGRAM</primary></indexterm><programlisting>#define NI_DGRAM	16	/* Look up UDP service rather than TCP.  */
</programlisting>
<para>

</para></refsect2>
<refsect2 id="camel-getaddrinfo" role="function">
<title>camel_getaddrinfo ()</title>
<indexterm zone="camel-getaddrinfo"><primary>camel_getaddrinfo</primary></indexterm><programlisting>struct <link linkend="addrinfo">addrinfo</link>*    camel_getaddrinfo                   (const <link linkend="char">char</link> *name,
                                                         const <link linkend="char">char</link> *service,
                                                         const <link linkend="struct-addrinfo">struct addrinfo</link> *hints,
                                                         <link linkend="struct--CamelException">struct _CamelException</link> *ex);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>service</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>hints</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ex</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-freeaddrinfo" role="function">
<title>camel_freeaddrinfo ()</title>
<indexterm zone="camel-freeaddrinfo"><primary>camel_freeaddrinfo</primary></indexterm><programlisting><link linkend="void">void</link>                camel_freeaddrinfo                  (<link linkend="struct-addrinfo">struct addrinfo</link> *host);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>host</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-getnameinfo" role="function">
<title>camel_getnameinfo ()</title>
<indexterm zone="camel-getnameinfo"><primary>camel_getnameinfo</primary></indexterm><programlisting><link linkend="int">int</link>                 camel_getnameinfo                   (const <link linkend="struct-sockaddr">struct sockaddr</link> *sa,
                                                         <link linkend="socklen-t">socklen_t</link> salen,
                                                         <link linkend="char">char</link> **host,
                                                         <link linkend="char">char</link> **serv,
                                                         <link linkend="int">int</link> flags,
                                                         <link linkend="struct--CamelException">struct _CamelException</link> *ex);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>sa</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>salen</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>host</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>serv</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>flags</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ex</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
