]> granicus.if.org Git - php/commitdiff
MFZE1: Introduced extension version numbers (Stig)
authorSebastian Bergmann <sebastian@php.net>
Fri, 12 Oct 2001 18:40:30 +0000 (18:40 +0000)
committerSebastian Bergmann <sebastian@php.net>
Fri, 12 Oct 2001 18:40:30 +0000 (18:40 +0000)
Zend/zend_API.c
Zend/zend_API.h
Zend/zend_modules.h

index c570aafa350f84fc8ed1cfaac51731ad5b748f10..ec322a4300d3fbefcac46ab6c8afb59285e71358 100644 (file)
@@ -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;
+}
index 86f735d167dd69cb096d68ec36f5844d1f03fa97..3da2b158e5385d8bdb0fee59ddf93a9311a92a53 100644 (file)
@@ -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)
 
index fc683b4dd9de5ccbcacb791e8071e8d4ab89d35a..035390e6a550106dfcb267840dc6db10770d578a 100644 (file)
@@ -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;
 };