Go to the source code of this file.
Functions | |
| CURLcode | Curl_perform (struct SessionHandle *data) |
| CURLcode | Curl_pretransfer (struct SessionHandle *data) |
| CURLcode | Curl_second_connect (struct connectdata *conn) |
| CURLcode | Curl_posttransfer (struct SessionHandle *data) |
| CURLcode | Curl_follow (struct SessionHandle *data, char *newurl, bool retry) |
| CURLcode | Curl_readwrite (struct connectdata *conn, bool *done) |
| int | Curl_single_getsock (struct connectdata *conn, curl_socket_t *socks, int numsocks) |
| CURLcode | Curl_readwrite_init (struct connectdata *conn) |
| void | Curl_pre_readwrite (struct connectdata *conn) |
| CURLcode | Curl_readrewind (struct connectdata *conn) |
| CURLcode | Curl_fillreadbuffer (struct connectdata *conn, int bytes, int *nreadp) |
| bool | Curl_retry_request (struct connectdata *conn, char **url) |
| CURLcode | Curl_setup_transfer (struct connectdata *data, int sockindex, curl_off_t size, bool getheader, curl_off_t *bytecountp, int writesockindex, curl_off_t *writecountp) |
| CURLcode Curl_fillreadbuffer | ( | struct connectdata * | conn, | |
| int | bytes, | |||
| int * | nreadp | |||
| ) |
Definition at line 116 of file transfer.c.
References connectdata::bits, Curl_convert_to_network(), CURL_READFUNC_ABORT, CURLE_ABORTED_BY_CALLBACK, CURLE_OK, connectdata::data, failf, ConnectBits::forbidchunk, connectdata::fread, connectdata::fread_in, HandleData::keep, UserDefined::prefer_ascii, SessionHandle::reqdata, SessionHandle::set, TRUE, ConnectBits::upload_chunky, Curl_transfer_keeper::upload_done, and HandleData::upload_fromhere.
Referenced by Curl_readwrite(), file_upload(), and tftp_tx().
| CURLcode Curl_follow | ( | struct SessionHandle * | data, | |
| char * | newurl, | |||
| bool | retry | |||
| ) |
Definition at line 2013 of file transfer.c.
References UrlState::allow_port, SessionHandle::change, Curl_pgrsResetTimes(), Curl_pgrsTime(), CURLE_OK, CURLE_OUT_OF_MEMORY, CURLE_TOO_MANY_REDIRECTS, failf, FALSE, UserDefined::followlocation, free, UserDefined::http_auto_referer, PureInfo::httpcode, UserDefined::httpreq, HTTPREQ_GET, HTTPREQ_POST, HTTPREQ_POST_FORM, SessionHandle::info, infof, malloc, UserDefined::maxredirs, NULL, UserDefined::opt_no_body, DynamicStatic::referer, DynamicStatic::referer_alloc, SessionHandle::set, SessionHandle::state, strcpy_url(), strdup, strlen_url(), UrlState::this_is_a_follow, TIMER_REDIRECT, TRUE, DynamicStatic::url, and DynamicStatic::url_alloc.
Referenced by Curl_connect_host(), Curl_perform(), and multi_runsingle().
| CURLcode Curl_perform | ( | struct SessionHandle * | data | ) |
Definition at line 2389 of file transfer.c.
References connectdata::bits, ConnectBits::close, UserDefined::connect_only, Curl_connect_host(), Curl_do(), Curl_done(), curl_easy_strerror(), Curl_follow(), Curl_posttransfer(), Curl_pretransfer(), Curl_retry_request(), CURL_SOCKET_BAD, CURLE_OK, UrlState::errorbuf, failf, FALSE, free, HandleData::newurl, NULL, SessionHandle::reqdata, sclose, SECONDARYSOCKET, SessionHandle::set, connectdata::sock, SessionHandle::state, strdup, Transfer(), TRUE, and UrlState::used_interface.
Referenced by curl_easy_perform().
| CURLcode Curl_posttransfer | ( | struct SessionHandle * | data | ) |
Definition at line 1930 of file transfer.c.
References Progress::callback, CURLE_OK, UserDefined::err, Progress::flags, UserDefined::no_signal, PGRS_HIDE, SessionHandle::progress, SessionHandle::set, and SessionHandle::state.
Referenced by Curl_perform(), and multi_runsingle().
| void Curl_pre_readwrite | ( | struct connectdata * | conn | ) |
Definition at line 1725 of file transfer.c.
References connectdata::bits, ConnectBits::chunk, FALSE, and ConnectBits::trailerHdrPresent.
Referenced by multi_runsingle(), and Transfer().
| CURLcode Curl_pretransfer | ( | struct SessionHandle * | data | ) |
Definition at line 1879 of file transfer.c.
References UrlState::allow_port, UrlState::authhost, UrlState::authproblem, UrlState::authproxy, SessionHandle::change, DynamicStatic::cookielist, Curl_cookie_loadfiles(), Curl_initinfo(), Curl_pgrsStartNow(), Curl_ssl_initsessions(), CURLE_OK, CURLE_URL_MALFORMAT, UrlState::errorbuf, failf, FALSE, UserDefined::followlocation, UserDefined::httpauth, UserDefined::no_signal, ssl_config_data::numsessions, UserDefined::proxyauth, SessionHandle::set, UserDefined::ssl, SessionHandle::state, UrlState::this_is_a_follow, TRUE, DynamicStatic::url, and auth::want.
Referenced by Curl_perform(), and multi_runsingle().
| CURLcode Curl_readrewind | ( | struct connectdata * | conn | ) |
Definition at line 227 of file transfer.c.
References connectdata::bits, CURLE_OK, CURLE_SEND_FAIL_REWIND, CURLIOCMD_RESTARTREAD, connectdata::data, failf, FALSE, fread(), UserDefined::fread, UserDefined::httpreq, HTTPREQ_POST_FORM, UserDefined::in, infof, UserDefined::ioctl, UserDefined::ioctl_client, UserDefined::postfields, ConnectBits::rewindaftersend, SEEK_SET, and SessionHandle::set.
Referenced by Curl_readwrite(), and perhapsrewind().
| CURLcode Curl_readwrite | ( | struct connectdata * | conn, | |
| bool * | done | |||
| ) |
Definition at line 314 of file transfer.c.
References connectdata::allocptr, Curl_transfer_keeper::badheader, connectdata::bits, Curl_transfer_keeper::bodywrites, Curl_transfer_keeper::buf, UserDefined::buffer_size, BUFSIZE, Curl_transfer_keeper::bytecount, Curl_transfer_keeper::bytecountp, checkhttpprefix(), checkprefix, HTTP::chunk, ConnectBits::chunk, CHUNK_STOP, CHUNKE_OK, CHUNKE_STOP, CHUNKE_WRITE_ERROR, CLIENTWRITE_BODY, CLIENTWRITE_HEADER, ConnectBits::close, COMPRESS, Curl_transfer_keeper::content_encoding, Curl_transfer_keeper::content_range, PureInfo::contenttype, connectdata::dynamically_allocated_data::cookiehost, SessionHandle::cookies, UserDefined::crlf, UrlState::crlf_conversions, connectdata::cselect_bits, Curl_client_write(), Curl_compareheader(), Curl_convert_from_network(), Curl_cookie_add(), CURL_CSELECT_ERR, CURL_CSELECT_IN, CURL_CSELECT_OUT, Curl_debug(), CURL_DO_LINEEND_CONV, Curl_fillreadbuffer(), curl_getdate(), Curl_http_auth_act(), Curl_http_input_auth(), Curl_http_should_fail(), Curl_httpchunk_init(), Curl_httpchunk_read(), CURL_LOCK_ACCESS_SINGLE, CURL_LOCK_DATA_COOKIE, Curl_pgrsSetDownloadCounter(), Curl_pgrsSetDownloadSize(), Curl_pgrsSetUploadCounter(), Curl_pgrsTime(), Curl_pgrsUpdate(), Curl_read(), Curl_readrewind(), Curl_safefree(), Curl_share_lock(), Curl_share_unlock(), CURL_SOCKET_BAD, Curl_socket_ready(), Curl_speedcheck(), CURL_TIMECOND_IFMODSINCE, CURL_TIMECOND_IFUNMODSINCE, CURL_TIMEOUT_EXPECT_100, Curl_tvdiff, Curl_tvnow, Curl_unencode_deflate_write(), Curl_unencode_gzip_write(), Curl_write(), CURLE_ABORTED_BY_CALLBACK, CURLE_BAD_CONTENT_ENCODING, CURLE_FILESIZE_EXCEEDED, CURLE_HTTP_RANGE_ERROR, CURLE_HTTP_RETURNED_ERROR, CURLE_OK, CURLE_OPERATION_TIMEOUTED, CURLE_OUT_OF_MEMORY, CURLE_PARTIAL_FILE, CURLE_RECV_ERROR, CURLE_SEND_ERROR, CURLE_WRITE_ERROR, CURLINFO_DATA_IN, CURLINFO_DATA_OUT, CURLINFO_HEADER_IN, CURLMAX, curlx_strtoofft, connectdata::data, data_pending(), Curl_chunker::dataleft, DEBUGF, Curl_transfer_keeper::deductheadercount, DEFLATE, UserDefined::encoding, Curl_transfer_keeper::end_ptr, failf, FALSE, PureInfo::filetime, FORMAT_OFF_T, UserDefined::get_filetime, GZIP, Curl_transfer_keeper::hbuflen, Curl_transfer_keeper::hbufp, Curl_transfer_keeper::header, HEADER1, Curl_transfer_keeper::HEADER_ALLBAD, Curl_transfer_keeper::HEADER_NORMAL, Curl_transfer_keeper::HEADER_PARTHEADER, PureInfo::header_size, UrlState::headerbuff, Curl_transfer_keeper::headerbytecount, Curl_transfer_keeper::headerline, UrlState::headersize, connectdata::host, HandleData::http, UserDefined::http_ce_skip, UserDefined::http_fail_on_error, UserDefined::http_follow_location, PureInfo::httpcode, Curl_transfer_keeper::httpcode, ConnectBits::httpproxy, UserDefined::httpreq, HTTPREQ_GET, PureInfo::httpversion, Curl_transfer_keeper::httpversion, IDENTITY, if(), Curl_transfer_keeper::ignorebody, UserDefined::ignorecl, Curl_transfer_keeper::ignorecl, UserDefined::include_header, UserDefined::infilesize, SessionHandle::info, infof, ISDIGIT, ISSPACE, HandleData::keep, KEEP_READ, KEEP_READ_HOLD, KEEP_WRITE, KEEP_WRITE_HOLD, Curl_transfer_keeper::keepon, malloc, UserDefined::max_filesize, Curl_transfer_keeper::maxdownload, hostname::name, HandleData::newurl, ConnectBits::no_body, Curl_transfer_keeper::now, NULL, Curl_transfer_keeper::offset, Curl_transfer_keeper::p, HandleData::path, UserDefined::prefer_ascii, PROT_HTTP, HandleData::proto, connectdata::protocol, ConnectBits::proxy_user_passwd, HandleData::range, read_rewind(), realloc, SessionHandle::reqdata, HandleData::resume_from, ConnectBits::rewindaftersend, UrlState::scratch, HTTP::sending, SessionHandle::set, Curl_transfer_keeper::size, connectdata::sockfd, ssize_t, Curl_transfer_keeper::start, Curl_transfer_keeper::start100, Curl_chunker::state, SessionHandle::state, Curl_transfer_keeper::str, Curl_transfer_keeper::str_start, strdup, ConnectBits::stream_was_rewound, UserDefined::timecondition, Curl_transfer_keeper::timeofdoc, UserDefined::timeout, TIMER_STARTTRANSFER, UserDefined::timevalue, ConnectBits::trailerHdrPresent, TRUE, Curl_transfer_keeper::upload_done, HandleData::upload_fromhere, HandleData::upload_present, Curl_transfer_keeper::uploadbuf, ConnectBits::user_passwd, UserDefined::verbose, Curl_transfer_keeper::wait100_after_headers, Curl_transfer_keeper::write_after_100_header, Curl_transfer_keeper::writebytecount, Curl_transfer_keeper::writebytecountp, and connectdata::writesockfd.
Referenced by multi_runsingle(), and Transfer().
| CURLcode Curl_readwrite_init | ( | struct connectdata * | conn | ) |
Definition at line 1641 of file transfer.c.
References connectdata::bits, Curl_transfer_keeper::buf, UrlState::buffer, Curl_transfer_keeper::bytecount, HandleData::bytecountp, Curl_transfer_keeper::bytecountp, Curl_pgrsSetDownloadCounter(), Curl_pgrsSetDownloadSize(), Curl_pgrsSetUploadCounter(), Curl_pgrsTime(), CURL_SOCKET_BAD, Curl_speedinit(), Curl_tvnow, CURLE_OK, connectdata::data, UrlState::expect100header, FALSE, ConnectBits::getheader, Curl_transfer_keeper::hbufp, Curl_transfer_keeper::header, UrlState::headerbuff, HandleData::http, Curl_transfer_keeper::httpversion, Curl_transfer_keeper::ignorebody, HandleData::keep, KEEP_READ, KEEP_WRITE, Curl_transfer_keeper::keepon, HandleData::maxdownload, Curl_transfer_keeper::maxdownload, Curl_transfer_keeper::maxfd, ConnectBits::no_body, Curl_transfer_keeper::now, HandleData::proto, SessionHandle::reqdata, HTTP::sending, HandleData::size, Curl_transfer_keeper::size, connectdata::sockfd, Curl_transfer_keeper::start, Curl_transfer_keeper::start100, SessionHandle::state, TIMER_PRETRANSFER, TRUE, Curl_transfer_keeper::uploadbuf, UrlState::uploadbuffer, Curl_transfer_keeper::wait100_after_headers, Curl_transfer_keeper::write_after_100_header, HandleData::writebytecountp, Curl_transfer_keeper::writebytecountp, and connectdata::writesockfd.
Referenced by Curl_file(), Curl_tftp(), multi_runsingle(), and Transfer().
| bool Curl_retry_request | ( | struct connectdata * | conn, | |
| char ** | url | |||
| ) |
Definition at line 2355 of file transfer.c.
References connectdata::bits, Curl_transfer_keeper::bytecount, SessionHandle::change, ConnectBits::close, connectdata::data, FALSE, Curl_transfer_keeper::headerbytecount, infof, HandleData::keep, ConnectBits::no_body, SessionHandle::reqdata, ConnectBits::retry, ConnectBits::reuse, strdup, TRUE, and DynamicStatic::url.
Referenced by Curl_perform(), and multi_runsingle().
| CURLcode Curl_second_connect | ( | struct connectdata * | conn | ) |
| CURLcode Curl_setup_transfer | ( | struct connectdata * | data, | |
| int | sockindex, | |||
| curl_off_t | size, | |||
| bool | getheader, | |||
| curl_off_t * | bytecountp, | |||
| int | writesockindex, | |||
| curl_off_t * | writecountp | |||
| ) |
Definition at line 2507 of file transfer.c.
References connectdata::bits, HandleData::bytecountp, CURL_SOCKET_BAD, CURLE_BAD_FUNCTION_ARGUMENT, CURLE_OK, connectdata::data, DEBUGASSERT, ConnectBits::getheader, SessionHandle::reqdata, HandleData::size, connectdata::sock, connectdata::sockfd, HandleData::writebytecountp, and connectdata::writesockfd.
Referenced by CreateConnection(), Curl_dict(), Curl_ftp_nextconnect(), Curl_http(), Curl_ldap(), Curl_telnet(), Curl_tftp(), ftp_dophase_done(), ftp_state_get_resp(), ftp_state_post_retr_size(), ftp_state_stor_resp(), and ftp_state_ul_setup().
| int Curl_single_getsock | ( | struct connectdata * | conn, | |
| curl_socket_t * | socks, | |||
| int | numsocks | |||
| ) |
Definition at line 1738 of file transfer.c.
References connectdata::data, GETSOCK_BLANK, GETSOCK_READSOCK, GETSOCK_WRITESOCK, index, HandleData::keep, KEEP_READ, KEEP_WRITE, Curl_transfer_keeper::keepon, SessionHandle::reqdata, connectdata::sockfd, and connectdata::writesockfd.
Referenced by multi_getsock().
1.5.6