lwres_getnameinfo.html revision cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4
220a21d38f675eb835f5758e3d23e896573aa5eaLennart Poettering - Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
e57eaef8a187762ca92838c24b9b6460878a800cDavid Herrmann - Copyright (C) 2000, 2001 Internet Software Consortium.
e57eaef8a187762ca92838c24b9b6460878a800cDavid Herrmann - Permission to use, copy, modify, and distribute this software for any
e57eaef8a187762ca92838c24b9b6460878a800cDavid Herrmann - purpose with or without fee is hereby granted, provided that the above
e57eaef8a187762ca92838c24b9b6460878a800cDavid Herrmann - copyright notice and this permission notice appear in all copies.
e57eaef8a187762ca92838c24b9b6460878a800cDavid Herrmann - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
01608bc86a104423d192364f9534b83d0c75db7fKay Sievers - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
e57eaef8a187762ca92838c24b9b6460878a800cDavid Herrmann - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
e57eaef8a187762ca92838c24b9b6460878a800cDavid Herrmann - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
e57eaef8a187762ca92838c24b9b6460878a800cDavid Herrmann - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
e57eaef8a187762ca92838c24b9b6460878a800cDavid Herrmann - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
e57eaef8a187762ca92838c24b9b6460878a800cDavid Herrmann - PERFORMANCE OF THIS SOFTWARE.
931618d08c64083ff7b29c494f482c40a5b05608Daniel Mack<!-- $Id: lwres_getnameinfo.html,v 1.18 2005/10/13 03:14:02 marka Exp $ -->
931618d08c64083ff7b29c494f482c40a5b05608Daniel Mack<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
931618d08c64083ff7b29c494f482c40a5b05608Daniel Mack<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
931618d08c64083ff7b29c494f482c40a5b05608Daniel Mack<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
931618d08c64083ff7b29c494f482c40a5b05608Daniel Mack<a name="id2463721"></a><div class="titlepage"></div>
931618d08c64083ff7b29c494f482c40a5b05608Daniel Mack<p>lwres_getnameinfo — lightweight resolver socket address structure to hostname and
931618d08c64083ff7b29c494f482c40a5b05608Daniel Mack service name
931618d08c64083ff7b29c494f482c40a5b05608Daniel Mack<pre class="funcsynopsisinfo">#include <lwres/netdb.h></pre>
931618d08c64083ff7b29c494f482c40a5b05608Daniel Mack<table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
e57eaef8a187762ca92838c24b9b6460878a800cDavid Herrmann<b class="fsfunc">lwres_getnameinfo</b>(</code></td>
0db83ad7334809a6605501e24bad55f3b652c072David Herrmann<var class="pdparam">flags</var><code>)</code>;</td>
9b361114f568e839784a3aeba5c1df5a95e86832Daniel Mack This function is equivalent to the
9b361114f568e839784a3aeba5c1df5a95e86832Daniel Mack <span class="citerefentry"><span class="refentrytitle">getnameinfo</span>(3)</span> function defined in RFC2133.
9b361114f568e839784a3aeba5c1df5a95e86832Daniel Mack <code class="function">lwres_getnameinfo()</code> returns the
9b361114f568e839784a3aeba5c1df5a95e86832Daniel Mack hostname for the
9b361114f568e839784a3aeba5c1df5a95e86832Daniel Mack <span class="type">struct sockaddr</span> <em class="parameter"><code>sa</code></em> which
9b361114f568e839784a3aeba5c1df5a95e86832Daniel Mack <em class="parameter"><code>salen</code></em> bytes long. The hostname is of
0db83ad7334809a6605501e24bad55f3b652c072David Herrmann <em class="parameter"><code>hostlen</code></em> and is returned via
0db83ad7334809a6605501e24bad55f3b652c072David Herrmann <em class="parameter"><code>*host.</code></em> The maximum length of the
0db83ad7334809a6605501e24bad55f3b652c072David Herrmann 1025 bytes: <code class="constant">NI_MAXHOST</code>.
5541c88977e63215e74b7517fb33cb27e5a04f17David Herrmann<p> The name of the service associated with the port number in
0db83ad7334809a6605501e24bad55f3b652c072David Herrmann <em class="parameter"><code>sa</code></em> is returned in <em class="parameter"><code>*serv.</code></em>
0db83ad7334809a6605501e24bad55f3b652c072David Herrmann It is <em class="parameter"><code>servlen</code></em> bytes long. The
2d1ca11270e66777c90a449096203afebc37ec9cDavid Herrmann maximum length
2d1ca11270e66777c90a449096203afebc37ec9cDavid Herrmann of the service name is <code class="constant">NI_MAXSERV</code> - 32
0f0467e63b0e0688ae9edb1512c1a2637d62ddb4Martin Pitt The <em class="parameter"><code>flags</code></em> argument sets the
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering<dt><span class="term"><code class="constant">NI_NOFQDN</code></span></dt>
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering A fully qualified domain name is not required for local hosts.
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering The local part of the fully qualified domain name is returned
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering<dt><span class="term"><code class="constant">NI_NUMERICHOST</code></span></dt>
0f0467e63b0e0688ae9edb1512c1a2637d62ddb4Martin Pitt Return the address in numeric form, as if calling inet_ntop(),
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering instead of a host name.
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering<dt><span class="term"><code class="constant">NI_NAMEREQD</code></span></dt>
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering A name is required. If the hostname cannot be found in the DNS
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering this flag is set, a non-zero error code is returned.
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering If the hostname is not found and the flag is not set, the
0aee49d5fba2b2ec94e5c069d937004858a04b4fThomas Hindoe Paaboel Andersen address is returned in numeric form.
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering<dt><span class="term"><code class="constant">NI_NUMERICSERV</code></span></dt>
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering The service name is returned as a digit string representing the
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering<dt><span class="term"><code class="constant">NI_DGRAM</code></span></dt>
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering Specifies that the service being looked up is a datagram
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering service, and causes getservbyport() to be called with a second
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering argument of "udp" instead of its default of "tcp". This is
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering for the few ports (512-514) that have different services for UDP
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering<a name="id2526027"></a><h2>RETURN VALUES</h2>
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering<p><code class="function">lwres_getnameinfo()</code>
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering returns 0 on success or a non-zero error code if an error occurs.
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering<p><span class="citerefentry"><span class="refentrytitle">RFC2133</span></span>,
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering <span class="citerefentry"><span class="refentrytitle">getservbyport</span>(3)</span>,
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering <span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>,
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering <span class="citerefentry"><span class="refentrytitle">lwres_getnameinfo</span>(3)</span>,
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering <span class="citerefentry"><span class="refentrytitle">lwres_getnamebyaddr</span>(3)</span>.
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering <span class="citerefentry"><span class="refentrytitle">lwres_net_ntop</span>(3)</span>.
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering RFC2133 fails to define what the nonzero return values of
470e72d4081c7d0fd74666b7a45358d5ee2abee1Lennart Poettering <span class="citerefentry"><span class="refentrytitle">getnameinfo</span>(3)</span>