diff options
author | Daniel Stenberg <daniel@haxx.se> | 2008-01-08 14:52:05 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2008-01-08 14:52:05 +0000 |
commit | de23b98522991dbc1f2c184216d9f73bead83895 (patch) | |
tree | a0fe7c7ee352274f5d1adbc299a806575142c2a6 /include | |
parent | 5e1c9e90d9a12033b1f1a4d09f2864580a662471 (diff) |
Introducing curl_easy_pause() and new magic return codes for both the read
and the write callbacks that now can make a connection's reading and/or
writing get paused.
Diffstat (limited to 'include')
-rw-r--r-- | include/curl/curl.h | 33 | ||||
-rw-r--r-- | include/curl/curlver.h | 10 |
2 files changed, 34 insertions, 9 deletions
diff --git a/include/curl/curl.h b/include/curl/curl.h index 189693137..b6dcc4a85 100644 --- a/include/curl/curl.h +++ b/include/curl/curl.h @@ -230,7 +230,9 @@ typedef int (*curl_progress_callback)(void *clientp, time for those who feel adventurous. */ #define CURL_MAX_WRITE_SIZE 16384 #endif - +/* This is a magic return code for the write callback that, when returned, + will signal libcurl to pause receving on the current transfer. */ +#define CURL_WRITEFUNC_PAUSE 0x10000001 typedef size_t (*curl_write_callback)(char *buffer, size_t size, size_t nitems, @@ -239,6 +241,9 @@ typedef size_t (*curl_write_callback)(char *buffer, /* This is a return code for the read callback that, when returned, will signal libcurl to immediately abort the current transfer. */ #define CURL_READFUNC_ABORT 0x10000000 +/* This is a return code for the read callback that, when returned, will + signal libcurl to pause sending data on the current transfer. */ +#define CURL_READFUNC_PAUSE 0x10000001 typedef size_t (*curl_read_callback)(char *buffer, size_t size, size_t nitems, @@ -257,7 +262,7 @@ struct curl_sockaddr { int family; int socktype; int protocol; - unsigned int addrlen; /* addrlen was a socklen_t type before 7.17.2 but it + unsigned int addrlen; /* addrlen was a socklen_t type before 7.18.0 but it turned really ugly and painful on the systems that lack this type */ struct sockaddr addr; @@ -499,10 +504,10 @@ typedef enum { CURLPROXY_SOCKS4 = 4, /* support added in 7.15.2, enum existed already in 7.10 */ CURLPROXY_SOCKS5 = 5, /* added in 7.10 */ - CURLPROXY_SOCKS4A = 6, /* added in 7.17.2 */ + CURLPROXY_SOCKS4A = 6, /* added in 7.18.0 */ CURLPROXY_SOCKS5_HOSTNAME = 7 /* Use the SOCKS5 protocol but pass along the host name rather than the IP address. added - in 7.17.2 */ + in 7.18.0 */ } curl_proxytype; /* this enum was added in 7.10 */ #define CURLAUTH_NONE 0 /* nothing */ @@ -1749,6 +1754,26 @@ CURL_EXTERN const char *curl_easy_strerror(CURLcode); */ CURL_EXTERN const char *curl_share_strerror(CURLSHcode); +/* + * NAME curl_easy_pause() + * + * DESCRIPTION + * + * The curl_easy_pause function pauses or unpauses transfers. Select the new + * state by setting the bitmask, use the convenience defines below. + * + */ +CURL_EXTERN CURLcode curl_easy_pause(CURL *handle, int bitmask); + +#define CURLPAUSE_RECV (1<<0) +#define CURLPAUSE_RECV_CONT (0) + +#define CURLPAUSE_SEND (1<<2) +#define CURLPAUSE_SEND_CONT (0) + +#define CURLPAUSE_ALL (CURLPAUSE_RECV|CURLPAUSE_SEND) +#define CURLPAUSE_CONT (CURLPAUSE_RECV_CONT|CURLPAUSE_SEND_CONT) + #ifdef __cplusplus } #endif diff --git a/include/curl/curlver.h b/include/curl/curlver.h index ec67f4cbc..e201fd6fa 100644 --- a/include/curl/curlver.h +++ b/include/curl/curlver.h @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -28,13 +28,13 @@ /* This is the version number of the libcurl package from which this header file origins: */ -#define LIBCURL_VERSION "7.17.2-CVS" +#define LIBCURL_VERSION "7.18.0-CVS" /* The numeric version number is also available "in parts" by using these defines: */ #define LIBCURL_VERSION_MAJOR 7 -#define LIBCURL_VERSION_MINOR 17 -#define LIBCURL_VERSION_PATCH 2 +#define LIBCURL_VERSION_MINOR 18 +#define LIBCURL_VERSION_PATCH 0 /* This is the numeric version of the libcurl version number, meant for easier parsing and comparions by programs. The LIBCURL_VERSION_NUM define will @@ -51,7 +51,7 @@ and it is always a greater number in a more recent release. It makes comparisons with greater than and less than work. */ -#define LIBCURL_VERSION_NUM 0x071102 +#define LIBCURL_VERSION_NUM 0x071200 /* * This is the date and time when the full source package was created. The |