lwres_getnameinfo.html revision ddccd5811feff696ba460dabfb666ce61040f545
262N/A<!--
262N/A - Copyright (C) 2000, 2001 Internet Software Consortium.
262N/A -
262N/A - Permission to use, copy, modify, and distribute this software for any
943N/A - purpose with or without fee is hereby granted, provided that the above
262N/A - copyright notice and this permission notice appear in all copies.
262N/A -
919N/A - THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
919N/A - DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
919N/A - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
919N/A - INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
919N/A - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
919N/A - FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
919N/A - NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
919N/A - WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
919N/A-->
919N/A<HTML
919N/A><HEAD
919N/A><TITLE
919N/A>lwres_getnameinfo</TITLE
919N/A><META
919N/ANAME="GENERATOR"
919N/ACONTENT="Modular DocBook HTML Stylesheet Version 1.61
919N/A"></HEAD
262N/A><BODY
262N/ACLASS="REFENTRY"
262N/ABGCOLOR="#FFFFFF"
262N/ATEXT="#000000"
493N/ALINK="#0000FF"
262N/AVLINK="#840084"
970N/AALINK="#0000FF"
977N/A><H1
970N/A><A
970N/ANAME="AEN1"
262N/A>lwres_getnameinfo</A
851N/A></H1
262N/A><DIV
911N/ACLASS="REFNAMEDIV"
911N/A><A
911N/ANAME="AEN8"
911N/A></A
262N/A><H2
262N/A>Name</H2
262N/A>lwres_getnameinfo&nbsp;--&nbsp;lightweight resolver socket address structure to hostname and service name</DIV
262N/A><DIV
262N/ACLASS="REFSYNOPSISDIV"
493N/A><A
262N/ANAME="AEN11"
970N/A></A
970N/A><H2
970N/A>Synopsis</H2
262N/A><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN12"
></A
><P
></P
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include &lt;lwres/netdb.h&gt;</PRE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>int
lwres_getnameinfo</CODE
>(const struct sockaddr *sa, size_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN24"
></A
><H2
>DESCRIPTION</H2
><P
>This function is equivalent to the
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>getnameinfo</SPAN
>(3)</SPAN
>
function defined in RFC2133.
<TT
CLASS="FUNCTION"
>lwres_getnameinfo()</TT
>
returns the hostname for the
<SPAN
CLASS="TYPE"
>struct sockaddr</SPAN
>
<TT
CLASS="PARAMETER"
><I
>sa</I
></TT
>
which is
<TT
CLASS="PARAMETER"
><I
>salen</I
></TT
>
bytes long.
The hostname is of length
<TT
CLASS="PARAMETER"
><I
>hostlen</I
></TT
>
and is returned via
<TT
CLASS="PARAMETER"
><I
>*host.</I
></TT
>
The maximum length of the hostname is
1025 bytes:
<TT
CLASS="CONSTANT"
>NI_MAXHOST</TT
>.&#13;</P
><P
>The name of the service associated with the port number in
<TT
CLASS="PARAMETER"
><I
>sa</I
></TT
>
is returned in
<TT
CLASS="PARAMETER"
><I
>*serv.</I
></TT
>
It is
<TT
CLASS="PARAMETER"
><I
>servlen</I
></TT
>
bytes long.
The maximum length of the service name is
<TT
CLASS="CONSTANT"
>NI_MAXSERV</TT
> - 32 bytes.</P
><P
>The
<TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>
argument sets the following bits:
<P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="CONSTANT"
>NI_NOFQDN</TT
></DT
><DD
><P
>A fully qualified domain name is not required for local hosts.
The local part of the fully qualified domain name is returned instead.</P
></DD
><DT
><TT
CLASS="CONSTANT"
>NI_NUMERICHOST</TT
></DT
><DD
><P
>Return the address in numeric form, as if calling inet_ntop(),
instead of a host name.</P
></DD
><DT
><TT
CLASS="CONSTANT"
>NI_NAMEREQD</TT
></DT
><DD
><P
>A name is required. If the hostname cannot be found in the DNS and
this flag is set, a non-zero error code is returned.
If the hostname is not found and the flag is not set, the
address is returned in numeric form.</P
></DD
><DT
><TT
CLASS="CONSTANT"
>NI_NUMERICSERV</TT
></DT
><DD
><P
>The service name is returned as a digit string representing the port number.</P
></DD
><DT
><TT
CLASS="CONSTANT"
>NI_DGRAM</TT
></DT
><DD
><P
>Specifies that the service being looked up is a datagram
service, and causes getservbyport() to be called with a second
argument of "udp" instead of its default of "tcp". This is required
for the few ports (512-514) that have different services for UDP and
TCP.</P
></DD
></DL
></DIV
></P
><P
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN71"
></A
><H2
>RETURN VALUES</H2
><P
><TT
CLASS="FUNCTION"
>lwres_getnameinfo()</TT
>
returns 0 on success or a non-zero error code if an error occurs.</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN75"
></A
><H2
>SEE ALSO</H2
><P
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>RFC2133</SPAN
></SPAN
>,
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>getservbyport</SPAN
>(3)</SPAN
>,
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>lwres</SPAN
>(3)</SPAN
>,
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>lwres_getnameinfo</SPAN
>(3)</SPAN
>,
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>lwres_getnamebyaddr</SPAN
>(3)</SPAN
>.
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>lwres_net_ntop</SPAN
>(3)</SPAN
>.</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN95"
></A
><H2
>BUGS</H2
><P
>RFC2133 fails to define what the nonzero return values of
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>getnameinfo</SPAN
>(3)</SPAN
>
are.</P
></DIV
></BODY
></HTML
>