-typedef union php_http_request_datashare_handle {
- zend_llist *list;
-#ifdef ZTS
- php_http_request_datashare_lock_t *locks;
-#endif
-} php_http_request_datashare_handle_t;
+typedef php_http_request_datashare_t *(*php_http_request_datashare_init_func_t)(php_http_request_datashare_t *h, void *init_arg);
+typedef php_http_request_datashare_t *(*php_http_request_datashare_copy_func_t)(php_http_request_datashare_t *from, php_http_request_datashare_t *to);
+typedef void (*php_http_request_datashare_dtor_func_t)(php_http_request_datashare_t *h);
+typedef void (*php_http_request_datashare_reset_func_t)(php_http_request_datashare_t *h);
+typedef STATUS (*php_http_request_datashare_attach_func_t)(php_http_request_datashare_t *h, php_http_request_t *request);
+typedef STATUS (*php_http_request_datashare_detach_func_t)(php_http_request_datashare_t *h, php_http_request_t *request);
+typedef STATUS (*php_http_request_datashare_setopt_func_t)(php_http_request_datashare_t *h, php_http_request_datashare_setopt_opt_t opt, void *arg);
+
+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;