Lines Matching refs:data

41  * Initialize statistical and informational data.
47 CURLcode Curl_initinfo(struct Curl_easy *data)
49 struct Progress *pro = &data->progress;
50 struct PureInfo *info = &data->info;
89 Curl_ssl_free_certinfo(data);
94 static CURLcode getinfo_char(struct Curl_easy *data, CURLINFO info,
99 *param_charp = data->state.url?data->state.url:(char *)"";
102 const char *m = data->set.str[STRING_CUSTOMREQUEST];
104 if(data->set.opt_no_body)
108 switch(data->state.httpreq) {
132 *param_charp = data->info.contenttype;
135 *param_charp = (char *) data->set.private_data;
143 *param_charp = data->state.most_recent_ftp_entrypath;
148 *param_charp = data->info.wouldredirect;
152 *param_charp = data->state.referer;
156 *param_charp = data->info.conn_primary_ip;
161 *param_charp = data->info.conn_local_ip;
164 *param_charp = data->set.str[STRING_RTSP_SESSION_ID];
167 *param_charp = data->info.conn_scheme;
191 static CURLcode getinfo_long(struct Curl_easy *data, CURLINFO info,
230 *param_longp = data->info.httpcode;
233 *param_longp = data->info.httpproxycode;
236 if(data->info.filetime > LONG_MAX)
238 else if(data->info.filetime < LONG_MIN)
241 *param_longp = (long)data->info.filetime;
244 *param_longp = (long)data->info.header_size;
247 *param_longp = (long)data->info.request_size;
250 *param_longp = data->set.ssl.certverifyresult;
254 *param_longp = data->set.proxy_ssl.certverifyresult;
258 *param_longp = data->state.followlocation;
262 *lptr.to_ulong = data->info.httpauthavail;
266 *lptr.to_ulong = data->info.proxyauthavail;
269 *param_longp = data->state.os_errno;
272 *param_longp = data->info.numconnects;
275 sockfd = Curl_getconnectinfo(data, NULL);
288 *param_longp = data->info.conn_primary_port;
292 *param_longp = data->info.conn_local_port;
295 *param_longp = (long)data->info.pxcode;
298 if(data->info.httpcode == 304)
302 *param_longp = data->info.timecond ? 1L : 0L;
306 *param_longp = data->state.rtsp_next_client_CSeq;
309 *param_longp = data->state.rtsp_next_server_CSeq;
312 *param_longp = data->state.rtsp_CSeq_recv;
316 switch(data->info.httpversion) {
335 *param_longp = data->info.conn_protocol;
346 static CURLcode getinfo_offt(struct Curl_easy *data, CURLINFO info,
372 *param_offt = (curl_off_t)data->info.filetime;
375 *param_offt = data->progress.uploaded;
378 *param_offt = data->progress.downloaded;
381 *param_offt = data->progress.dlspeed;
384 *param_offt = data->progress.ulspeed;
387 *param_offt = (data->progress.flags & PGRS_DL_SIZE_KNOWN)?
388 data->progress.size_dl:-1;
391 *param_offt = (data->progress.flags & PGRS_UL_SIZE_KNOWN)?
392 data->progress.size_ul:-1;
395 *param_offt = data->progress.timespent;
398 *param_offt = data->progress.t_nslookup;
401 *param_offt = data->progress.t_connect;
404 *param_offt = data->progress.t_appconnect;
407 *param_offt = data->progress.t_pretransfer;
410 *param_offt = data->progress.t_starttransfer;
413 *param_offt = data->progress.t_postqueue;
416 *param_offt = data->progress.t_redirect;
419 *param_offt = data->info.retry_after;
422 *param_offt = data->id;
425 *param_offt = data->conn?
426 data->conn->connection_id : data->state.recent_conn_id;
435 static CURLcode getinfo_double(struct Curl_easy *data, CURLINFO info,
461 *param_doublep = DOUBLE_SECS(data->progress.timespent);
464 *param_doublep = DOUBLE_SECS(data->progress.t_nslookup);
467 *param_doublep = DOUBLE_SECS(data->progress.t_connect);
470 *param_doublep = DOUBLE_SECS(data->progress.t_appconnect);
473 *param_doublep = DOUBLE_SECS(data->progress.t_pretransfer);
476 *param_doublep = DOUBLE_SECS(data->progress.t_starttransfer);
479 *param_doublep = (double)data->progress.uploaded;
482 *param_doublep = (double)data->progress.downloaded;
485 *param_doublep = (double)data->progress.dlspeed;
488 *param_doublep = (double)data->progress.ulspeed;
491 *param_doublep = (data->progress.flags & PGRS_DL_SIZE_KNOWN)?
492 (double)data->progress.size_dl:-1;
495 *param_doublep = (data->progress.flags & PGRS_UL_SIZE_KNOWN)?
496 (double)data->progress.size_ul:-1;
499 *param_doublep = DOUBLE_SECS(data->progress.t_redirect);
509 static CURLcode getinfo_slist(struct Curl_easy *data, CURLINFO info,
519 *param_slistp = Curl_ssl_engines_list(data);
522 *param_slistp = Curl_cookie_list(data);
527 ptr.to_certinfo = &data->info.certs;
535 struct curl_tlssessioninfo *tsi = &data->tsi;
537 struct connectdata *conn = data->conn;
546 tsi->internals = Curl_ssl_get_internals(data, FIRSTSOCKET, info, 0);
558 static CURLcode getinfo_socket(struct Curl_easy *data, CURLINFO info,
563 *param_socketp = Curl_getconnectinfo(data, NULL);
572 CURLcode Curl_getinfo(struct Curl_easy *data, CURLINFO info, ...)
584 if(!data)
594 result = getinfo_char(data, info, param_charp);
599 result = getinfo_long(data, info, param_longp);
604 result = getinfo_double(data, info, param_doublep);
609 result = getinfo_offt(data, info, param_offt);
614 result = getinfo_slist(data, info, param_slistp);
619 result = getinfo_socket(data, info, param_socketp);