diff options
author | Sebastian Bergmann <sebastian@php.net> | 2001-10-12 18:40:30 +0000 |
---|---|---|
committer | Sebastian Bergmann <sebastian@php.net> | 2001-10-12 18:40:30 +0000 |
commit | 01850714eedb9def968de5022c3767ec4fc07b0b (patch) | |
tree | e1f7ad90c6638408fa70ff3e774e806a6e22b733 | |
parent | ce6dde342b9c7dbfa8d2c52dfdc302178e4e888d (diff) | |
download | php-git-01850714eedb9def968de5022c3767ec4fc07b0b.tar.gz |
MFZE1: Introduced extension version numbers (Stig)
-rw-r--r-- | Zend/zend_API.c | 11 | ||||
-rw-r--r-- | Zend/zend_API.h | 1 | ||||
-rw-r--r-- | Zend/zend_modules.h | 14 |
3 files changed, 22 insertions, 4 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c index c570aafa35..ec322a4300 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -1384,3 +1384,14 @@ zend_bool zend_is_callable(zval *callable, zend_bool syntax_only, char **callabl return retval; } + +ZEND_API char *zend_get_module_version(char *module_name) +{ + zend_module_entry *module; + + if (zend_hash_find(&module_registry, module_name, strlen(module_name) + 1, + (void**)&module) == FAILURE) { + return NULL; + } + return module->version; +} diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 86f735d167..3da2b158e5 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -137,6 +137,7 @@ ZEND_API int zend_disable_function(char *function_name, uint function_name_lengt ZEND_API void zend_wrong_param_count(TSRMLS_D); ZEND_API zend_bool zend_is_callable(zval *callable, zend_bool syntax_only, char **callable_name); +ZEND_API char *zend_get_module_version(char *module_name); #define getThis() (this_ptr) diff --git a/Zend/zend_modules.h b/Zend/zend_modules.h index fc683b4dd9..035390e6a5 100644 --- a/Zend/zend_modules.h +++ b/Zend/zend_modules.h @@ -43,17 +43,25 @@ ZEND_API extern unsigned char third_arg_force_ref[]; #define USING_ZTS 0 #endif -#define STANDARD_MODULE_PROPERTIES_EX 0, 0, 0, NULL, 0, ZEND_DEBUG, USING_ZTS, ZEND_MODULE_API_NO +#define STANDARD_MODULE_HEADER sizeof(zend_module_entry), ZEND_MODULE_API_NO, ZEND_DEBUG, USING_ZTS + +#define STANDARD_MODULE_PROPERTIES_EX 0, 0, 0, NULL, 0 #define STANDARD_MODULE_PROPERTIES \ NULL, NULL, STANDARD_MODULE_PROPERTIES_EX +#define NO_VERSION_YET NULL + #define MODULE_PERSISTENT 1 #define MODULE_TEMPORARY 2 typedef struct _zend_module_entry zend_module_entry; struct _zend_module_entry { + unsigned short size; + unsigned int zend_api; + unsigned char zend_debug; + unsigned char zts; char *name; zend_function_entry *functions; int (*module_startup_func)(INIT_FUNC_ARGS); @@ -61,6 +69,7 @@ struct _zend_module_entry { int (*request_startup_func)(INIT_FUNC_ARGS); int (*request_shutdown_func)(SHUTDOWN_FUNC_ARGS); void (*info_func)(ZEND_MODULE_INFO_FUNC_ARGS); + char *version; int (*global_startup_func)(void); int (*global_shutdown_func)(void); int globals_id; @@ -68,9 +77,6 @@ struct _zend_module_entry { unsigned char type; void *handle; int module_number; - unsigned char zend_debug; - unsigned char zts; - unsigned int zend_api; }; |