lwres_getnameinfo.docbook revision f5d30e2864e048a42c4dc1134993ae7efdb5d6c3
5690d2f46bf6dedb53d41f888e290df0526f32b1kess<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
5690d2f46bf6dedb53d41f888e290df0526f32b1kess "http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"
5690d2f46bf6dedb53d41f888e290df0526f32b1kess [<!ENTITY mdash "&#8212;">]>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess<!--
5690d2f46bf6dedb53d41f888e290df0526f32b1kess - Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
5690d2f46bf6dedb53d41f888e290df0526f32b1kess - Copyright (C) 2000, 2001 Internet Software Consortium.
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd -
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd - Permission to use, copy, modify, and distribute this software for any
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd - purpose with or without fee is hereby granted, provided that the above
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd - copyright notice and this permission notice appear in all copies.
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd -
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
27e52281f1522522b170cafc76b08b58aa70ccaand - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd - PERFORMANCE OF THIS SOFTWARE.
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd-->
4b5981e276e93df97c34e4da05ca5cf8bbd937dand
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd<!-- $Id: lwres_getnameinfo.docbook,v 1.7 2005/05/13 01:35:46 marka Exp $ -->
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd<refentry>
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd <refentryinfo>
9472e4d3c410be3b3f1addbf3b1db1769f64e765nd <date>Jun 30, 2000</date>
c04f76acce77126cf88b09350e56ea8c6b4a064enilgun </refentryinfo>
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd
63f06dce77bb2d9b1c5aa5deeb47a1069987fd1end <refmeta>
63f06dce77bb2d9b1c5aa5deeb47a1069987fd1end <refentrytitle>lwres_getnameinfo</refentrytitle>
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd <manvolnum>3</manvolnum>
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd <refmiscinfo>BIND9</refmiscinfo>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </refmeta>
070236a4f78e1e945e24b7265a37474dfa6a9d71kess
070236a4f78e1e945e24b7265a37474dfa6a9d71kess <docinfo>
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd <copyright>
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd <year>2004</year>
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd <year>2005</year>
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
9294268d4d5ac750389453cca2639520a05df6d2kess </copyright>
aaf75c27909404147cc0edb74491770e3741c195nd <copyright>
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd <year>2000</year>
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd <year>2001</year>
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd <holder>Internet Software Consortium.</holder>
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd </copyright>
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd </docinfo>
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd <refnamediv>
42b4935758df9d0b97689036ae76bdaa02dea031nd <refname>lwres_getnameinfo</refname>
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd <refpurpose>lightweight resolver socket address structure to hostname and
726b11c595edf0b0b71d0d39a2bc9d912c0ee4b5nd service name
8f057347a12e831fdf567da83de2fa581580298dnd </refpurpose>
8f057347a12e831fdf567da83de2fa581580298dnd </refnamediv>
aaf75c27909404147cc0edb74491770e3741c195nd <refsynopsisdiv>
aaf75c27909404147cc0edb74491770e3741c195nd <funcsynopsis>
aaf75c27909404147cc0edb74491770e3741c195nd<funcsynopsisinfo>#include &lt;lwres/netdb.h&gt;</funcsynopsisinfo>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess<funcprototype>
52bc21ad2115333a8295c5f3e4f328d7431e6989nd <funcdef>
8f057347a12e831fdf567da83de2fa581580298dndint
8f057347a12e831fdf567da83de2fa581580298dnd<function>lwres_getnameinfo</function></funcdef>
8f057347a12e831fdf567da83de2fa581580298dnd <paramdef>const struct sockaddr *<parameter>sa</parameter></paramdef>
8f057347a12e831fdf567da83de2fa581580298dnd <paramdef>size_t <parameter>salen</parameter></paramdef>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <paramdef>char *<parameter>host</parameter></paramdef>
636231328a7e1ed47b4d90d08eb9085ae5f8878end <paramdef>size_t <parameter>hostlen</parameter></paramdef>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <paramdef>char *<parameter>serv</parameter></paramdef>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <paramdef>size_t <parameter>servlen</parameter></paramdef>
a7f09af958b9b0cd7e3d90a63ede010e7238d4f1nd <paramdef>int <parameter>flags</parameter></paramdef>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </funcprototype>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess</funcsynopsis>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </refsynopsisdiv>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <refsect1>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <title>DESCRIPTION</title>
b70358817fe7029e5db15756b7c26ac6b04a6904kess
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <para>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess This function is equivalent to the
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <citerefentry>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <refentrytitle>getnameinfo</refentrytitle><manvolnum>3</manvolnum>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </citerefentry> function defined in RFC2133.
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <function>lwres_getnameinfo()</function> returns the
5690d2f46bf6dedb53d41f888e290df0526f32b1kess hostname for the
1352ae75e07a97c6a9105c00dee5e09336d40eddnd <type>struct sockaddr</type> <parameter>sa</parameter> which
1352ae75e07a97c6a9105c00dee5e09336d40eddnd is
8f057347a12e831fdf567da83de2fa581580298dnd <parameter>salen</parameter> bytes long. The hostname is of
8f057347a12e831fdf567da83de2fa581580298dnd length
9294268d4d5ac750389453cca2639520a05df6d2kess <parameter>hostlen</parameter> and is returned via
8f057347a12e831fdf567da83de2fa581580298dnd <parameter>*host.</parameter> The maximum length of the
9294268d4d5ac750389453cca2639520a05df6d2kess hostname is
9294268d4d5ac750389453cca2639520a05df6d2kess 1025 bytes: <constant>NI_MAXHOST</constant>.
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </para>
0a5a376b4b2a062a845527d3709604b1ef0f55e5kess
9294268d4d5ac750389453cca2639520a05df6d2kess <para> The name of the service associated with the port number in
9294268d4d5ac750389453cca2639520a05df6d2kess <parameter>sa</parameter> is returned in <parameter>*serv.</parameter>
9294268d4d5ac750389453cca2639520a05df6d2kess It is <parameter>servlen</parameter> bytes long. The
5690d2f46bf6dedb53d41f888e290df0526f32b1kess maximum length
5690d2f46bf6dedb53d41f888e290df0526f32b1kess of the service name is <constant>NI_MAXSERV</constant> - 32
8f057347a12e831fdf567da83de2fa581580298dnd bytes.
8f057347a12e831fdf567da83de2fa581580298dnd </para>
aaf75c27909404147cc0edb74491770e3741c195nd
aaf75c27909404147cc0edb74491770e3741c195nd <para>
aaf75c27909404147cc0edb74491770e3741c195nd The <parameter>flags</parameter> argument sets the
aaf75c27909404147cc0edb74491770e3741c195nd following
aaf75c27909404147cc0edb74491770e3741c195nd bits:
aaf75c27909404147cc0edb74491770e3741c195nd <variablelist>
aaf75c27909404147cc0edb74491770e3741c195nd <varlistentry>
aaf75c27909404147cc0edb74491770e3741c195nd <term><constant>NI_NOFQDN</constant></term>
aaf75c27909404147cc0edb74491770e3741c195nd <listitem>
aaf75c27909404147cc0edb74491770e3741c195nd <para>
aaf75c27909404147cc0edb74491770e3741c195nd A fully qualified domain name is not required for local hosts.
8f057347a12e831fdf567da83de2fa581580298dnd The local part of the fully qualified domain name is returned
8f057347a12e831fdf567da83de2fa581580298dnd instead.
8f057347a12e831fdf567da83de2fa581580298dnd </para>
8f057347a12e831fdf567da83de2fa581580298dnd </listitem>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </varlistentry>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <varlistentry>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <term><constant>NI_NUMERICHOST</constant></term>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <listitem>
8f057347a12e831fdf567da83de2fa581580298dnd <para>
8f057347a12e831fdf567da83de2fa581580298dnd Return the address in numeric form, as if calling inet_ntop(),
8f057347a12e831fdf567da83de2fa581580298dnd instead of a host name.
8f057347a12e831fdf567da83de2fa581580298dnd </para>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </listitem>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </varlistentry>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <varlistentry>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <term><constant>NI_NAMEREQD</constant></term>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <listitem>
8f057347a12e831fdf567da83de2fa581580298dnd <para>
8f057347a12e831fdf567da83de2fa581580298dnd A name is required. If the hostname cannot be found in the DNS
8f057347a12e831fdf567da83de2fa581580298dnd and
8f057347a12e831fdf567da83de2fa581580298dnd this flag is set, a non-zero error code is returned.
5690d2f46bf6dedb53d41f888e290df0526f32b1kess If the hostname is not found and the flag is not set, the
5690d2f46bf6dedb53d41f888e290df0526f32b1kess address is returned in numeric form.
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </para>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </listitem>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </varlistentry>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <varlistentry>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <term><constant>NI_NUMERICSERV</constant></term>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <listitem>
8f057347a12e831fdf567da83de2fa581580298dnd <para>
8f057347a12e831fdf567da83de2fa581580298dnd The service name is returned as a digit string representing the
8f057347a12e831fdf567da83de2fa581580298dnd port number.
8f057347a12e831fdf567da83de2fa581580298dnd </para>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </listitem>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </varlistentry>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <varlistentry>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <term><constant>NI_DGRAM</constant></term>
d5928c093177f61328dcaf10abef820f921c0b99nd <listitem>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <para>
a8703cfb67133446eef7af1043640e71486e9ecand Specifies that the service being looked up is a datagram
3ce99c71c1ee210a8d163ca2ed08ee3c6e0ae6a6nd service, and causes getservbyport() to be called with a second
5690d2f46bf6dedb53d41f888e290df0526f32b1kess argument of "udp" instead of its default of "tcp". This is
5690d2f46bf6dedb53d41f888e290df0526f32b1kess required
5690d2f46bf6dedb53d41f888e290df0526f32b1kess for the few ports (512-514) that have different services for UDP
5690d2f46bf6dedb53d41f888e290df0526f32b1kess and
5690d2f46bf6dedb53d41f888e290df0526f32b1kess TCP.
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </para>
8f057347a12e831fdf567da83de2fa581580298dnd </listitem>
8f057347a12e831fdf567da83de2fa581580298dnd </varlistentry>
8f057347a12e831fdf567da83de2fa581580298dnd </variablelist>
8f057347a12e831fdf567da83de2fa581580298dnd </para>
42b4935758df9d0b97689036ae76bdaa02dea031nd </refsect1>
8f057347a12e831fdf567da83de2fa581580298dnd
8f057347a12e831fdf567da83de2fa581580298dnd <refsect1>
8f057347a12e831fdf567da83de2fa581580298dnd <title>RETURN VALUES</title>
42b4935758df9d0b97689036ae76bdaa02dea031nd <para><function>lwres_getnameinfo()</function>
42b4935758df9d0b97689036ae76bdaa02dea031nd returns 0 on success or a non-zero error code if an error occurs.
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </para>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </refsect1>
b3c7a2279fa7a45f5807d9a404760b9b3760df50nd <refsect1>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <title>SEE ALSO</title>
316f02e3836836c82e19019ff23f90a7ebc65289nilgun <para><citerefentry>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <refentrytitle>RFC2133</refentrytitle>
8f057347a12e831fdf567da83de2fa581580298dnd </citerefentry>,
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <citerefentry>
22d5d84393d960a2027f472036f3fee15d7dbce9nd <refentrytitle>getservbyport</refentrytitle><manvolnum>3</manvolnum>
22d5d84393d960a2027f472036f3fee15d7dbce9nd </citerefentry>,
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <citerefentry>
50c04f297d76a57ead2fa6b73845f7563b1fc788sf <refentrytitle>lwres</refentrytitle><manvolnum>3</manvolnum>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </citerefentry>,
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <citerefentry>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <refentrytitle>lwres_getnameinfo</refentrytitle><manvolnum>3</manvolnum>
623eebe956d9c2d6d073ed3eae855b56030b40e9noodl </citerefentry>,
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <citerefentry>
ffb88a4885747797937e30a5ac8b1606da3cb4adnd <refentrytitle>lwres_getnamebyaddr</refentrytitle><manvolnum>3</manvolnum>
909ce17e2bd0faef7b1c294f2307f009793fd493nd </citerefentry>.
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <citerefentry>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <refentrytitle>lwres_net_ntop</refentrytitle><manvolnum>3</manvolnum>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </citerefentry>.
42af92a661a06b3cebc88d585aad75064a309d51nd </para>
ffb88a4885747797937e30a5ac8b1606da3cb4adnd </refsect1>
6fe26506780e73be2a412d758af77fafdf03291and <refsect1>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <title>BUGS</title>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess <para>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess RFC2133 fails to define what the nonzero return values of
72db3a631049eac37729aabe7258676a8505654fkess <citerefentry>
312d4192f2e32167a1e750034664f1e3c2105c65nd <refentrytitle>getnameinfo</refentrytitle><manvolnum>3</manvolnum>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </citerefentry>
08cf4a15275e4cb65a424b3a1db5410bfb51085cjim are.
5690d2f46bf6dedb53d41f888e290df0526f32b1kess </para>
78f97ce162b66a0dbfd7af4dcd9984f162569b04minfrin </refsect1>
5690d2f46bf6dedb53d41f888e290df0526f32b1kess</refentry><!--
5690d2f46bf6dedb53d41f888e290df0526f32b1kess - Local variables:
5690d2f46bf6dedb53d41f888e290df0526f32b1kess - mode: sgml
5690d2f46bf6dedb53d41f888e290df0526f32b1kess - End:
5690d2f46bf6dedb53d41f888e290df0526f32b1kess-->
5690d2f46bf6dedb53d41f888e290df0526f32b1kess