DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

ares_set_servers(3)




ARES_SET_SERVERS(3)    C LIBRARY FUNCTIONS    ARES_SET_SERVERS(3)


NAME

     ares_set_servers,  ares_set_servers_ports  -  Initialize  an
     ares_channel name servers configuration


SYNOPSIS

     #include <ares.h>

     int ares_set_servers(ares_channel channel, struct ares_addr_node *servers)
     int ares_set_servers_ports(ares_channel channel, struct ares_addr_port_node *servers)


DESCRIPTION

     The ares_set_servers(3) function  initializes  name  servers
     configuration  for  the  channel data identified by channel,
     from a servers pointer to a linked  list  of  ares_addr_node
     structs holding name servers address data.

     The name server linked list  pointer  argument  may  be  the
     result of a previous call to ares_get_servers(3) or a linked
     list of ares_addr_node structs set up by other means.

     The ares_set_servers(3) function also allows the  specifica-
     tion  of UDP and TCP ports to be used for communication on a
     per-server basis.  The provided linked list argument may  be
     the  result  of a previous call to ares_get_servers_ports(3)
     or a linked list of ares_addr_port_node structs  set  up  by
     other means.

     This function replaces any potentially previously configured
     name  servers with the ones given in the linked list. So, in
     order to configure a channel with more than one name  server
     all the desired ones must be specified in a single list.

     The function does not take  ownership  of  the  linked  list
     argument.   The caller is responsible for freeing the linked
     list when no longer needed.

     This function is capable of  handling  IPv4  and  IPv6  name
     server       addresses       simultaneously,       rendering
     ares_init_options(3) with optmask ARES_OPT_SERVERS function-
     ally obsolete except for IPv4-only name server usage.


RETURN VALUES

     ares_set_servers(3) may return any of the following values:

     ARES_SUCCESS   The name servers configuration  was  success-
                    fully initialized.

     ARES_ENOMEM    The process's available memory was exhausted.

     ARES_ENODATA   The channel data identified  by  channel  was
                    invalid.

                    Last change: 5 March 2010                   1

ARES_SET_SERVERS(3)    C LIBRARY FUNCTIONS    ARES_SET_SERVERS(3)

     ARES_ENOTINITIALIZED
                    c-ares library initialization  not  yet  per-
                    formed.


SEE ALSO

     ares_set_servers_csv(3),                ares_get_servers(3),
     ares_init_options(3), ares_dup(3)


AVAILABILITY

     ares_set_servers(3)   was    added    in    c-ares    1.7.1;
     ares_set_servers_ports(3) was added in c-ares 1.11.0.


AUTHOR

     Implementation  of  this  function  and  associated  library
     internals  are based on code, comments and feedback provided
     in November and December of 2008 by Daniel Stenberg,  Gregor
     Jasny,  Phil  Blundell and Yang Tse, December 2009 by Cedric
     Bail, February 2010 by Jakub Hrozek. On March 2010 Yang  Tse
     shuffled all the bits and this function popped out.
     Copyright 1998 by the Massachusetts Institute of Technology.
     Copyright (C) 2008-2010 by Daniel Stenberg

                    Last change: 5 March 2010                   2


Man(1) output converted with man2html