155 lines
5.1 KiB
Plaintext
155 lines
5.1 KiB
Plaintext
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
|
|
<!--
|
|
- Copyright (C) 2001 Internet Software Consortium.
|
|
-
|
|
- Permission to use, copy, modify, and distribute this software for any
|
|
- purpose with or without fee is hereby granted, provided that the above
|
|
- copyright notice and this permission notice appear in all copies.
|
|
-
|
|
- THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
|
|
- DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
|
|
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
|
|
- INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
|
|
- FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
|
- NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
|
|
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
-->
|
|
|
|
<!-- $Id: lwres_getnameinfo.docbook,v 1.3 2001/06/18 22:06:56 gson Exp $ -->
|
|
|
|
<refentry>
|
|
|
|
<refentryinfo>
|
|
<date>Jun 30, 2000</date>
|
|
</refentryinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle>lwres_getnameinfo</refentrytitle>
|
|
<manvolnum>3</manvolnum>
|
|
<refmiscinfo>BIND9</refmiscinfo>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>lwres_getnameinfo</refname>
|
|
<refpurpose>lightweight resolver socket address structure to hostname and service name</refpurpose>
|
|
</refnamediv>
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcsynopsisinfo>#include <lwres/netdb.h></funcsynopsisinfo>
|
|
<funcprototype>
|
|
<funcdef>
|
|
int
|
|
<function>lwres_getnameinfo</function></funcdef>
|
|
<paramdef>const struct sockaddr *sa</paramdef>
|
|
<paramdef>size_t salen</paramdef>
|
|
<paramdef>char *host</paramdef>
|
|
<paramdef>size_t hostlen</paramdef>
|
|
<paramdef>char *serv</paramdef>
|
|
<paramdef>size_t servlen</paramdef>
|
|
<paramdef>int flags</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>DESCRIPTION</title>
|
|
|
|
<para> This function is equivalent to the <citerefentry>
|
|
<refentrytitle>getnameinfo</refentrytitle><manvolnum>3</manvolnum>
|
|
</citerefentry> function defined in RFC2133.
|
|
<function>lwres_getnameinfo()</function> returns the hostname for the
|
|
<type>struct sockaddr</type> <parameter>sa</parameter> which is
|
|
<parameter>salen</parameter> bytes long. The hostname is of length
|
|
<parameter>hostlen</parameter> and is returned via
|
|
<parameter>*host.</parameter> The maximum length of the hostname is
|
|
1025 bytes: <constant>NI_MAXHOST</constant>.</para>
|
|
|
|
<para> The name of the service associated with the port number in
|
|
<parameter>sa</parameter> is returned in <parameter>*serv.</parameter>
|
|
It is <parameter>servlen</parameter> bytes long. The maximum length
|
|
of the service name is <constant>NI_MAXSERV</constant> - 32 bytes.
|
|
</para>
|
|
|
|
<para> The <parameter>flags</parameter> argument sets the following
|
|
bits:
|
|
<variablelist>
|
|
<varlistentry><term><constant>NI_NOFQDN</constant></term>
|
|
<listitem>
|
|
<para>
|
|
A fully qualified domain name is not required for local hosts.
|
|
The local part of the fully qualified domain name is returned instead.
|
|
</para></listitem></varlistentry>
|
|
<varlistentry><term><constant>NI_NUMERICHOST</constant></term>
|
|
<listitem>
|
|
<para>
|
|
Return the address in numeric form, as if calling inet_ntop(),
|
|
instead of a host name.
|
|
</para></listitem></varlistentry>
|
|
<varlistentry><term><constant>NI_NAMEREQD</constant></term>
|
|
<listitem>
|
|
<para>
|
|
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.
|
|
</para></listitem></varlistentry>
|
|
<varlistentry><term><constant>NI_NUMERICSERV</constant></term>
|
|
<listitem>
|
|
<para>
|
|
The service name is returned as a digit string representing the port number.
|
|
</para></listitem></varlistentry>
|
|
<varlistentry><term><constant>NI_DGRAM</constant></term>
|
|
<listitem>
|
|
<para>
|
|
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.
|
|
</para></listitem></varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>RETURN VALUES</title>
|
|
<para>
|
|
<function>lwres_getnameinfo()</function>
|
|
returns 0 on success or a non-zero error code if an error occurs.
|
|
</para>
|
|
</refsect1>
|
|
<refsect1>
|
|
<title>SEE ALSO</title>
|
|
<para>
|
|
<citerefentry>
|
|
<refentrytitle>RFC2133</refentrytitle>
|
|
</citerefentry>,
|
|
<citerefentry>
|
|
<refentrytitle>getservbyport</refentrytitle><manvolnum>3</manvolnum>
|
|
</citerefentry>,
|
|
<citerefentry>
|
|
<refentrytitle>lwres</refentrytitle><manvolnum>3</manvolnum>
|
|
</citerefentry>,
|
|
<citerefentry>
|
|
<refentrytitle>lwres_getnameinfo</refentrytitle><manvolnum>3</manvolnum>
|
|
</citerefentry>,
|
|
<citerefentry>
|
|
<refentrytitle>lwres_getnamebyaddr</refentrytitle><manvolnum>3</manvolnum>
|
|
</citerefentry>.
|
|
<citerefentry>
|
|
<refentrytitle>lwres_net_ntop</refentrytitle><manvolnum>3</manvolnum>
|
|
</citerefentry>.
|
|
</refsect1>
|
|
<refsect1>
|
|
<title>BUGS</title>
|
|
<para>
|
|
RFC2133 fails to define what the nonzero return values of
|
|
<citerefentry>
|
|
<refentrytitle>getnameinfo</refentrytitle><manvolnum>3</manvolnum>
|
|
</citerefentry>
|
|
are.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|