X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=php_http_request_api.h;h=3a4467876e34a4f3a44c67f3741829eea35aeaa7;hb=724e5fabfb5ed0ff62c37a857c403db89eb5fb5e;hp=df335bf28ff8aa624d4fe89c494049f26c856ea9;hpb=b30c267318b2b1add1a01e783f9dbe561a649a7b;p=m6w6%2Fext-http diff --git a/php_http_request_api.h b/php_http_request_api.h index df335bf..3a44678 100644 --- a/php_http_request_api.h +++ b/php_http_request_api.h @@ -69,7 +69,6 @@ typedef enum { #define HTTP_REQUEST_BODY_CSTRING 1 #define HTTP_REQUEST_BODY_CURLPOST 2 #define HTTP_REQUEST_BODY_UPLOADFILE 3 -#define HTTP_REQUEST_BODY_UPLOADDATA 4 typedef struct { int type; void *data; @@ -83,14 +82,25 @@ typedef struct { int unfinished; } http_request_pool; -#define COPY_STRING 1 -#define COPY_SLIST 2 +typedef struct { + void ***tsrm_ctx; + void *data; +} http_curl_callback_ctx; + +#define COPY_STRING 1 +#define COPY_SLIST 2 +#define COPY_CONTEXT 3 #define http_request_data_copy(type, data) _http_request_data_copy((type), (data) TSRMLS_CC) extern void *_http_request_data_copy(int type, void *data TSRMLS_DC); #define http_request_data_free_string _http_request_data_free_string extern void _http_request_data_free_string(void *string); #define http_request_data_free_slist _http_request_data_free_slist extern void _http_request_data_free_slist(void *list); +#define http_request_data_free_context _http_request_data_free_context +extern void _http_request_data_free_context(void *context); + +#define http_request_pool_responsehandler _http_request_pool_responsehandler +extern void _http_request_pool_responsehandler(zval **req TSRMLS_DC); #define http_request_global_init _http_request_global_init extern STATUS _http_request_global_init(void); @@ -128,9 +138,21 @@ PHP_HTTP_API STATUS _http_request_pool_attach(http_request_pool *pool, zval *req #define http_request_pool_detach(p, r) _http_request_pool_detach((p), (r) TSRMLS_CC) PHP_HTTP_API STATUS _http_request_pool_detach(http_request_pool *pool, zval *request TSRMLS_DC); +#define http_request_pool_detach_all(p) _http_request_pool_detach_all((p) TSRMLS_CC) +PHP_HTTP_API void _http_request_pool_detach_all(http_request_pool *pool TSRMLS_DC); + #define http_request_pool_send(p) _http_request_pool_send((p) TSRMLS_CC) PHP_HTTP_API STATUS _http_request_pool_send(http_request_pool *pool TSRMLS_DC); +#define http_request_pool_select _http_request_pool_select +PHP_HTTP_API STATUS _http_request_pool_select(http_request_pool *pool); + +#define http_request_pool_perform _http_request_pool_perform +PHP_HTTP_API int _http_request_pool_perform(http_request_pool *pool); + +#define http_request_pool_dtor(p) _http_request_pool_dtor((p) TSRMLS_CC) +PHP_HTTP_API void _http_request_pool_dtor(http_request_pool *pool TSRMLS_DC); + #define http_request_init(ch, meth, url, body, options, response) _http_request_init((ch), (meth), (url), (body), (options), (response) TSRMLS_CC) PHP_HTTP_API STATUS _http_request_init(CURL *ch, http_request_method meth, const char *url, http_request_body *body, HashTable *options, phpstr *response TSRMLS_DC);