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 sockaddrsa
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.