2 - Copyright (C) 2004, 2005, 2007, 2014 Internet Systems Consortium, Inc. ("ISC")
3 - Copyright (C) 2000, 2001 Internet Software Consortium.
5 - Permission to use, copy, modify, and/or distribute this software for any
6 - purpose with or without fee is hereby granted, provided that the above
7 - copyright notice and this permission notice appear in all copies.
9 - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10 - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11 - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12 - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13 - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14 - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15 - PERFORMANCE OF THIS SOFTWARE.
20 <meta http-equiv=
"Content-Type" content=
"text/html; charset=ISO-8859-1">
21 <title>lwres_getnameinfo
</title>
22 <meta name=
"generator" content=
"DocBook XSL Stylesheets V1.71.1">
24 <body bgcolor=
"white" text=
"black" link=
"#0000FF" vlink=
"#840084" alink=
"#0000FF"><div class=
"refentry" lang=
"en">
25 <a name=
"id2476275"></a><div class=
"titlepage"></div>
26 <div class=
"refnamediv">
28 <p>lwres_getnameinfo
— lightweight resolver socket address structure to hostname and
32 <div class=
"refsynopsisdiv">
34 <div class=
"funcsynopsis">
35 <pre class=
"funcsynopsisinfo">#include
<lwres/netdb.h
></pre>
36 <table border=
"0" summary=
"Function synopsis" cellspacing=
"0" cellpadding=
"0">
38 <td><code class=
"funcdef">
40 <b class=
"fsfunc">lwres_getnameinfo
</b>(
</code></td>
41 <td>const struct sockaddr *
</td>
43 <var class=
"pdparam">sa
</var>,
</td>
49 <var class=
"pdparam">salen
</var>,
</td>
55 <var class=
"pdparam">host
</var>,
</td>
61 <var class=
"pdparam">hostlen
</var>,
</td>
67 <var class=
"pdparam">serv
</var>,
</td>
73 <var class=
"pdparam">servlen
</var>,
</td>
79 <var class=
"pdparam">flags
</var><code>)
</code>;
</td>
84 <div class=
"refsect1" lang=
"en">
85 <a name=
"id2543402"></a><h2>DESCRIPTION
</h2>
87 This function is equivalent to the
88 <span class=
"citerefentry"><span class=
"refentrytitle">getnameinfo
</span>(
3)
</span> function defined in RFC2133.
89 <code class=
"function">lwres_getnameinfo()
</code> returns the
91 <span class=
"type">struct sockaddr
</span> <em class=
"parameter"><code>sa
</code></em> which
93 <em class=
"parameter"><code>salen
</code></em> bytes long. The hostname is of
95 <em class=
"parameter"><code>hostlen
</code></em> and is returned via
96 <em class=
"parameter"><code>*host.
</code></em> The maximum length of the
98 1025 bytes:
<code class=
"constant">NI_MAXHOST
</code>.
100 <p> The name of the service associated with the port number in
101 <em class=
"parameter"><code>sa
</code></em> is returned in
<em class=
"parameter"><code>*serv.
</code></em>
102 It is
<em class=
"parameter"><code>servlen
</code></em> bytes long. The
104 of the service name is
<code class=
"constant">NI_MAXSERV
</code> -
32
108 The
<em class=
"parameter"><code>flags
</code></em> argument sets the
112 <div class=
"variablelist"><dl>
113 <dt><span class=
"term"><code class=
"constant">NI_NOFQDN
</code></span></dt>
115 A fully qualified domain name is not required for local hosts.
116 The local part of the fully qualified domain name is returned
119 <dt><span class=
"term"><code class=
"constant">NI_NUMERICHOST
</code></span></dt>
121 Return the address in numeric form, as if calling inet_ntop(),
122 instead of a host name.
124 <dt><span class=
"term"><code class=
"constant">NI_NAMEREQD
</code></span></dt>
126 A name is required. If the hostname cannot be found in the DNS
128 this flag is set, a non-zero error code is returned.
129 If the hostname is not found and the flag is not set, the
130 address is returned in numeric form.
132 <dt><span class=
"term"><code class=
"constant">NI_NUMERICSERV
</code></span></dt>
134 The service name is returned as a digit string representing the
137 <dt><span class=
"term"><code class=
"constant">NI_DGRAM
</code></span></dt>
139 Specifies that the service being looked up is a datagram
140 service, and causes getservbyport() to be called with a second
141 argument of
"udp" instead of its default of
"tcp". This is
143 for the few ports (
512-
514) that have different services for UDP
151 <div class=
"refsect1" lang=
"en">
152 <a name=
"id2543544"></a><h2>RETURN VALUES
</h2>
153 <p><code class=
"function">lwres_getnameinfo()
</code>
154 returns
0 on success or a non-zero error code if an error occurs.
157 <div class=
"refsect1" lang=
"en">
158 <a name=
"id2543556"></a><h2>SEE ALSO
</h2>
159 <p><span class=
"citerefentry"><span class=
"refentrytitle">RFC2133
</span></span>,
160 <span class=
"citerefentry"><span class=
"refentrytitle">getservbyport
</span>(
3)
</span>,
161 <span class=
"citerefentry"><span class=
"refentrytitle">lwres
</span>(
3)
</span>,
162 <span class=
"citerefentry"><span class=
"refentrytitle">lwres_getnameinfo
</span>(
3)
</span>,
163 <span class=
"citerefentry"><span class=
"refentrytitle">lwres_getnamebyaddr
</span>(
3)
</span>.
164 <span class=
"citerefentry"><span class=
"refentrytitle">lwres_net_ntop
</span>(
3)
</span>.
167 <div class=
"refsect1" lang=
"en">
168 <a name=
"id2543613"></a><h2>BUGS
</h2>
170 RFC2133 fails to define what the nonzero return values of
171 <span class=
"citerefentry"><span class=
"refentrytitle">getnameinfo
</span>(
3)
</span>