Lines Matching refs:sysconfig

612 static ares_status_t ares__init_sysconfig_windows(ares_sysconfig_t *sysconfig)
618 status = ares__sconfig_append_fromstr(&sysconfig->sconfig, line, ARES_TRUE);
626 sysconfig->domains = ares__strsplit(line, ", ", &sysconfig->ndomains);
628 if (sysconfig->domains == NULL) {
642 static ares_status_t ares__init_sysconfig_mvs(ares_sysconfig_t *sysconfig)
682 ares__sconfig_append(&sysconfig->sconfig, &addr, htons(addr_in->sin_port),
699 ares__sconfig_append(&sysconfig->sconfig, &addr, htons(addr_in->sin_port),
712 static ares_status_t ares__init_sysconfig_riscos(ares_sysconfig_t *sysconfig)
736 ares__sconfig_append_fromstr(&sysconfig->sconfig, pos, ARES_TRUE);
751 static ares_status_t ares__init_sysconfig_watt32(ares_sysconfig_t *sysconfig)
764 status = ares__sconfig_append(&sysconfig->sconfig, &addr, 0, 0, NULL);
776 static ares_status_t ares__init_sysconfig_android(ares_sysconfig_t *sysconfig)
793 status = ares__sconfig_append_fromstr(&sysconfig->sconfig, dns_servers[i],
806 sysconfig->domains = ares__strsplit(domains, ", ", &sysconfig->ndomains);
817 if (sysconfig->sconfig == NULL) {
826 ares__sconfig_append_fromstr(&sysconfig->sconfig, propvalue, ARES_TRUE);
839 static ares_status_t ares__init_sysconfig_libresolv(ares_sysconfig_t *sysconfig)
928 ares__sconfig_append_fromstr(&sysconfig->sconfig, ipstr, ARES_TRUE);
941 sysconfig->domains = ares_malloc_zero(entries * sizeof(char *));
942 if (sysconfig->domains == NULL) {
946 sysconfig->ndomains = entries;
947 for (i = 0; i < sysconfig->ndomains; i++) {
948 sysconfig->domains[i] = ares_strdup(res.dnsrch[i]);
949 if (sysconfig->domains[i] == NULL) {
958 sysconfig->ndots = (size_t)res.ndots;
961 sysconfig->tries = (size_t)res.retry;
964 sysconfig->rotate = ARES_TRUE;
969 sysconfig->timeout_ms = (unsigned int)res.retrans * 1000;
973 sysconfig->timeout_ms /=
987 static void ares_sysconfig_free(ares_sysconfig_t *sysconfig)
989 ares__llist_destroy(sysconfig->sconfig);
990 ares__strsplit_free(sysconfig->domains, sysconfig->ndomains);
991 ares_free(sysconfig->sortlist);
992 ares_free(sysconfig->lookups);
993 memset(sysconfig, 0, sizeof(*sysconfig));
997 const ares_sysconfig_t *sysconfig)
1001 if (sysconfig->sconfig && !(channel->optmask & ARES_OPT_SERVERS)) {
1002 status = ares__servers_update(channel, sysconfig->sconfig, ARES_FALSE);
1008 if (sysconfig->domains && !(channel->optmask & ARES_OPT_DOMAINS)) {
1012 ares__strsplit_duplicate(sysconfig->domains, sysconfig->ndomains);
1019 channel->ndomains = sysconfig->ndomains;
1022 if (sysconfig->lookups && !(channel->optmask & ARES_OPT_LOOKUPS)) {
1023 char *temp = ares_strdup(sysconfig->lookups);
1032 if (sysconfig->sortlist && !(channel->optmask & ARES_OPT_SORTLIST)) {
1034 ares_malloc(sizeof(*channel->sortlist) * sysconfig->nsortlist);
1038 memcpy(temp, sysconfig->sortlist,
1039 sizeof(*channel->sortlist) * sysconfig->nsortlist);
1043 channel->nsort = sysconfig->nsortlist;
1046 if (sysconfig->ndots && !(channel->optmask & ARES_OPT_NDOTS)) {
1047 channel->ndots = sysconfig->ndots;
1050 if (sysconfig->tries && !(channel->optmask & ARES_OPT_TRIES)) {
1051 channel->tries = sysconfig->tries;
1054 if (sysconfig->timeout_ms && !(channel->optmask & ARES_OPT_TIMEOUTMS)) {
1055 channel->timeout = sysconfig->timeout_ms;
1059 channel->rotate = sysconfig->rotate;
1068 ares_sysconfig_t sysconfig;
1070 memset(&sysconfig, 0, sizeof(sysconfig));
1073 status = ares__init_sysconfig_windows(&sysconfig);
1075 status = ares__init_sysconfig_mvs(&sysconfig);
1077 status = ares__init_sysconfig_riscos(&sysconfig);
1079 status = ares__init_sysconfig_watt32(&sysconfig);
1081 status = ares__init_sysconfig_android(&sysconfig);
1083 status = ares__init_sysconfig_libresolv(&sysconfig);
1085 status = ares__init_sysconfig_files(channel, &sysconfig);
1092 /* Environment is supposed to override sysconfig */
1093 status = ares__init_by_environment(&sysconfig);
1098 status = ares_sysconfig_apply(channel, &sysconfig);
1104 ares_sysconfig_free(&sysconfig);