X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_request_api.h;h=9a24b3c7ebf0e795fa1d82939be2fdf279ecd5cc;hp=202bb0b9d8f5e91f9fe144106193bf0bcd1480fb;hb=2be22e84d69e07de423521f20965363a706636ac;hpb=61f165688d2cc39424678829a145c8cbab51d1af diff --git a/php_http_request_api.h b/php_http_request_api.h index 202bb0b..9a24b3c 100644 --- a/php_http_request_api.h +++ b/php_http_request_api.h @@ -17,6 +17,11 @@ #ifndef PHP_HTTP_REQUEST_API_H #define PHP_HTTP_REQUEST_API_H + +#define http_request_supports_ssl() _http_request_supports_ssl() +extern zend_bool _http_request_supports_ssl(void); + + #ifdef HTTP_HAVE_CURL #include "php_http_std_defs.h" @@ -27,9 +32,11 @@ #ifdef PHP_WIN32 # include #endif - #include +extern PHP_MINIT_FUNCTION(http_request); +extern PHP_MSHUTDOWN_FUNCTION(http_request); + #define HTTP_REQUEST_BODY_CSTRING 1 #define HTTP_REQUEST_BODY_CURLPOST 2 #define HTTP_REQUEST_BODY_UPLOADFILE 3 @@ -42,13 +49,23 @@ typedef struct { typedef struct { void ***tsrm_ctx; void *data; -} http_curl_callback_ctx; +} http_request_callback_ctx; typedef struct { phpstr *response; phpstr *request; curl_infotype last_info; -} http_curl_conv; +} http_request_conv; + +#define HTTP_REQUEST_CALLBACK_DATA(from, type, var) \ + http_request_callback_ctx *__CTX = (http_request_callback_ctx *) (from); \ + TSRMLS_FETCH_FROM_CTX(__CTX->tsrm_ctx); \ + type (var) = (type) (__CTX->data) + +#define http_request_callback_data(data) _http_request_callback_data_ex((data), 1 TSRMLS_CC) +#define http_request_callback_data_ex(data, copy) _http_request_callback_data_ex((data), (copy) TSRMLS_CC) +extern http_request_callback_ctx *_http_request_callback_data_ex(void *data, zend_bool cpy TSRMLS_DC); + #define COPY_STRING 1 #define COPY_SLIST 2