ARES_GETHOSTBYNAME(3)

NAME
ares_gethostbyname_file - Lookup a name in the system's hosts file

SYNOPSIS
#include <ares.h>
int ares_gethostbyname_file(ares_channel_t *channel, const char *name,
                            int family, struct hostent **host)

DESCRIPTION
The ares_gethostbyname_file function performs a host lookup by name against the system's hosts file (or equivalent local hostname database). The channel parameter is required, but no asynchronous queries are performed. Instead, the lookup is done via the same mechanism used to perform 'f' lookups (see the lookups options field in ares_init_options(3)). 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.

The return value 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 and host now points to the result (and must be freed with ares_free_hostent(3)).

ARES_ENOTFOUND
    The hostname name was not found.

ARES_EFILE
    There was a file I/O error while performing the lookup.

ARES_ENOMEM
    Memory was exhausted.

On successful completion of the query, the pointer pointed to by host points to a struct hostent containing the address of the host returned by the lookup. The user must free the memory pointed to by host when finished with it by calling ares_free_hostent(3). If the lookup did not complete successfully, host will be NULL.

AVAILABILITY
Added in c-ares 1.5.4

SEE ALSO
ares_gethostbyname(3), ares_free_hostent(3), ares_init_options(3)