Lines Matching refs:ai
84 struct ares_addrinfo *ai; /* store results between lookups */
246 struct ares_addrinfo *ai,
277 status = ares_append_ai_node(AF_INET, port, 0, &addr4, &ai->nodes);
291 status = ares_append_ai_node(AF_INET6, port, 0, &addr6, &ai->nodes);
304 cname = ares__append_addrinfo_cname(&ai->cnames);
306 ares_freeaddrinfo(ai);
314 ares_freeaddrinfo(ai);
320 ai->nodes->ai_socktype = hints->ai_socktype;
321 ai->nodes->ai_protocol = hints->ai_protocol;
323 callback(arg, ARES_SUCCESS, 0, ai);
333 if (!(hquery->hints.ai_flags & ARES_AI_NOSORT) && hquery->ai->nodes) {
334 sentinel.ai_next = hquery->ai->nodes;
336 hquery->ai->nodes = sentinel.ai_next;
338 next = hquery->ai->nodes;
347 ares_freeaddrinfo(hquery->ai);
348 hquery->ai = NULL;
351 hquery->callback(hquery->arg, (int)status, (int)hquery->timeouts, hquery->ai);
406 hquery->ai);
422 hquery->ai);
495 hquery->port, hquery->ai);
511 if (addinfostatus == ARES_EBADRESP && hquery->ai->nodes) {
518 } else if (hquery->ai->nodes) {
544 struct ares_addrinfo *ai;
605 ai = ares_malloc_zero(sizeof(*ai));
606 if (!ai) {
612 if (fake_addrinfo(name, port, hints, ai, callback, arg)) {
621 ares_freeaddrinfo(ai);
630 ares_freeaddrinfo(ai);
638 ares_freeaddrinfo(ai);
651 ares_freeaddrinfo(ai);
665 hquery->ai = ai;
745 assert(!hquery->ai->nodes);