summaryrefslogtreecommitdiff
path: root/Zend/zend.h
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend.h')
-rw-r--r--Zend/zend.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/Zend/zend.h b/Zend/zend.h
index c55e3a3b83..619ac2a050 100644
--- a/Zend/zend.h
+++ b/Zend/zend.h
@@ -177,11 +177,19 @@ typedef struct _zend_object {
typedef unsigned int zend_object_handle;
+typedef struct _zend_object_handlers zend_object_handlers;
+
+typedef struct _zend_object_value {
+ zend_object_handle handle;
+ zend_object_handlers *handlers;
+} zend_object_value;
+
typedef zend_object *(*get_address_t)(zend_object_handle handle); /* Don't return zval ** so that we can't change it */
typedef zval **(*get_property_address_t)(zend_object_handle handle, zval *offset, int type);
typedef void (*add_ref_t)(zend_object_handle handle);
typedef void (*del_ref_t)(zend_object_handle handle);
typedef void (*delete_obj_t)(zend_object_handle handle);
+typedef zend_object_value (*clone_obj_t)(zend_object_handle handle);
typedef struct _zend_object_handlers {
get_address_t get_address;
@@ -189,13 +197,9 @@ typedef struct _zend_object_handlers {
add_ref_t add_ref;
del_ref_t del_ref;
delete_obj_t delete_obj;
+ clone_obj_t clone_obj;
} zend_object_handlers;
-typedef struct _zend_object_value {
- zend_object_handle handle;
- zend_object_handlers handlers;
-} zend_object_value;
-
#include "zend_objects.h"
typedef union _zvalue_value {