Lines Matching defs:data

138 void Curl_resolver_cancel(struct Curl_easy *data)
140 destroy_async_data(&data->state.async);
144 static bool init_resolve_thread(struct Curl_easy *data,
149 /* Thread sync data used by GetAddrInfoExW for win8+ */
170 struct Curl_easy *data;
191 static struct thread_sync_data *conn_thread_sync_data(struct Curl_easy *data)
193 return &(data->state.async.tdata->tsd);
196 /* Destroy resolver thread synchronization data */
222 /* Initialize resolver thread synchronization data */
282 static CURLcode getaddrinfo_complete(struct Curl_easy *data)
284 struct thread_sync_data *tsd = conn_thread_sync_data(data);
287 result = Curl_addrinfo_callback(data, tsd->sock_error, tsd->res);
534 * destroy_async_data() cleans up async resolver data and thread handle.
543 struct Curl_easy *data = td->tsd.data;
583 Curl_multi_closed(data, sock_rd);
599 static bool init_resolve_thread(struct Curl_easy *data,
605 struct Curl_async *asp = &data->state.async;
607 data->state.async.tdata = td;
693 * 'entry' may be NULL and then no data is returned
695 static CURLcode thread_wait_resolv(struct Curl_easy *data,
702 DEBUGASSERT(data);
703 td = data->state.async.tdata;
717 result = getaddrinfo_complete(data);
723 result = getaddrinfo_complete(data);
728 data->state.async.done = TRUE;
731 *entry = data->state.async.dns;
733 if(!data->state.async.dns && report)
735 result = Curl_resolver_error(data);
737 destroy_async_data(&data->state.async);
739 if(!data->state.async.dns && report)
740 connclose(data->conn, "asynch resolve failed");
750 void Curl_resolver_kill(struct Curl_easy *data)
752 struct thread_data *td = data->state.async.tdata;
756 data. */
758 && (data->set.quick_exit != 1L))
759 (void)thread_wait_resolv(data, NULL, FALSE);
761 Curl_resolver_cancel(data);
777 CURLcode Curl_resolver_wait_resolv(struct Curl_easy *data,
780 return thread_wait_resolv(data, entry, TRUE);
788 CURLcode Curl_resolver_is_resolved(struct Curl_easy *data,
791 struct thread_data *td = data->state.async.tdata;
807 getaddrinfo_complete(data);
809 if(!data->state.async.dns) {
810 CURLcode result = Curl_resolver_error(data);
811 destroy_async_data(&data->state.async);
814 destroy_async_data(&data->state.async);
815 *entry = data->state.async.dns;
821 data->progress.t_startsingle);
836 Curl_expire(data, td->poll_interval, EXPIRE_ASYNC_NAME);
842 int Curl_resolver_getsock(struct Curl_easy *data, curl_socket_t *socks)
847 struct resdata *reslv = (struct resdata *)data->state.async.resolver;
849 struct thread_data *td = data->state.async.tdata;
858 td->tsd.data = data;
872 Curl_expire(data, milli, EXPIRE_ASYNC_NAME);
885 struct Curl_addrinfo *Curl_resolver_getaddrinfo(struct Curl_easy *data,
890 struct resdata *reslv = (struct resdata *)data->state.async.resolver;
897 if(init_resolve_thread(data, hostname, port, NULL)) {
902 failf(data, "getaddrinfo() thread failed");
912 struct Curl_addrinfo *Curl_resolver_getaddrinfo(struct Curl_easy *data,
919 struct resdata *reslv = (struct resdata *)data->state.async.resolver;
924 if((data->conn->ip_version != CURL_IPRESOLVE_V4) && Curl_ipv6works(data)) {
926 if(data->conn->ip_version == CURL_IPRESOLVE_V6)
935 hints.ai_socktype = (data->conn->transport == TRNSPRT_TCP)?
940 if(init_resolve_thread(data, hostname, port, &hints)) {
945 failf(data, "getaddrinfo() thread failed to start");
952 CURLcode Curl_set_dns_servers(struct Curl_easy *data,
955 (void)data;
961 CURLcode Curl_set_dns_interface(struct Curl_easy *data,
964 (void)data;
969 CURLcode Curl_set_dns_local_ip4(struct Curl_easy *data,
972 (void)data;
977 CURLcode Curl_set_dns_local_ip6(struct Curl_easy *data,
980 (void)data;