ares_init man page

ares_init — Initialize a resolver channel


#include <ares.h>

int ares_init(ares_channel *channelptr)


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:

Initialization succeeded.
A configuration file could not be read.
The process's available memory was exhausted.
c-ares library initialization not yet performed.


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)


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

Referenced By

ares_cancel(3), ares_destroy(3), ares_dup(3), ares_inet_ntop(3), ares_inet_pton(3), ares_init_options(3).

Explore man page connections for ares_init(3).

ares_init_options(3) is an alias of ares_init(3).

5 March 2010