lwres_getnameinfo.docbook revision 268a4475065fe6a8cd7cc707820982cf5e98f430
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein "http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein [<!ENTITY mdash "&#8212;">]>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<!--
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews - Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews - Copyright (C) 2000, 2001 Internet Software Consortium.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson -
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - Permission to use, copy, modify, and distribute this software for any
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - purpose with or without fee is hereby granted, provided that the above
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - copyright notice and this permission notice appear in all copies.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson -
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - PERFORMANCE OF THIS SOFTWARE.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson-->
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein<!-- $Id: lwres_getnameinfo.docbook,v 1.6 2005/05/11 05:55:40 sra Exp $ -->
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<refentry>
86b0285d7e65601645db4090d62ee6cb63abad6cAndreas Gustafsson
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refentryinfo>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <date>Jun 30, 2000</date>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </refentryinfo>
86b0285d7e65601645db4090d62ee6cb63abad6cAndreas Gustafsson
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refmeta>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refentrytitle>lwres_getnameinfo</refentrytitle>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <manvolnum>3</manvolnum>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refmiscinfo>BIND9</refmiscinfo>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </refmeta>
86b0285d7e65601645db4090d62ee6cb63abad6cAndreas Gustafsson
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <docinfo>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <copyright>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <year>2004</year>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <year>2005</year>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </copyright>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <copyright>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <year>2000</year>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <year>2001</year>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <holder>Internet Software Consortium</holder>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </copyright>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </docinfo>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refnamediv>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refname>lwres_getnameinfo</refname>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refpurpose>lightweight resolver socket address structure to hostname and
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein service name
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </refpurpose>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </refnamediv>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refsynopsisdiv>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <funcsynopsis>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<funcsynopsisinfo>#include &lt;lwres/netdb.h&gt;</funcsynopsisinfo>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<funcprototype>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <funcdef>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonint
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<function>lwres_getnameinfo</function></funcdef>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <paramdef>const struct sockaddr *<parameter>sa</parameter></paramdef>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <paramdef>size_t <parameter>salen</parameter></paramdef>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <paramdef>char *<parameter>host</parameter></paramdef>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <paramdef>size_t <parameter>hostlen</parameter></paramdef>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <paramdef>char *<parameter>serv</parameter></paramdef>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <paramdef>size_t <parameter>servlen</parameter></paramdef>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <paramdef>int <parameter>flags</parameter></paramdef>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </funcprototype>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</funcsynopsis>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </refsynopsisdiv>
86b0285d7e65601645db4090d62ee6cb63abad6cAndreas Gustafsson
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refsect1>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <title>DESCRIPTION</title>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein This function is equivalent to the
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <citerefentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refentrytitle>getnameinfo</refentrytitle><manvolnum>3</manvolnum>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </citerefentry> function defined in RFC2133.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <function>lwres_getnameinfo()</function> returns the
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein hostname for the
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <type>struct sockaddr</type> <parameter>sa</parameter> which
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein is
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <parameter>salen</parameter> bytes long. The hostname is of
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein length
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <parameter>hostlen</parameter> and is returned via
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <parameter>*host.</parameter> The maximum length of the
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein hostname is
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein 1025 bytes: <constant>NI_MAXHOST</constant>.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </para>
86b0285d7e65601645db4090d62ee6cb63abad6cAndreas Gustafsson
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <para> The name of the service associated with the port number in
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <parameter>sa</parameter> is returned in <parameter>*serv.</parameter>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein It is <parameter>servlen</parameter> bytes long. The
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein maximum length
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein of the service name is <constant>NI_MAXSERV</constant> - 32
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein bytes.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </para>
86b0285d7e65601645db4090d62ee6cb63abad6cAndreas Gustafsson
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein The <parameter>flags</parameter> argument sets the
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein following
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein bits:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <variablelist>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <varlistentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <term><constant>NI_NOFQDN</constant></term>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <listitem>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein A fully qualified domain name is not required for local hosts.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein The local part of the fully qualified domain name is returned
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein instead.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </listitem>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </varlistentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <varlistentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <term><constant>NI_NUMERICHOST</constant></term>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <listitem>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein Return the address in numeric form, as if calling inet_ntop(),
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein instead of a host name.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </listitem>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </varlistentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <varlistentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <term><constant>NI_NAMEREQD</constant></term>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <listitem>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein A name is required. If the hostname cannot be found in the DNS
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein and
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein this flag is set, a non-zero error code is returned.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein If the hostname is not found and the flag is not set, the
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein address is returned in numeric form.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </listitem>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </varlistentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <varlistentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <term><constant>NI_NUMERICSERV</constant></term>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <listitem>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein The service name is returned as a digit string representing the
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein port number.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </listitem>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </varlistentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <varlistentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <term><constant>NI_DGRAM</constant></term>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <listitem>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein Specifies that the service being looked up is a datagram
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein service, and causes getservbyport() to be called with a second
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein argument of "udp" instead of its default of "tcp". This is
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein required
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein for the few ports (512-514) that have different services for UDP
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein and
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein TCP.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </listitem>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </varlistentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </variablelist>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </refsect1>
86b0285d7e65601645db4090d62ee6cb63abad6cAndreas Gustafsson
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refsect1>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <title>RETURN VALUES</title>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <para><function>lwres_getnameinfo()</function>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein returns 0 on success or a non-zero error code if an error occurs.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </refsect1>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refsect1>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <title>SEE ALSO</title>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <para><citerefentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refentrytitle>RFC2133</refentrytitle>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </citerefentry>,
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <citerefentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refentrytitle>getservbyport</refentrytitle><manvolnum>3</manvolnum>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </citerefentry>,
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <citerefentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refentrytitle>lwres</refentrytitle><manvolnum>3</manvolnum>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </citerefentry>,
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <citerefentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refentrytitle>lwres_getnameinfo</refentrytitle><manvolnum>3</manvolnum>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </citerefentry>,
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <citerefentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refentrytitle>lwres_getnamebyaddr</refentrytitle><manvolnum>3</manvolnum>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </citerefentry>.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <citerefentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refentrytitle>lwres_net_ntop</refentrytitle><manvolnum>3</manvolnum>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </citerefentry>.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </refsect1>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refsect1>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <title>BUGS</title>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein RFC2133 fails to define what the nonzero return values of
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <citerefentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein <refentrytitle>getnameinfo</refentrytitle><manvolnum>3</manvolnum>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </citerefentry>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein are.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </para>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein </refsect1>
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein</refentry><!--
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein - Local variables:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein - mode: sgml
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein - End:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein-->