2007-06-18
ISC
Internet Systems Consortium, Inc.
lwres_getnameinfo
3
BIND9
2000
2001
2004
2005
2007
2014
2015
2016
2018
2019
Internet Systems Consortium, Inc. ("ISC")
lwres_getnameinfo
lightweight resolver socket address structure to hostname and
service name
#include <lwres/netdb.h>
int
lwres_getnameinfo
const struct sockaddr *sa
size_t salen
char *host
size_t hostlen
char *serv
size_t servlen
int flags
DESCRIPTION
This function is equivalent to the
getnameinfo3
function defined in RFC2133.
lwres_getnameinfo() returns the
hostname for the
struct sockaddr sa which
is
salen bytes long. The hostname is of
length
hostlen and is returned via
*host. The maximum length of the
hostname is
1025 bytes: NI_MAXHOST.
The name of the service associated with the port number in
sa is returned in *serv.
It is servlen bytes long. The
maximum length
of the service name is NI_MAXSERV - 32
bytes.
The flags argument sets the
following
bits:
NI_NOFQDN
A fully qualified domain name is not required for local hosts.
The local part of the fully qualified domain name is returned
instead.
NI_NUMERICHOST
Return the address in numeric form, as if calling inet_ntop(),
instead of a host name.
NI_NAMEREQD
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.
NI_NUMERICSERV
The service name is returned as a digit string representing the
port number.
NI_DGRAM
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.
RETURN VALUES
lwres_getnameinfo()
returns 0 on success or a non-zero error code if an error occurs.
SEE ALSO
RFC2133
,
getservbyport3
,
lwres3
,
lwres_getnameinfo3
,
lwres_getnamebyaddr3
.
lwres_net_ntop3
.
BUGS
RFC2133 fails to define what the nonzero return values of
getnameinfo3
are.