Lines Matching refs:data

200     /* alloc data that will leak if *cleanup() is not called! */
351 struct Curl_easy *data;
368 result = Curl_open(&data);
374 return data;
634 result = msg->data.result;
682 result = msg->data.result;
717 static CURLcode easy_perform(struct Curl_easy *data, bool events)
724 if(!data)
727 if(data->set.errorbuffer)
729 data->set.errorbuffer[0] = 0;
731 if(data->multi) {
732 failf(data, "easy handle already used in multi handle");
736 if(data->multi_easy)
737 multi = data->multi_easy;
744 data->multi_easy = multi;
751 curl_multi_setopt(multi, CURLMOPT_MAXCONNECTS, (long)data->set.maxconnects);
753 mcode = curl_multi_add_handle(multi, data);
756 data->multi_easy = NULL;
762 sigpipe_ignore(data, &pipe_st);
769 (void)curl_multi_remove_handle(multi, data);
782 CURLcode curl_easy_perform(struct Curl_easy *data)
784 return easy_perform(data, FALSE);
792 CURLcode curl_easy_perform_ev(struct Curl_easy *data)
794 return easy_perform(data, TRUE);
803 void curl_easy_cleanup(struct Curl_easy *data)
805 if(GOOD_EASY_HANDLE(data)) {
807 sigpipe_ignore(data, &pipe_st);
808 Curl_close(&data);
818 CURLcode curl_easy_getinfo(struct Curl_easy *data, CURLINFO info, ...)
827 result = Curl_getinfo(data, info, paramp);
878 /* Duplicate mime data. */
892 struct Curl_easy *curl_easy_duphandle(struct Curl_easy *data)
903 outcurl->set.buffer_size = data->set.buffer_size;
906 if(dupset(outcurl, data))
917 outcurl->progress.flags = data->progress.flags;
918 outcurl->progress.callback = data->progress.callback;
922 if(data->cookies && data->state.cookie_engine) {
926 data->set.cookiesession);
931 if(data->state.cookielist) {
932 outcurl->state.cookielist = Curl_slist_duplicate(data->state.cookielist);
938 if(data->state.url) {
939 outcurl->state.url = strdup(data->state.url);
945 if(data->state.referer) {
946 outcurl->state.referer = strdup(data->state.referer);
960 if(data->asi) {
969 if(data->hsts) {
984 data->state.async.resolver))
992 rc = Curl_set_dns_servers(outcurl, data->set.str[STRING_DNS_SERVERS]);
996 rc = Curl_set_dns_interface(outcurl, data->set.str[STRING_DNS_INTERFACE]);
1000 rc = Curl_set_dns_local_ip4(outcurl, data->set.str[STRING_DNS_LOCAL_IP4]);
1004 rc = Curl_set_dns_local_ip6(outcurl, data->set.str[STRING_DNS_LOCAL_IP6]);
1039 void curl_easy_reset(struct Curl_easy *data)
1041 Curl_free_request_state(data);
1043 /* zero out UserDefined data: */
1044 Curl_freeset(data);
1045 memset(&data->set, 0, sizeof(struct UserDefined));
1046 (void)Curl_init_userdefined(data);
1048 /* zero out Progress data: */
1049 memset(&data->progress, 0, sizeof(struct Progress));
1051 /* zero out PureInfo data: */
1052 Curl_initinfo(data);
1054 data->progress.flags |= PGRS_HIDE;
1055 data->state.current_speed = -1; /* init to negative == impossible */
1056 data->state.retrycount = 0; /* reset the retry counter */
1058 /* zero out authentication data: */
1059 memset(&data->state.authhost, 0, sizeof(struct auth));
1060 memset(&data->state.authproxy, 0, sizeof(struct auth));
1063 Curl_http_auth_cleanup_digest(data);
1080 CURLcode curl_easy_pause(struct Curl_easy *data, int action)
1088 if(!GOOD_EASY_HANDLE(data) || !data->conn)
1092 if(Curl_is_in_callback(data))
1094 k = &data->req;
1104 DEBUGF(infof(data, "pause: no change, early return"));
1110 (data->mstate == MSTATE_PERFORMING ||
1111 data->mstate == MSTATE_RATELIMITING) &&
1112 data->state.fread_func == (curl_read_callback) Curl_mime_read) {
1113 Curl_mime_unpause(data->state.in);
1120 Curl_conn_ev_data_pause(data, FALSE);
1121 result = Curl_client_unpause(data);
1129 if(data->hyp.send_body_waker) {
1130 hyper_waker_wake(data->hyp.send_body_waker);
1131 data->hyp.send_body_waker = NULL;
1140 Curl_expire(data, 0, EXPIRE_RUN_NOW); /* get this handle going again */
1143 data->state.keeps_speed.tv_sec = 0;
1145 if(!data->state.tempcount)
1147 the data might've been read off the socket already */
1148 data->state.select_bits = CURL_CSELECT_IN | CURL_CSELECT_OUT;
1149 if(data->multi) {
1150 if(Curl_update_timer(data->multi))
1155 if(!data->state.done)
1158 result = Curl_updatesocket(data);
1163 Curl_set_in_callback(data, TRUE);
1169 static CURLcode easy_connection(struct Curl_easy *data, curl_socket_t *sfd,
1172 if(!data)
1176 if(!data->set.connect_only) {
1177 failf(data, "CONNECT_ONLY is required");
1181 *sfd = Curl_getconnectinfo(data, connp);
1184 failf(data, "Failed to get recent socket");
1192 * Receives data from the connected socket. Use after successful
1196 CURLcode curl_easy_recv(struct Curl_easy *data, void *buffer, size_t buflen,
1204 if(Curl_is_in_callback(data))
1207 result = easy_connection(data, &sfd, &c);
1211 if(!data->conn)
1214 Curl_attach_connection(data, c);
1217 result = Curl_read(data, sfd, buffer, buflen, &n1);
1227 CURLcode Curl_connect_only_attach(struct Curl_easy *data)
1233 result = easy_connection(data, &sfd, &c);
1237 if(!data->conn)
1240 Curl_attach_connection(data, c);
1247 * Sends data over the connected socket.
1251 CURLcode Curl_senddata(struct Curl_easy *data, const void *buffer,
1260 result = easy_connection(data, &sfd, &c);
1264 if(!data->conn)
1267 Curl_attach_connection(data, c);
1270 sigpipe_ignore(data, &pipe_st);
1271 result = Curl_write(data, sfd, buffer, buflen, &n1);
1287 * Sends data over the connected socket. Use after successful
1290 CURLcode curl_easy_send(struct Curl_easy *data, const void *buffer,
1295 if(Curl_is_in_callback(data))
1298 result = Curl_senddata(data, buffer, buflen, &written);
1308 static int conn_upkeep(struct Curl_easy *data,
1314 if(Curl_timediff(*now, conn->keepalive) <= data->set.upkeep_interval_ms)
1318 Curl_attach_connection(data, conn);
1321 conn->handler->connection_check(data, conn, CONNCHECK_KEEPALIVE);
1325 Curl_conn_keep_alive(data, conn, FIRSTSOCKET);
1327 Curl_detach_connection(data);
1333 static CURLcode upkeep(struct conncache *conn_cache, void *data)
1337 Curl_conncache_foreach(data,
1347 CURLcode curl_easy_upkeep(struct Curl_easy *data)
1350 if(!GOOD_EASY_HANDLE(data))
1353 if(data->multi_easy) {
1355 return upkeep(&data->multi_easy->conn_cache, data);