DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

ares_get_servers(3)




ARES_GET_SERVERS(3)    C LIBRARY FUNCTIONS    ARES_GET_SERVERS(3)


NAME

     ares_get_servers,  ares_get_servers_ports  -  Retrieve  name
     servers from an initialized ares_channel


SYNOPSIS

     #include <ares.h>

     int ares_get_servers(ares_channel channel, struct ares_addr_node **servers)
     int ares_get_servers_ports(ares_channel channel, struct ares_addr_port_node **servers)


DESCRIPTION

     The ares_get_servers(3) function retrieves name servers con-
     figuration from the channel data identified by channel, as a
     linked list of ares_addr_node structs storing a  pointer  to
     the first node at the address specified by servers.

     The ares_get_servers_ports(3) function  also  retrieves  any
     per-server  port  information  that may have been previously
     configured, returning a linked list of ares_addr_port struc-
     tures.

     Function caller may traverse the returned name server linked
     list,  or  may  use  it  directly  as suitable input for the
     ares_set_servers(3) /  ares_set_servers_ports(3)  functions,
     but shall not shrink or extend the list on its own.

     Each node of the name server linked list is stored in memory
     dynamically  allocated  and  managed  by  c-ares.  It is the
     caller's responsibility to free the resulting  linked  list,
     using  ares_free_data(3)  , once the caller does not need it
     any longer.

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


RETURN VALUES

     This function may return any of the following values:

     ARES_SUCCESS   The name servers configuration  was  success-
                    fully retrieved

     ARES_ENOMEM    The memory was exhausted

     ARES_ENODATA   The channel data identified  by  channel  was
                    invalid.


SEE ALSO

     ares_set_servers(3),                   ares_init_options(3),
     ares_save_options(3)

                    Last change: 5 March 2010                   1

ARES_GET_SERVERS(3)    C LIBRARY FUNCTIONS    ARES_GET_SERVERS(3)


AVAILABILITY

     ares_get_servers(3)   was    added    in    c-ares    1.7.1;
     ares_get_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