D:/opendownloadmanager/ODM-1.x/InetFile/cURL_lib/transfer.c File Reference

#include "setup.h"
#include <stdio.h>
#include <string.h>
#include <stdarg.h>
#include <stdlib.h>
#include <ctype.h>
#include <errno.h>
#include "strtoofft.h"
#include "strequal.h"
#include <signal.h>
#include "urldata.h"
#include <curl/curl.h>
#include "netrc.h"
#include "content_encoding.h"
#include "hostip.h"
#include "transfer.h"
#include "sendf.h"
#include "speedcheck.h"
#include "progress.h"
#include "http.h"
#include "url.h"
#include "getinfo.h"
#include "sslgen.h"
#include "http_digest.h"
#include "http_ntlm.h"
#include "http_negotiate.h"
#include "share.h"
#include "memory.h"
#include "select.h"
#include "multiif.h"
#include "easyif.h"
#include <curl/mprintf.h>
#include "memdebug.h"

Go to the source code of this file.

Defines

#define _MPRINTF_REPLACE
#define CURL_TIMEOUT_EXPECT_100   1000
#define MIN(a, b)   (a < b ? a : b)
#define HEADER1   k->p

Functions

CURLcode Curl_fillreadbuffer (struct connectdata *conn, int bytes, int *nreadp)
static bool checkhttpprefix (struct SessionHandle *data, const char *s)
CURLcode Curl_readrewind (struct connectdata *conn)
static int data_pending (struct connectdata *conn)
static void read_rewind (struct connectdata *conn, size_t thismuch)
CURLcode Curl_readwrite (struct connectdata *conn, bool *done)
CURLcode Curl_readwrite_init (struct connectdata *conn)
void Curl_pre_readwrite (struct connectdata *conn)
int Curl_single_getsock (struct connectdata *conn, curl_socket_t *sock, int numsocks)
static CURLcode Transfer (struct connectdata *conn)
CURLcode Curl_pretransfer (struct SessionHandle *data)
CURLcode Curl_posttransfer (struct SessionHandle *data)
static int strlen_url (char *url)
static void strcpy_url (char *output, char *url)
CURLcode Curl_follow (struct SessionHandle *data, char *newurl, bool retry)
static CURLcode Curl_connect_host (struct SessionHandle *data, struct connectdata **conn)
bool Curl_retry_request (struct connectdata *conn, char **url)
CURLcode Curl_perform (struct SessionHandle *data)
CURLcode Curl_setup_transfer (struct connectdata *c_conn, int sockindex, curl_off_t size, bool getheader, curl_off_t *bytecountp, int writesockindex, curl_off_t *writecountp)


Define Documentation

#define _MPRINTF_REPLACE

Definition at line 104 of file transfer.c.

#define CURL_TIMEOUT_EXPECT_100   1000

Definition at line 110 of file transfer.c.

Referenced by Curl_readwrite().

#define HEADER1   k->p

Referenced by Curl_readwrite().

#define MIN ( a,
b   )     (a < b ? a : b)

Definition at line 280 of file transfer.c.


Function Documentation

static bool checkhttpprefix ( struct SessionHandle data,
const char *  s 
) [static]

static CURLcode Curl_connect_host ( struct SessionHandle data,
struct connectdata **  conn 
) [static]

CURLcode Curl_fillreadbuffer ( struct connectdata conn,
int  bytes,
int *  nreadp 
)

CURLcode Curl_follow ( struct SessionHandle data,
char *  newurl,
bool  retry 
)

CURLcode Curl_perform ( struct SessionHandle data  ) 

CURLcode Curl_posttransfer ( struct SessionHandle data  ) 

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  ) 

CURLcode Curl_readrewind ( struct connectdata conn  ) 

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  ) 

bool Curl_retry_request ( struct connectdata conn,
char **  url 
)

CURLcode Curl_setup_transfer ( struct connectdata c_conn,
int  sockindex,
curl_off_t  size,
bool  getheader,
curl_off_t bytecountp,
int  writesockindex,
curl_off_t writecountp 
)

int Curl_single_getsock ( struct connectdata conn,
curl_socket_t sock,
int  numsocks 
)

static int data_pending ( struct connectdata conn  )  [static]

Definition at line 271 of file transfer.c.

References Curl_ssl_data_pending(), FIRSTSOCKET, PROT_SCP, PROT_SFTP, and connectdata::protocol.

Referenced by Curl_readwrite().

static void read_rewind ( struct connectdata conn,
size_t  thismuch 
) [static]

static void strcpy_url ( char *  output,
char *  url 
) [static]

Definition at line 1979 of file transfer.c.

References FALSE, and TRUE.

Referenced by Curl_follow().

static int strlen_url ( char *  url  )  [static]

Definition at line 1952 of file transfer.c.

References FALSE, and TRUE.

Referenced by Curl_follow().

static CURLcode Transfer ( struct connectdata conn  )  [static]


Generated on Sun May 25 00:20:10 2008 by  doxygen 1.5.6