Lines Matching refs:query
32 struct query *query; in ares_send() local
48 query = ares_malloc(sizeof(struct query)); in ares_send()
49 if (!query) in ares_send()
54 query->tcpbuf = ares_malloc(qlen + 2); in ares_send()
55 if (!query->tcpbuf) in ares_send()
57 ares_free(query); in ares_send()
61 query->server_info = ares_malloc(channel->nservers * in ares_send()
62 sizeof(query->server_info[0])); in ares_send()
63 if (!query->server_info) in ares_send()
65 ares_free(query->tcpbuf); in ares_send()
66 ares_free(query); in ares_send()
72 query->qid = DNS_HEADER_QID(qbuf); in ares_send()
73 query->timeout.tv_sec = 0; in ares_send()
74 query->timeout.tv_usec = 0; in ares_send()
79 query->tcpbuf[0] = (unsigned char)((qlen >> 8) & 0xff); in ares_send()
80 query->tcpbuf[1] = (unsigned char)(qlen & 0xff); in ares_send()
81 memcpy(query->tcpbuf + 2, qbuf, qlen); in ares_send()
82 query->tcplen = qlen + 2; in ares_send()
85 query->qbuf = query->tcpbuf + 2; in ares_send()
86 query->qlen = qlen; in ares_send()
87 query->callback = callback; in ares_send()
88 query->arg = arg; in ares_send()
91 query->try_count = 0; in ares_send()
95 query->server = channel->last_server; in ares_send()
101 query->server_info[i].skip_server = 0; in ares_send()
102 query->server_info[i].tcp_connection_generation = 0; in ares_send()
106 query->using_tcp = (channel->flags & ARES_FLAG_USEVC) || qlen > packetsz; in ares_send()
108 query->error_status = ARES_ECONNREFUSED; in ares_send()
109 query->timeouts = 0; in ares_send()
112 ares__init_list_node(&(query->queries_by_qid), query); in ares_send()
113 ares__init_list_node(&(query->queries_by_timeout), query); in ares_send()
114 ares__init_list_node(&(query->queries_to_server), query); in ares_send()
115 ares__init_list_node(&(query->all_queries), query); in ares_send()
118 ares__insert_in_list(&(query->all_queries), &(channel->all_queries)); in ares_send()
123 &(query->queries_by_qid), in ares_send()
124 &(channel->queries_by_qid[query->qid % ARES_QID_TABLE_SIZE])); in ares_send()
128 ares__send_query(channel, query, &now); in ares_send()