lwres_getnameinfo.html revision d4ef65050feac78554addf6e16a06c6e2e0bd331
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw<!--
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw - Copyright (C) 2001 Internet Software Consortium.
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw -
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw - Permission to use, copy, modify, and distribute this software for any
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw - purpose with or without fee is hereby granted, provided that the above
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw - copyright notice and this permission notice appear in all copies.
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw -
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw - THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw - DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw - INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw - FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw - NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw - WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw-->
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw<!-- $Id: lwres_getnameinfo.html,v 1.2 2001/04/10 21:51:48 bwelling Exp $ -->
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw<HTML
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw><HEAD
148c5f43199ca0b43fc8e3b643aab11cd66ea327Alan Wright><TITLE
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross>lwres_getnameinfo</TITLE
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw><META
89dc44ce9705974a8bc4a39f1e878a0491a5be61jose borregoNAME="GENERATOR"
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwCONTENT="Modular DocBook HTML Stylesheet Version 1.61
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw"></HEAD
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross><BODY
12b65585e720714b31036daaa2b30eb76014048eGordon RossCLASS="REFENTRY"
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon RossBGCOLOR="#FFFFFF"
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon RossTEXT="#000000"
12b65585e720714b31036daaa2b30eb76014048eGordon RossLINK="#0000FF"
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon RossVLINK="#840084"
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon RossALINK="#0000FF"
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross><H1
12b65585e720714b31036daaa2b30eb76014048eGordon Ross><A
68b2bbf26c7040fea4281dcb58b81e7627e46f34Gordon RossNAME="AEN1"
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross>lwres_getnameinfo</A
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross></H1
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross><DIV
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon RossCLASS="REFNAMEDIV"
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross><A
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon RossNAME="AEN8"
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw></A
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw><H2
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw>Name</H2
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen>lwres_getnameinfo&nbsp;--&nbsp;lightweight resolver socket address structure to hostname and service name</DIV
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen><DIV
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United StatesCLASS="REFSYNOPSISDIV"
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw><A
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwNAME="AEN11"
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States></A
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States><H2
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw>Synopsis</H2
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States><DIV
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong NguyenCLASS="FUNCSYNOPSIS"
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States><A
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong NguyenNAME="AEN12"
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross></A
12b65585e720714b31036daaa2b30eb76014048eGordon Ross><P
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross></P
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross><PRE
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon RossCLASS="FUNCSYNOPSISINFO"
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross>#include &lt;lwres/netdb.h&gt;</PRE
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross><P
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross><CODE
12b65585e720714b31036daaa2b30eb76014048eGordon Ross><CODE
12b65585e720714b31036daaa2b30eb76014048eGordon RossCLASS="FUNCDEF"
12b65585e720714b31036daaa2b30eb76014048eGordon Ross>int
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Rosslwres_getnameinfo</CODE
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross>(const struct sockaddr *sa, size_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags);</CODE
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw></P
67e3a03ed4a2813074d36330f062ed6e593a4937rie><P
12b65585e720714b31036daaa2b30eb76014048eGordon Ross></P
12b65585e720714b31036daaa2b30eb76014048eGordon Ross></DIV
12b65585e720714b31036daaa2b30eb76014048eGordon Ross></DIV
12b65585e720714b31036daaa2b30eb76014048eGordon Ross><DIV
12b65585e720714b31036daaa2b30eb76014048eGordon RossCLASS="REFSECT1"
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw><A
86d7016b0051dd58772baafe5b5bcee51d560b05Gordon RossNAME="AEN24"
86d7016b0051dd58772baafe5b5bcee51d560b05Gordon Ross></A
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw><H2
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw>DESCRIPTION</H2
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw><P
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw>This function is equivalent to the
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw<SPAN
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwCLASS="CITEREFENTRY"
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw><SPAN
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwCLASS="REFENTRYTITLE"
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw>getnameinfo</SPAN
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States>(3)</SPAN
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States>
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United Statesfunction defined in RFC2133.
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw<TT
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwCLASS="FUNCTION"
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw>lwres_getnameinfo()</TT
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw>
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwreturns the hostname for the
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw<SPAN
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwCLASS="TYPE"
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw>struct sockaddr</SPAN
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw>
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw<TT
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwCLASS="PARAMETER"
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw><I
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw>sa</I
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw></TT
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw>
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwwhich is
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw<TT
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwCLASS="PARAMETER"
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States><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
>