NAME
lwres_getnameinfo - lightweight resolver socket address structure to hostname and service name
SYNOPSIS
I 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
getnameinfo(3)
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(),
getservbyport(3),
lwres(3),
lwres_getnameinfo(3),
lwres_getnamebyaddr(3).
lwres_net_ntop(3).
BUGS
RFC2133 fails to define what the nonzero return values of
getnameinfo(3)
are.
COPYRIGHT
Copyright 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
Copyright 2000, 2001 Internet Software Consortium.