lwres_getnameinfo.docbook revision c651f15b30f1dae5cc2f00878fb5da5b3a35a468
d0cd4568592f103a454ac647f4961af293f88f4ejim<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
6aa2272cc4af77e605ba2c4a4781f8567408b7e3pquerna - Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
ee508128c414648982d1cca7801f63b01a0a4f8aminfrin - Copyright (C) 2000, 2001 Internet Software Consortium.
e5106092b7fae78cec4898042a78a10acccb4cacwrowe - Permission to use, copy, modify, and distribute this software for any
e5106092b7fae78cec4898042a78a10acccb4cacwrowe - purpose with or without fee is hereby granted, provided that the above
e5106092b7fae78cec4898042a78a10acccb4cacwrowe - copyright notice and this permission notice appear in all copies.
e5106092b7fae78cec4898042a78a10acccb4cacwrowe - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
e5106092b7fae78cec4898042a78a10acccb4cacwrowe - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
470d223738c1dfc4e07c7fae5d186e9dfadd9643jorton - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
470d223738c1dfc4e07c7fae5d186e9dfadd9643jorton - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
470d223738c1dfc4e07c7fae5d186e9dfadd9643jorton - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
81bd9331da3bd0f53255d52b1475480ff3a4b395trawick - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
81bd9331da3bd0f53255d52b1475480ff3a4b395trawick - PERFORMANCE OF THIS SOFTWARE.
cd3bbd6d2df78d6c75e5d159a81ef8bdd5f70df9trawick<!-- $Id: lwres_getnameinfo.docbook,v 1.5 2005/04/07 03:50:02 marka Exp $ -->
cb96b603a7f891e15a622fbec922628801a8efd4rpluem<refentryinfo>
fc3182e72cf0679cbf14a95213fbb9a98c3cf597rpluem</refentryinfo>
c7c8dd19c90c5ee7205ccdf443585d14da3daecechrisd<refnamediv>
421e0a5d1c49de76406f61e9abef271af2336c31rpluem<refpurpose>lightweight resolver socket address structure to hostname and service name</refpurpose>
421e0a5d1c49de76406f61e9abef271af2336c31rpluem</refnamediv>
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme<refsynopsisdiv>
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme<funcsynopsis>
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme<funcsynopsisinfo>#include <lwres/netdb.h></funcsynopsisinfo>
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme<funcprototype>
7abe34dd5a20fc8fde09dca9116b88e6ddfd55ddjorton</funcprototype>
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisd</funcsynopsis>
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisd</refsynopsisdiv>
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisd<para> This function is equivalent to the <citerefentry>
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisd<refentrytitle>getnameinfo</refentrytitle><manvolnum>3</manvolnum>
e4edb2d4252459327f6edd834de6825873e60134chrisd</citerefentry> function defined in RFC2133.
e4edb2d4252459327f6edd834de6825873e60134chrisd<function>lwres_getnameinfo()</function> returns the hostname for the
e4edb2d4252459327f6edd834de6825873e60134chrisd<type>struct sockaddr</type> <parameter>sa</parameter> which is
e4edb2d4252459327f6edd834de6825873e60134chrisd<parameter>salen</parameter> bytes long. The hostname is of length
e4edb2d4252459327f6edd834de6825873e60134chrisd<parameter>*host.</parameter> The maximum length of the hostname is
39faded00972708f78af1613f895061b95afec3frpluem<para> The name of the service associated with the port number in
39faded00972708f78af1613f895061b95afec3frpluem<parameter>sa</parameter> is returned in <parameter>*serv.</parameter>
39faded00972708f78af1613f895061b95afec3frpluemIt is <parameter>servlen</parameter> bytes long. The maximum length
111c8f806b790a72ad0244aae35252470662e10drpluemof the service name is <constant>NI_MAXSERV</constant> - 32 bytes.
399d43256a3339482bfa6cb76eb72ce5b363ae7arpluem<para> The <parameter>flags</parameter> argument sets the following
399d43256a3339482bfa6cb76eb72ce5b363ae7arpluem<variablelist>
399d43256a3339482bfa6cb76eb72ce5b363ae7arpluem<varlistentry><term><constant>NI_NOFQDN</constant></term>
37b35c7feec8216b5119c0c083990cfe4e400769rpluemA fully qualified domain name is not required for local hosts.
dd6199828976e6c7850ca6abd7a1ceba99e9ed16chrisdThe local part of the fully qualified domain name is returned instead.
dd6199828976e6c7850ca6abd7a1ceba99e9ed16chrisd<varlistentry><term><constant>NI_NUMERICHOST</constant></term>
bc786d0dba3cefae135fb85ab303ddb2b229e43drpluemReturn the address in numeric form, as if calling inet_ntop(),
bc786d0dba3cefae135fb85ab303ddb2b229e43drplueminstead of a host name.
3ff68b9ee78262779dbedf791576d35fdd229f7brpluem<varlistentry><term><constant>NI_NAMEREQD</constant></term>
de0fed4fa6741aea09dbe28f03aa4c20e822ed5drpluemA name is required. If the hostname cannot be found in the DNS and
de0fed4fa6741aea09dbe28f03aa4c20e822ed5drpluemthis flag is set, a non-zero error code is returned.
de0fed4fa6741aea09dbe28f03aa4c20e822ed5drpluemIf the hostname is not found and the flag is not set, the
de0fed4fa6741aea09dbe28f03aa4c20e822ed5drpluemaddress is returned in numeric form.
ab43b4a17b2ac31ccb1cf280be8c42a8a314cecbjorton<varlistentry><term><constant>NI_NUMERICSERV</constant></term>
f3a5934ca0fb0f0f813bd9d9d06af8937e3f401fjimThe service name is returned as a digit string representing the port number.
a4ab95921be8ce5de50913cd6505d41b672eb375minfrinSpecifies that the service being looked up is a datagram
a4ab95921be8ce5de50913cd6505d41b672eb375minfrinservice, and causes getservbyport() to be called with a second
a4ab95921be8ce5de50913cd6505d41b672eb375minfrinargument of "udp" instead of its default of "tcp". This is required
e605dd6afa940f799c873ffeaa5e25fa4ea9a2c8minfrinfor the few ports (512-514) that have different services for UDP and
e605dd6afa940f799c873ffeaa5e25fa4ea9a2c8minfrin</variablelist>
dec02391360e503cd3437d16bed765dc653b9de5minfrinreturns 0 on success or a non-zero error code if an error occurs.
1b27a3a26f18191db7ecb4d536cb121ba9520a8eniq</refsect1>
686ce4eade942e515b1725d0c9751da36b759a6ctrawick<citerefentry>
686ce4eade942e515b1725d0c9751da36b759a6ctrawick</citerefentry>,
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick<citerefentry>
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd<refentrytitle>getservbyport</refentrytitle><manvolnum>3</manvolnum>
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd</citerefentry>,
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd<citerefentry>
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd<refentrytitle>lwres</refentrytitle><manvolnum>3</manvolnum>
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd</citerefentry>,
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd<citerefentry>
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd<refentrytitle>lwres_getnameinfo</refentrytitle><manvolnum>3</manvolnum>
27b38d4191d5f638165e2a77ec6e6f567bd7784dniq</citerefentry>,
27b38d4191d5f638165e2a77ec6e6f567bd7784dniq<citerefentry>
27b38d4191d5f638165e2a77ec6e6f567bd7784dniq<refentrytitle>lwres_getnamebyaddr</refentrytitle><manvolnum>3</manvolnum>
a87e2a23083aa62229307482afbb3b802a0c2105mturk</citerefentry>.
a87e2a23083aa62229307482afbb3b802a0c2105mturk<citerefentry>
a87e2a23083aa62229307482afbb3b802a0c2105mturk<refentrytitle>lwres_net_ntop</refentrytitle><manvolnum>3</manvolnum>
a87e2a23083aa62229307482afbb3b802a0c2105mturk</citerefentry>.
260825f41ee3fb517a5c5ecd675f5f58de9ea0b7rpluemRFC2133 fails to define what the nonzero return values of
260825f41ee3fb517a5c5ecd675f5f58de9ea0b7rpluem<citerefentry>
8fd638698262130d00458b2c95548f6f94875847rpluem<refentrytitle>getnameinfo</refentrytitle><manvolnum>3</manvolnum>
534611d341a1a48b93c7a1fd5e333dbd261527d3rpluem</citerefentry>
e99dfd55d29a7b4209b814efc7270d0b74ccee74niq</refsect1>