+typedef struct php_http_request_datashare_ops {
+ php_http_resource_factory_ops_t *rsrc;
+ php_http_request_datashare_init_func_t init;
+ php_http_request_datashare_copy_func_t copy;
+ php_http_request_datashare_dtor_func_t dtor;
+ php_http_request_datashare_reset_func_t reset;
+ php_http_request_datashare_attach_func_t attach;
+ php_http_request_datashare_detach_func_t detach;
+ php_http_request_datashare_setopt_func_t setopt;
+} php_http_request_datashare_ops_t;
+
+#define PHP_HTTP_REQUEST_DATASHARE_REQUESTS(s) ((s)->persistent ? &PHP_HTTP_G->request_datashare.requests : (s)->requests)
+struct php_http_request_datashare {
+ void *ctx;
+ php_http_resource_factory_t *rf;
+ php_http_request_datashare_ops_t *ops;
+ zend_llist *requests; /* NULL if persistent, use PHP_HTTP_REQUEST_DATASHARE_REQUESTS */