ARES_INIT(3)

NAME
ares_init - Initialize a resolver channel

SYNOPSIS
#include <ares.h>

int ares_init(ares_channel *channelptr)

DESCRIPTION
The ares_init(3) function initializes a communications channel for name service lookups. If it returns successfully, ares_init(3) will set the variable pointed to by channelptr to a handle used to identify the name service channel. The caller should invoke ares_destroy(3) on the handle when the channel is no longer needed.

The ares_init_options(3) function is provide to offer more init alternatives.

RETURN VALUES
ares_init(3) can return any of the following values:

ARES_SUCCESS
    Initialization succeeded.

ARES_EFILE
    A configuration file could not be read.

ARES_ENOMEM
    The process's available memory was exhausted.

ARES_ENOTINITIALIZED
    c-ares library initialization not yet performed.

NOTES
When initializing from /etc/resolv.conf, ares_init(3) reads the domain and search directives to allow lookups of short names relative to the domains specified. The domain and search directives override one another. If more that one instance of either domain or search directives is specified, the last occurrence wins. For more information, please see the resolv.conf(5) manual page.

SEE ALSO
ares_init_options(3), ares_destroy(3), ares_dup(3), ares_library_init(3), ares_set_servers(3)

AUTHOR
Greg Hudson, MIT Information Systems
Copyright 1998 by the Massachusetts Institute of Technology.
Copyright (C) 2004-2010 by Daniel Stenberg.