Lines Matching defs:addresses
160 /* A structure to hold the string form of IPv4 and IPv6 addresses so we can
226 * to sort the DNS server addresses associated with each interface (lower is
291 * string with a space or comma separated list of DNS IP addresses.
314 /* The capacity of addresses, in elements. */
316 /* The number of elements in addresses. */
318 /* The addresses we will sort. */
319 Address *addresses;
334 /* Start with enough room for a few DNS server addresses and we'll grow it
338 addresses = (Address *)ares_malloc(sizeof(Address) * addressesSize);
339 if (addresses == NULL) {
340 /* We need room for at least some addresses to function. */
375 * addresses. For each found address, find the best route to that DNS
378 * Then, sort all the addresses found by the metric.
395 (Address *)ares_realloc(addresses, sizeof(Address) * newSize);
399 addresses = newMem;
403 addresses[addressesIndex].metric = getBestRouteMetric(
408 addresses[addressesIndex].orig_idx = addressesIndex;
414 snprintf(addresses[addressesIndex].text,
415 sizeof(addresses[addressesIndex].text), "[%s]:%u", ipaddr,
431 (Address *)ares_realloc(addresses, sizeof(Address) * newSize);
435 addresses = newMem;
447 addresses[addressesIndex].metric = getBestRouteMetric(
452 addresses[addressesIndex].orig_idx = addressesIndex;
460 snprintf(addresses[addressesIndex].text,
461 sizeof(addresses[addressesIndex].text), "[%s]:%u%%%u",
464 snprintf(addresses[addressesIndex].text,
465 sizeof(addresses[addressesIndex].text), "[%s]:%u", ipaddr,
470 /* Skip non-IPv4/IPv6 addresses completely. */
476 /* Sort all of the textual addresses by their metric (and original index if
478 qsort(addresses, addressesIndex, sizeof(*addresses), compareAddresses);
487 if (strcmp(addresses[j].text, addresses[i].text) == 0) {
494 commajoin(outptr, addresses[i].text);
500 ares_free(addresses);