ARES_GETNAMEINFO(3)
NAME
ares_getnameinfo - Address-to-nodename translation in protocol-independent manner
SYNOPSIS
#include <ares.h> typedef void (*ares_nameinfo_callback)(void *arg, int status, int timeouts, char *node, char *service) void ares_getnameinfo(ares_channel channel, const struct sockaddr *sa, ares_socklen_t salen, int flags, ares_nameinfo_callback callback, void *arg)
DESCRIPTION
The ares_getnameinfo function is defined for protocol-independent
address translation. The function is a combination of ares_gethostbyaddr(3) and getservbyport(3). The function will translate the address
either by executing a host query on the name service channel identified
by channel or it will attempt to resolve it locally if possible. The
parameters sa and len give the address as a sockaddr structure, and
flags gives the options that the function will use. Valid flags are
listed below:
- ARES_NI_NOFQDN Only the nodename portion of the FQDN is returned
- for local hosts.
- ARES_NI_NUMERICHOST
- The numeric form of the hostname is returned rather than the name.
- ARES_NI_NAMEREQD An error is returned if the hostname cannot be found
- in the DNS.
- ARES_NI_NUMERICSERV
- The numeric form of the service is returned rather than the name.
- ARES_NI_TCP The service name is to be looked up for the TCP pro
- tocol.
- ARES_NI_UDP The service name is to be looked up for the UDP pro
- tocol.
- ARES_NI_SCTP The service name is to be looked up for the SCTP
- protocol.
- ARES_NI_DCCP The service name is to be looked up for the DCCP
- protocol.
- ARES_NI_NUMERICSCOPE
- The numeric form of the scope ID is returned rather than the name.
- ARES_NI_LOOKUPHOST A hostname lookup is being requested.
- ARES_NI_LOOKUPSERVICE
- A service name lookup is being requested.
- When the query is complete or has failed, the ares library will invoke callback. Completion or failure of the query may happen immediately, or may happen during a later call to ares_process(3), ares_destroy(3) or ares_cancel(3).
- The callback argument arg is copied from the ares_getnameinfo argument arg. The callback argument status indicates whether the query succeeded and, if not, how it failed. It may have any of the following values:
- ARES_SUCCESS The host lookup completed successfully.
- ARES_ENOTIMP The ares library does not know how to look up
- addresses of type family.
- ARES_ENOTFOUND The address addr was not found.
- ARES_ENOMEM Memory was exhausted.
- ARES_EDESTRUCTION The name service channel channel is being destroyed;
- the query will not be completed.
- ARES_EBADFLAGS The flags parameter contains an illegal value.
- The callback argument timeouts reports how many times a query timed out during the execution of the given request.
- On successful completion of the query, the callback argument node contains a string representing the hostname (assuming ARES_NI_LOOKUPHOST was specified). Additionally, service contains a string representing the service name (assuming ARES_NI_LOOKUPSERVICE was specified). If the query did not complete successfully, or one of the values was not requested, node or service will be NULL.
SEE ALSO
ares_process(3), ares_getaddrinfo(3)
AUTHOR
- Dominick Meglio
Copyright 2005 by Dominick Meglio.