summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2000-11-13 17:30:42 +0000
committerAndi Gutmans <andi@php.net>2000-11-13 17:30:42 +0000
commit4004ef6f25caca75d243e70e03418101f23fe2c1 (patch)
tree224da814408872b85fedbf3d928714b972084547
parent34b0b1fc11ad6376706c2777e662689b177edb44 (diff)
downloadphp-git-4004ef6f25caca75d243e70e03418101f23fe2c1.tar.gz
- Use typedef's for function pointers so that we can easily define arrays
- of these function pointers.
-rw-r--r--Zend/zend_extensions.h43
1 files changed, 30 insertions, 13 deletions
diff --git a/Zend/zend_extensions.h b/Zend/zend_extensions.h
index 8435c74202..261da6cc24 100644
--- a/Zend/zend_extensions.h
+++ b/Zend/zend_extensions.h
@@ -35,6 +35,23 @@ typedef struct _zend_extension_version_info {
typedef struct _zend_extension zend_extension;
+/* Typedef's for zend_extension function pointers */
+typedef int (*startup_func_t)(zend_extension *extension);
+typedef void (*shutdown_func_t)(zend_extension *extension);
+typedef void (*activate_func_t)();
+typedef void (*deactivate_func_t)();
+
+typedef void (*message_handler_func_t)(int message, void *arg);
+
+typedef void (*op_array_handler_func_t)(zend_op_array *op_array);
+
+typedef void (*statement_handler_func_t)(zend_op_array *op_array);
+typedef void (*fcall_begin_handler_func_t)(zend_op_array *op_array);
+typedef void (*fcall_end_handler_func_t)(zend_op_array *op_array);
+
+typedef void (*op_array_ctor_func_t)(zend_op_array *op_array);
+typedef void (*op_array_dtor_func_t)(zend_op_array *op_array);
+
struct _zend_extension {
char *name;
char *version;
@@ -42,23 +59,23 @@ struct _zend_extension {
char *URL;
char *copyright;
- int (*startup)(zend_extension *extension);
- void (*shutdown)(zend_extension *extension);
- void (*activate)();
- void (*deactivate)();
+ startup_func_t startup;
+ shutdown_func_t shutdown;
+ activate_func_t activate;
+ deactivate_func_t deactivate;
+
+ message_handler_func_t message_handler;
- void (*message_handler)(int message, void *arg);
+ op_array_handler_func_t op_array_handler;
- void (*op_array_handler)(zend_op_array *op_array);
-
- void (*statement_handler)(zend_op_array *op_array);
- void (*fcall_begin_handler)(zend_op_array *op_array);
- void (*fcall_end_handler)(zend_op_array *op_array);
+ statement_handler_func_t statement_handler;
+ fcall_begin_handler_func_t fcall_begin_handler;
+ fcall_end_handler_func_t fcall_end_handler;
- void (*op_array_ctor)(zend_op_array *op_array);
- void (*op_array_dtor)(zend_op_array *op_array);
+ op_array_ctor_func_t op_array_ctor;
+ op_array_dtor_func_t op_array_dtor;
- int (*api_no_check)(int api_no);
+ int (*api_no_check)(int api_no);
void *reserved2;
void *reserved3;
void *reserved4;