Lines Matching refs:cache_info
1588 static void insert_cache_info_locked(resolv_cache_info* cache_info);
1592 static void free_nameservers_locked(resolv_cache_info* cache_info);
1595 static int resolv_is_nameservers_equal_locked(resolv_cache_info* cache_info, const char** servers,
1598 static void res_cache_clear_stats_locked(resolv_cache_info* cache_info);
1615 resolv_cache_info* cache_info = create_cache_info(); in resolv_create_cache_for_net_locked() local
1616 if (!cache_info) return -ENOMEM; in resolv_create_cache_for_net_locked()
1619 free(cache_info); in resolv_create_cache_for_net_locked()
1622 cache_info->cache = cache; in resolv_create_cache_for_net_locked()
1623 cache_info->netid = netid; in resolv_create_cache_for_net_locked()
1624 insert_cache_info_locked(cache_info); in resolv_create_cache_for_net_locked()
1640 struct resolv_cache_info* cache_info = prev_cache_info->next; in resolv_delete_cache_for_net() local
1642 if (cache_info->netid == netid) { in resolv_delete_cache_for_net()
1643 prev_cache_info->next = cache_info->next; in resolv_delete_cache_for_net()
1644 cache_flush_locked(cache_info->cache); in resolv_delete_cache_for_net()
1645 free(cache_info->cache->entries); in resolv_delete_cache_for_net()
1646 free(cache_info->cache); in resolv_delete_cache_for_net()
1647 free_nameservers_locked(cache_info); in resolv_delete_cache_for_net()
1648 free(cache_info); in resolv_delete_cache_for_net()
1658 struct resolv_cache_info* cache_info = res_cache_list.next; in resolv_list_caches() local
1660 while (cache_info) { in resolv_list_caches()
1661 result.push_back(cache_info->netid); in resolv_list_caches()
1662 cache_info = cache_info->next; in resolv_list_caches()
1672 static void insert_cache_info_locked(struct resolv_cache_info* cache_info) { in insert_cache_info_locked() argument
1675 last->next = cache_info; in insert_cache_info_locked()
1685 struct resolv_cache_info* cache_info = res_cache_list.next; in find_cache_info_locked() local
1687 while (cache_info) { in find_cache_info_locked()
1688 if (cache_info->netid == netid) { in find_cache_info_locked()
1692 cache_info = cache_info->next; in find_cache_info_locked()
1694 return cache_info; in find_cache_info_locked()
1754 resolv_cache_info* cache_info = find_cache_info_locked(netid); in resolv_set_nameservers_for_net() local
1756 if (cache_info == NULL) return ENONET; in resolv_set_nameservers_for_net()
1758 uint8_t old_max_samples = cache_info->params.max_samples; in resolv_set_nameservers_for_net()
1760 cache_info->params = *params; in resolv_set_nameservers_for_net()
1762 resolv_set_default_params(&cache_info->params); in resolv_set_nameservers_for_net()
1764 resolv_set_experiment_params(&cache_info->params); in resolv_set_nameservers_for_net()
1765 if (!resolv_is_nameservers_equal_locked(cache_info, servers, numservers)) { in resolv_set_nameservers_for_net()
1767 free_nameservers_locked(cache_info); in resolv_set_nameservers_for_net()
1769 cache_info->nsaddrinfo[i] = nsaddrinfo[i]; in resolv_set_nameservers_for_net()
1770 cache_info->nameservers[i] = strdup(servers[i]); in resolv_set_nameservers_for_net()
1773 cache_info->nscount = numservers; in resolv_set_nameservers_for_net()
1776 res_cache_clear_stats_locked(cache_info); in resolv_set_nameservers_for_net()
1782 ++cache_info->revision_id; in resolv_set_nameservers_for_net()
1784 if (cache_info->params.max_samples != old_max_samples) { in resolv_set_nameservers_for_net()
1790 res_cache_clear_stats_locked(cache_info); in resolv_set_nameservers_for_net()
1791 ++cache_info->revision_id; in resolv_set_nameservers_for_net()
1802 strlcpy(cache_info->defdname, domains, sizeof(cache_info->defdname)); in resolv_set_nameservers_for_net()
1803 if ((cp = strchr(cache_info->defdname, '\n')) != NULL) *cp = '\0'; in resolv_set_nameservers_for_net()
1804 LOG(INFO) << __func__ << ": domains=\"" << cache_info->defdname << "\""; in resolv_set_nameservers_for_net()
1806 cp = cache_info->defdname; in resolv_set_nameservers_for_net()
1807 offset = cache_info->dnsrch_offset; in resolv_set_nameservers_for_net()
1808 while (offset < cache_info->dnsrch_offset + MAXDNSRCH) { in resolv_set_nameservers_for_net()
1813 *offset++ = cp - cache_info->defdname; /* record this search domain */ in resolv_set_nameservers_for_net()
1827 static int resolv_is_nameservers_equal_locked(resolv_cache_info* cache_info, const char** servers, in resolv_is_nameservers_equal_locked() argument
1829 if (cache_info->nscount != numservers) { in resolv_is_nameservers_equal_locked()
1844 if (strcmp(cache_info->nameservers[i], servers[j]) == 0) { in resolv_is_nameservers_equal_locked()
1853 static void free_nameservers_locked(resolv_cache_info* cache_info) { in free_nameservers_locked() argument
1855 for (i = 0; i < cache_info->nscount; i++) { in free_nameservers_locked()
1856 free(cache_info->nameservers[i]); in free_nameservers_locked()
1857 cache_info->nameservers[i] = NULL; in free_nameservers_locked()
1858 if (cache_info->nsaddrinfo[i] != NULL) { in free_nameservers_locked()
1859 freeaddrinfo(cache_info->nsaddrinfo[i]); in free_nameservers_locked()
1860 cache_info->nsaddrinfo[i] = NULL; in free_nameservers_locked()
1862 cache_info->nsstats[i].sample_count = cache_info->nsstats[i].sample_next = 0; in free_nameservers_locked()
1864 cache_info->nscount = 0; in free_nameservers_locked()
1865 res_cache_clear_stats_locked(cache_info); in free_nameservers_locked()
1866 ++cache_info->revision_id; in free_nameservers_locked()
1931 static void res_cache_clear_stats_locked(resolv_cache_info* cache_info) { in res_cache_clear_stats_locked() argument
1932 if (cache_info) { in res_cache_clear_stats_locked()
1934 cache_info->nsstats->sample_count = cache_info->nsstats->sample_next = 0; in res_cache_clear_stats_locked()