Provided by: libc-ares-dev_1.27.0-1.0ubuntu1_amd64 bug

NAME

       ares_set_servers_csv, ares_set_servers_ports_csv, ares_get_servers_csv - Set or Get a list
       of DNS servers used for queries.

SYNOPSIS

       #include <ares.h>

       int ares_set_servers_csv(ares_channel_t *channel, const char* servers)

       int ares_set_servers_ports_csv(ares_channel_t *channel, const char* servers)

       char *ares_get_servers_csv(ares_channel_t *channel)

DESCRIPTION

       The ares_set_servers_csv and ares_set_servers_ports_csv functions  set  the  list  of  DNS
       servers  that  c-ares  will query.  As of v1.22.0 this function can be called on an active
       channel with running queries, previously it would return ARES_ENOTIMP.

       Though not recommended, passing NULL for servers will clear  all  configured  servers  and
       make  an  inoperable channel, this may be advantageous for test simulation but unlikely to
       be useful in production.

       The ares_get_servers_csv retrieves the list of servers in comma delimited format.

       The input and output format is a comma separated list of servers.  Each server  entry  may
       contain these forms:

       ip[:port][%iface]

       The  ip  may  be encapsulated in square brackets ([ ]), and must be if using ipv6 and also
       specifying a port.

       The  port  is  optional,  and  will  default   to   53   or   the   value   specified   in
       ares_init_options(3).

       The  iface  is specific to IPv6 link-local servers (fe80::/10) and should not otherwise be
       used.

       For example:

       192.168.1.100,192.168.1.101:53,[1:2:3::4]:53,[fe80::1]:53%eth0

       As of c-ares 1.24.0, ares_set_servers_csv and  ares_set_servers_ports_csv  are  identical.
       Prior  versions would simply omit ports in ares_set_servers_csv but due to the addition of
       link local interface support, this difference was removed.

RETURN VALUES

       ares_set_servers_csv(3) and ares_set_servers_ports_csv(3) may return any of the  following
       values:

       ARES_SUCCESS   The name servers configuration was successfully initialized.

       ARES_ENOMEM    The process's available memory was exhausted.

       ARES_ENODATA   The channel data identified by channel was invalid.

       ARES_ENOTINITIALIZED
                      c-ares library initialization not yet performed.

       ares_get_servers_csv(3) returns a string representing the servers configured which must be
       freed with ares_free_string(3).  If it returns NULL, this is an out of memory condition.

SEE ALSO

       ares_set_servers(3)

AVAILABILITY

       ares_set_servers_csv was added in c-ares 1.7.2 ares_set_servers_ports_csv was added in  c-
       ares 1.11.0.  ares_get_servers_csv was added in c-ares 1.24.0.

AUTHOR

       Ben Greear

                                            5 Dec 2023                    ARES_SET_SERVERS_CSV(3)