Back to index

php5  5.3.10
Classes | Defines | Typedefs | Functions | Variables
zend_modules.h File Reference
#include "zend.h"
#include "zend_compile.h"
#include "zend_build.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _zend_module_entry
struct  _zend_module_dep

Defines

#define INIT_FUNC_ARGS   int type, int module_number TSRMLS_DC
#define INIT_FUNC_ARGS_PASSTHRU   type, module_number TSRMLS_CC
#define SHUTDOWN_FUNC_ARGS   int type, int module_number TSRMLS_DC
#define SHUTDOWN_FUNC_ARGS_PASSTHRU   type, module_number TSRMLS_CC
#define ZEND_MODULE_INFO_FUNC_ARGS   zend_module_entry *zend_module TSRMLS_DC
#define ZEND_MODULE_INFO_FUNC_ARGS_PASSTHRU   zend_module TSRMLS_CC
#define ZEND_MODULE_API_NO   20090626
#define USING_ZTS   0
#define STANDARD_MODULE_HEADER_EX   sizeof(zend_module_entry), ZEND_MODULE_API_NO, ZEND_DEBUG, USING_ZTS
#define STANDARD_MODULE_HEADER   STANDARD_MODULE_HEADER_EX, NULL, NULL
#define ZE2_STANDARD_MODULE_HEADER   STANDARD_MODULE_HEADER_EX, ini_entries, NULL
#define ZEND_MODULE_BUILD_ID   "API" ZEND_TOSTR(ZEND_MODULE_API_NO) ZEND_BUILD_TS ZEND_BUILD_DEBUG ZEND_BUILD_SYSTEM ZEND_BUILD_EXTRA
#define STANDARD_MODULE_PROPERTIES_EX   0, 0, NULL, 0, ZEND_MODULE_BUILD_ID
#define NO_MODULE_GLOBALS   0, NULL, NULL, NULL
#define ZEND_MODULE_GLOBALS(module_name)   sizeof(zend_##module_name##_globals), &module_name##_globals
#define STANDARD_MODULE_PROPERTIES   NO_MODULE_GLOBALS, NULL, STANDARD_MODULE_PROPERTIES_EX
#define NO_VERSION_YET   NULL
#define MODULE_PERSISTENT   1
#define MODULE_TEMPORARY   2
#define MODULE_DEP_REQUIRED   1
#define MODULE_DEP_CONFLICTS   2
#define MODULE_DEP_OPTIONAL   3
#define ZEND_MOD_REQUIRED_EX(name, rel, ver)   { name, rel, ver, MODULE_DEP_REQUIRED },
#define ZEND_MOD_CONFLICTS_EX(name, rel, ver)   { name, rel, ver, MODULE_DEP_CONFLICTS },
#define ZEND_MOD_OPTIONAL_EX(name, rel, ver)   { name, rel, ver, MODULE_DEP_OPTIONAL },
#define ZEND_MOD_REQUIRED(name)   ZEND_MOD_REQUIRED_EX(name, NULL, NULL)
#define ZEND_MOD_CONFLICTS(name)   ZEND_MOD_CONFLICTS_EX(name, NULL, NULL)
#define ZEND_MOD_OPTIONAL(name)   ZEND_MOD_OPTIONAL_EX(name, NULL, NULL)
#define ZEND_MOD_END   { NULL, NULL, NULL, 0 }
#define ZEND_MODULE_DTOR   (void (*)(void *)) module_destructor

Typedefs

typedef struct _zend_module_entry
typedef struct _zend_module_dep

Functions

void module_destructor (zend_module_entry *module)
int module_registry_cleanup (zend_module_entry *module TSRMLS_DC)
int module_registry_request_startup (zend_module_entry *module TSRMLS_DC)
int module_registry_unload_temp (const zend_module_entry *module TSRMLS_DC)

Variables

ZEND_API HashTable module_registry

Class Documentation

struct _zend_module_dep

Definition at line 118 of file zend_modules.h.

Class Members
const char * name
const char * rel
unsigned char type
const char * version

Define Documentation

#define INIT_FUNC_ARGS   int type, int module_number TSRMLS_DC

Definition at line 29 of file zend_modules.h.

#define INIT_FUNC_ARGS_PASSTHRU   type, module_number TSRMLS_CC

Definition at line 30 of file zend_modules.h.

#define MODULE_DEP_CONFLICTS   2

Definition at line 105 of file zend_modules.h.

#define MODULE_DEP_OPTIONAL   3

Definition at line 106 of file zend_modules.h.

#define MODULE_DEP_REQUIRED   1

Definition at line 104 of file zend_modules.h.

#define MODULE_PERSISTENT   1

Definition at line 66 of file zend_modules.h.

#define MODULE_TEMPORARY   2

Definition at line 67 of file zend_modules.h.

#define NO_MODULE_GLOBALS   0, NULL, NULL, NULL

Definition at line 53 of file zend_modules.h.

#define NO_VERSION_YET   NULL

Definition at line 64 of file zend_modules.h.

#define SHUTDOWN_FUNC_ARGS   int type, int module_number TSRMLS_DC

Definition at line 31 of file zend_modules.h.

#define SHUTDOWN_FUNC_ARGS_PASSTHRU   type, module_number TSRMLS_CC

