summaryrefslogtreecommitdiff
path: root/ext/curl/php_curl.h
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-09-07 11:12:41 +0200
committerNikita Popov <nikita.ppv@gmail.com>2020-09-07 11:12:41 +0200
commit85b5dc4711f6ce8b979ed60e3b60cf93225be32a (patch)
treed1472d494a4c61677a46d8f192ade81a2ba60eb9 /ext/curl/php_curl.h
parentd1ac7e3ab1bf3cf639ddbd63ed3824e8bb9fc32f (diff)
downloadphp-git-85b5dc4711f6ce8b979ed60e3b60cf93225be32a.tar.gz
Private/public split curl header
To allow exporting the php_curl.h header containing curl class entries, split off a separate curl_private.h header with all the implementation details. We may move or expose additional APIs in php_curl.h on an as-needed basis.
Diffstat (limited to 'ext/curl/php_curl.h')
-rw-r--r--ext/curl/php_curl.h139
1 files changed, 1 insertions, 138 deletions
diff --git a/ext/curl/php_curl.h b/ext/curl/php_curl.h
index 2a195b082b..ebb56278aa 100644
--- a/ext/curl/php_curl.h
+++ b/ext/curl/php_curl.h
@@ -19,9 +19,6 @@
#define _PHP_CURL_H
#include "php.h"
-#include "zend_smart_str.h"
-
-#define PHP_CURL_DEBUG 0
#ifdef PHP_WIN32
# define PHP_CURL_API __declspec(dllexport)
@@ -31,146 +28,12 @@
# define PHP_CURL_API
#endif
-#include "php_version.h"
-#define PHP_CURL_VERSION PHP_VERSION
-
-#include <curl/curl.h>
-#include <curl/multi.h>
-
extern zend_module_entry curl_module_entry;
#define phpext_curl_ptr &curl_module_entry
-#define CURLOPT_RETURNTRANSFER 19913
-#define CURLOPT_BINARYTRANSFER 19914 /* For Backward compatibility */
-#define PHP_CURL_STDOUT 0
-#define PHP_CURL_FILE 1
-#define PHP_CURL_USER 2
-#define PHP_CURL_DIRECT 3
-#define PHP_CURL_RETURN 4
-#define PHP_CURL_IGNORE 7
-
-#define SAVE_CURL_ERROR(__handle, __err) \
- do { (__handle)->err.no = (int) __err; } while (0)
-
-PHP_MINIT_FUNCTION(curl);
-PHP_MSHUTDOWN_FUNCTION(curl);
-PHP_MINFO_FUNCTION(curl);
-
-typedef struct {
- zval func_name;
- zend_fcall_info_cache fci_cache;
- FILE *fp;
- smart_str buf;
- int method;
- zval stream;
-} php_curl_write;
-
-typedef struct {
- zval func_name;
- zend_fcall_info_cache fci_cache;
- FILE *fp;
- zend_resource *res;
- int method;
- zval stream;
-} php_curl_read;
-
-typedef struct {
- zval func_name;
- zend_fcall_info_cache fci_cache;
- int method;
-} php_curl_progress, php_curl_fnmatch, php_curlm_server_push;
-
-typedef struct {
- php_curl_write *write;
- php_curl_write *write_header;
- php_curl_read *read;
- zval std_err;
- php_curl_progress *progress;
-#if LIBCURL_VERSION_NUM >= 0x071500 /* Available since 7.21.0 */
- php_curl_fnmatch *fnmatch;
-#endif
-} php_curl_handlers;
-
-struct _php_curl_error {
- char str[CURL_ERROR_SIZE + 1];
- int no;
-};
-
-struct _php_curl_send_headers {
- zend_string *str;
-};
-
-struct _php_curl_free {
- zend_llist str;
- zend_llist post;
- zend_llist stream;
- HashTable *slist;
-};
-
-typedef struct {
- CURL *cp;
- php_curl_handlers *handlers;
- struct _php_curl_free *to_free;
- struct _php_curl_send_headers header;
- struct _php_curl_error err;
- zend_bool in_callback;
- uint32_t* clone;
- zval postfields;
- zend_object std;
-} php_curl;
-
-#define CURLOPT_SAFE_UPLOAD -1
-
-typedef struct {
- php_curlm_server_push *server_push;
-} php_curlm_handlers;
-
-typedef struct {
- int still_running;
- CURLM *multi;
- zend_llist easyh;
- php_curlm_handlers *handlers;
- struct {
- int no;
- } err;
- zend_object std;
-} php_curlm;
-
-typedef struct {
- CURLSH *share;
- struct {
- int no;
- } err;
- zend_object std;
-} php_curlsh;
-
-php_curl *init_curl_handle_into_zval(zval *curl);
-void init_curl_handle(php_curl *ch);
-void _php_curl_cleanup_handle(php_curl *);
-void _php_curl_multi_cleanup_list(void *data);
-void _php_curl_verify_handlers(php_curl *ch, int reporterror);
-void _php_setup_easy_copy_handlers(php_curl *ch, php_curl *source);
-
-static inline php_curl *curl_from_obj(zend_object *obj) {
- return (php_curl *)((char *)(obj) - XtOffsetOf(php_curl, std));
-}
-
-#define Z_CURL_P(zv) curl_from_obj(Z_OBJ_P(zv))
-
-static inline php_curlsh *curl_share_from_obj(zend_object *obj) {
- return (php_curlsh *)((char *)(obj) - XtOffsetOf(php_curlsh, std));
-}
-
-#define Z_CURL_SHARE_P(zv) curl_share_from_obj(Z_OBJ_P(zv))
-
PHP_CURL_API extern zend_class_entry *curl_ce;
PHP_CURL_API extern zend_class_entry *curl_share_ce;
-
-void curl_multi_register_class(const zend_function_entry *method_entries);
-void curl_share_register_class(const zend_function_entry *method_entries);
-void curlfile_register_class(void);
-int curl_cast_object(zend_object *obj, zval *result, int type);
-
+PHP_CURL_API extern zend_class_entry *curl_multi_ce;
PHP_CURL_API extern zend_class_entry *curl_CURLFile_class;
#endif /* _PHP_CURL_H */