lwres_getnameinfo.html revision c651f15b30f1dae5cc2f00878fb5da5b3a35a468
824N/A<!--
824N/A - Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
824N/A - Copyright (C) 2000, 2001 Internet Software Consortium.
824N/A -
824N/A - Permission to use, copy, modify, and distribute this software for any
824N/A - purpose with or without fee is hereby granted, provided that the above
824N/A - copyright notice and this permission notice appear in all copies.
824N/A -
824N/A - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
824N/A - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
824N/A - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
824N/A - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
824N/A - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
824N/A - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
824N/A - PERFORMANCE OF THIS SOFTWARE.
824N/A-->
824N/A
824N/A<!-- $Id: lwres_getnameinfo.html,v 1.11 2005/04/07 03:50:02 marka Exp $ -->
824N/A
824N/A<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
824N/A<HTML
824N/A><HEAD
824N/A><TITLE
824N/A>lwres_getnameinfo</TITLE
824N/A><META
824N/ANAME="GENERATOR"
824N/ACONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD
824N/A><BODY
824N/ACLASS="REFENTRY"
824N/ABGCOLOR="#FFFFFF"
824N/ATEXT="#000000"
824N/ALINK="#0000FF"
824N/AVLINK="#840084"
824N/AALINK="#0000FF"
824N/A><H1
824N/A><A
824N/ANAME="AEN1"
824N/A></A
824N/A>lwres_getnameinfo</H1
824N/A><DIV
824N/ACLASS="REFNAMEDIV"
824N/A><A
824N/ANAME="AEN8"
824N/A></A
824N/A><H2
824N/A>Name</H2
824N/A>lwres_getnameinfo&nbsp;--&nbsp;lightweight resolver socket address structure to hostname and service name</DIV
824N/A><DIV
824N/ACLASS="REFSYNOPSISDIV"
824N/A><A
824N/ANAME="AEN11"
824N/A></A
824N/A><H2
824N/A>Synopsis</H2
824N/A><DIV
824N/ACLASS="FUNCSYNOPSIS"
824N/A><P
824N/A></P
824N/A><A
824N/ANAME="AEN12"
824N/A></A
824N/A><PRE
824N/ACLASS="FUNCSYNOPSISINFO"
824N/A>#include &lt;lwres/netdb.h&gt;</PRE
824N/A><P
824N/A><CODE
824N/A><CODE
824N/ACLASS="FUNCDEF"
824N/A>int
824N/Alwres_getnameinfo</CODE
824N/A>(const struct sockaddr *sa, size_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags);</CODE
824N/A></P
824N/A><P
824N/A></P
824N/A></DIV
824N/A></DIV
824N/A><DIV
824N/ACLASS="REFSECT1"
824N/A><A
824N/ANAME="AEN24"
824N/A></A
824N/A><H2
824N/A>DESCRIPTION</H2
824N/A><P
824N/A> This function is equivalent to the <SPAN
824N/ACLASS="CITEREFENTRY"
824N/A><SPAN
824N/ACLASS="REFENTRYTITLE"
824N/A>getnameinfo</SPAN
824N/A>(3)</SPAN
824N/A> function defined in RFC2133.
824N/A<CODE
824N/ACLASS="FUNCTION"
824N/A>lwres_getnameinfo()</CODE
824N/A> returns the hostname for the
824N/A<SPAN
824N/ACLASS="TYPE"
824N/A>struct sockaddr</SPAN
824N/A> <CODE
824N/ACLASS="PARAMETER"
824N/A>sa</CODE
824N/A> which is
824N/A<CODE
824N/ACLASS="PARAMETER"
824N/A>salen</CODE
824N/A> bytes long. The hostname is of length
824N/A<CODE
824N/ACLASS="PARAMETER"
824N/A>hostlen</CODE
824N/A> and is returned via
824N/A<CODE
824N/ACLASS="PARAMETER"
824N/A>*host.</CODE
824N/A> The maximum length of the hostname is
824N/A1025 bytes: <CODE
824N/ACLASS="CONSTANT"
824N/A>NI_MAXHOST</CODE
824N/A>.</P
824N/A><P
824N/A> The name of the service associated with the port number in
824N/A<CODE
824N/ACLASS="PARAMETER"
824N/A>sa</CODE
824N/A> is returned in <CODE
824N/ACLASS="PARAMETER"
824N/A>*serv.</CODE
824N/A>
824N/AIt is <CODE
824N/ACLASS="PARAMETER"
824N/A>servlen</CODE
824N/A> bytes long. The maximum length
824N/Aof the service name is <CODE
824N/ACLASS="CONSTANT"
824N/A>NI_MAXSERV</CODE
824N/A> - 32 bytes.</P
824N/A><P
824N/A> The <CODE
824N/ACLASS="PARAMETER"
824N/A>flags</CODE
824N/A> argument sets the following
824N/Abits:
824N/A<P
824N/A></P
824N/A><DIV
824N/ACLASS="VARIABLELIST"
824N/A><DL
824N/A><DT
824N/A><CODE
824N/ACLASS="CONSTANT"
824N/A>NI_NOFQDN</CODE
824N/A></DT
824N/A><DD
824N/A><P
824N/A>A fully qualified domain name is not required for local hosts.
824N/AThe local part of the fully qualified domain name is returned instead.</P
824N/A></DD
824N/A><DT
824N/A><CODE
824N/ACLASS="CONSTANT"
824N/A>NI_NUMERICHOST</CODE
824N/A></DT
824N/A><DD
824N/A><P
824N/A>Return the address in numeric form, as if calling inet_ntop(),
824N/Ainstead of a host name.</P
824N/A></DD
824N/A><DT
824N/A><CODE
824N/ACLASS="CONSTANT"
824N/A>NI_NAMEREQD</CODE
824N/A></DT
824N/A><DD
824N/A><P
824N/A>A name is required. If the hostname cannot be found in the DNS and
824N/Athis flag is set, a non-zero error code is returned.
824N/AIf the hostname is not found and the flag is not set, the
824N/Aaddress is returned in numeric form.</P
824N/A></DD
824N/A><DT
824N/A><CODE
824N/ACLASS="CONSTANT"
824N/A>NI_NUMERICSERV</CODE
824N/A></DT
824N/A><DD
824N/A><P
824N/A>The service name is returned as a digit string representing the port number.</P
824N/A></DD
824N/A><DT
824N/A><CODE
824N/ACLASS="CONSTANT"
824N/A>NI_DGRAM</CODE
824N/A></DT
824N/A><DD
824N/A><P
824N/A>Specifies that the service being looked up is a datagram
824N/Aservice, and causes getservbyport() to be called with a second
824N/Aargument of "udp" instead of its default of "tcp". This is required
824N/Afor the few ports (512-514) that have different services for UDP and
824N/ATCP.</P
824N/A></DD
824N/A></DL
824N/A></DIV
824N/A></P
824N/A></DIV
824N/A><DIV
824N/ACLASS="REFSECT1"
824N/A><A
824N/ANAME="AEN70"
824N/A></A
824N/A><H2
824N/A>RETURN VALUES</H2
824N/A><P
824N/A><CODE
824N/ACLASS="FUNCTION"
824N/A>lwres_getnameinfo()</CODE
824N/A>
824N/Areturns 0 on success or a non-zero error code if an error occurs.</P
824N/A></DIV
824N/A><DIV
824N/ACLASS="REFSECT1"
824N/A><A
824N/ANAME="AEN74"
824N/A></A
824N/A><H2
824N/A>SEE ALSO</H2
824N/A><P
824N/A><SPAN
824N/ACLASS="CITEREFENTRY"
824N/A><SPAN
824N/ACLASS="REFENTRYTITLE"
824N/A>RFC2133</SPAN
824N/A></SPAN
824N/A>,
824N/A<SPAN
824N/ACLASS="CITEREFENTRY"
824N/A><SPAN
824N/ACLASS="REFENTRYTITLE"
824N/A>getservbyport</SPAN
824N/A>(3)</SPAN
824N/A>,
824N/A<SPAN
824N/ACLASS="CITEREFENTRY"
824N/A><SPAN
824N/ACLASS="REFENTRYTITLE"
824N/A>lwres</SPAN
824N/A>(3)</SPAN
824N/A>,
824N/A<SPAN
824N/ACLASS="CITEREFENTRY"
824N/A><SPAN
824N/ACLASS="REFENTRYTITLE"
824N/A>lwres_getnameinfo</SPAN
824N/A>(3)</SPAN
824N/A>,
824N/A<SPAN
824N/ACLASS="CITEREFENTRY"
824N/A><SPAN
824N/ACLASS="REFENTRYTITLE"
824N/A>lwres_getnamebyaddr</SPAN
824N/A>(3)</SPAN
824N/A>.
824N/A<SPAN
824N/ACLASS="CITEREFENTRY"
824N/A><SPAN
824N/ACLASS="REFENTRYTITLE"
824N/A>lwres_net_ntop</SPAN
824N/A>(3)</SPAN
824N/A>.</P
824N/A></DIV
824N/A><DIV
824N/ACLASS="REFSECT1"
824N/A><A
824N/ANAME="AEN94"
824N/A></A
824N/A><H2
824N/A>BUGS</H2
824N/A><P
824N/A>RFC2133 fails to define what the nonzero return values of
824N/A<SPAN
824N/ACLASS="CITEREFENTRY"
824N/A><SPAN
824N/ACLASS="REFENTRYTITLE"
824N/A>getnameinfo</SPAN
824N/A>(3)</SPAN
824N/A>
824N/Aare.</P
824N/A></DIV
824N/A></BODY
824N/A></HTML
824N/A>
824N/A