Definition at line 32 of file zend_modules.h.

Definition at line 44 of file zend_modules.h.

#define STANDARD_MODULE_HEADER_EX   sizeof(zend_module_entry), ZEND_MODULE_API_NO, ZEND_DEBUG, USING_ZTS

Definition at line 43 of file zend_modules.h.

Definition at line 61 of file zend_modules.h.

Definition at line 51 of file zend_modules.h.

#define USING_ZTS   0

Definition at line 40 of file zend_modules.h.

Definition at line 46 of file zend_modules.h.

#define ZEND_MOD_CONFLICTS (   name)    ZEND_MOD_CONFLICTS_EX(name, NULL, NULL)

Definition at line 113 of file zend_modules.h.

#define ZEND_MOD_CONFLICTS_EX (   name,
  rel,
  ver 
)    { name, rel, ver, MODULE_DEP_CONFLICTS },

Definition at line 109 of file zend_modules.h.

#define ZEND_MOD_END   { NULL, NULL, NULL, 0 }

Definition at line 116 of file zend_modules.h.

#define ZEND_MOD_OPTIONAL (   name)    ZEND_MOD_OPTIONAL_EX(name, NULL, NULL)

Definition at line 114 of file zend_modules.h.

#define ZEND_MOD_OPTIONAL_EX (   name,
  rel,
  ver 
)    { name, rel, ver, MODULE_DEP_OPTIONAL },

Definition at line 110 of file zend_modules.h.

#define ZEND_MOD_REQUIRED (   name)    ZEND_MOD_REQUIRED_EX(name, NULL, NULL)

Definition at line 112 of file zend_modules.h.

#define ZEND_MOD_REQUIRED_EX (   name,
  rel,
  ver 
)    { name, rel, ver, MODULE_DEP_REQUIRED },

Definition at line 108 of file zend_modules.h.

#define ZEND_MODULE_API_NO   20090626

Definition at line 36 of file zend_modules.h.

Definition at line 49 of file zend_modules.h.

#define ZEND_MODULE_DTOR   (void (*)(void *)) module_destructor

Definition at line 132 of file zend_modules.h.

#define ZEND_MODULE_GLOBALS (   module_name)    sizeof(zend_##module_name##_globals), &module_name##_globals

Definition at line 58 of file zend_modules.h.

#define ZEND_MODULE_INFO_FUNC_ARGS   zend_module_entry *zend_module TSRMLS_DC

Definition at line 33 of file zend_modules.h.

Definition at line 34 of file zend_modules.h.


Typedef Documentation

typedef struct _zend_module_dep

Definition at line 71 of file zend_modules.h.

typedef struct _zend_module_entry

Definition at line 70 of file zend_modules.h.


Function Documentation

void module_destructor ( zend_module_entry *  module)

Definition at line 2102 of file zend_API.c.

{
       TSRMLS_FETCH();

       if (module->type == MODULE_TEMPORARY) {
              zend_clean_module_rsrc_dtors(module->module_number TSRMLS_CC);
              clean_module_constants(module->module_number TSRMLS_CC);
              clean_module_classes(module->module_number TSRMLS_CC);
       }

       if (module->module_started && module->module_shutdown_func) {
#if 0
              zend_printf("%s: Module shutdown\n", module->name);
#endif
              module->module_shutdown_func(module->type, module->module_number TSRMLS_CC);
       }

       /* Deinitilaise module globals */
       if (module->globals_size) {
#ifdef ZTS
              ts_free_id(*module->globals_id_ptr);
#else
              if (module->globals_dtor) {
                     module->globals_dtor(module->globals_ptr TSRMLS_CC);
              }
#endif
       }

       module->module_started=0;
       if (module->functions) {
              zend_unregister_functions(module->functions, -1, NULL TSRMLS_CC);
       }

#if HAVE_LIBDL
#if !(defined(NETWARE) && defined(APACHE_1_BUILD))
       if (module->handle) {
              DL_UNLOAD(module->handle);
       }
#endif
#endif
}

Here is the call graph for this function:

int module_registry_cleanup ( zend_module_entry *module  TSRMLS_DC)

Definition at line 2162 of file zend_API.c.

{
       if (module->request_shutdown_func) {
#if 0
              zend_printf("%s: Request shutdown\n", module->name);
#endif
              module->request_shutdown_func(module->type, module->module_number TSRMLS_CC);
       }
       return 0;
}

Here is the caller graph for this function:

int module_registry_request_startup ( zend_module_entry *module  TSRMLS_DC)

Definition at line 2146 of file zend_API.c.

{
       if (module->request_startup_func) {
#if 0
              zend_printf("%s: Request startup\n", module->name);
#endif
              if (module->request_startup_func(module->type, module->module_number TSRMLS_CC)==FAILURE) {
                     zend_error(E_WARNING, "request_startup() for %s module failed", module->name);
                     exit(1);
              }
       }
       return 0;
}

Here is the call graph for this function:

Here is the caller graph for this function:

int module_registry_unload_temp ( const zend_module_entry *module  TSRMLS_DC)

Definition at line 2174 of file zend_API.c.

Here is the caller graph for this function:


Variable Documentation

Definition at line 37 of file zend_API.c.