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) ; |
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.