ares_gethostbyname

NAME

ares_gethostbyname - Initiate a host query by name

SYNOPSIS

#include <ares.h>
typedef void (*ares_host_callback)(void *arg, int status, struct hostent *hostent)
void ares_gethostbyname(ares_channel channel, const char *name, int family, ares_host_callback callback, void *arg)

DESCRIPTION

The ares_gethostbyname function initiates a host query by name on the name service channel identified by R channel . The parameter name gives the hostname as a NUL-terminated C string, and family gives the desired type of address for the resulting host entry. When the query is complete or has failed, the ares library will invoke R callback . Completion or failure of the query may happen immediately, or may happen during a later call to ares_process(3) or ares_destroy(3).
The callback argument arg is copied from the ares_gethostbyname argument R 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 find addresses of type R family .
ARES_EBADNAME
The hostname name is composed entirely of numbers and periods, but is not a valid representation of an Internet address.
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.
On successful completion of the query, the callback argument hostent points to a struct hostent containing the name of the host returned by the query. The callback need not and should not attempt to free the memory pointed to by R hostent ; the ares library will free it when the callback returns. If the query did not complete successfully, hostent will be R NULL .

SEE ALSO

AUTHOR

Greg Hudson, MIT Information Systems
Copyright 1998 by the Massachusetts Institute of Technology.