Declaration of the Zend Module Block

You can see the internal definition of this module in דוגמה 32-2 .

דוגמה 32-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)

 
;

 
int

 
(*module_shutdown_func)(SHUTDOWN_FUNC_ARGS)

 
;

 
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)

 
;

 
[

 
Rest

 
of

 
the

 
structure

 
is

 
not

 
interesting

 
here

 
]

 
}

 
;






This is basically the easiest and most minimal set of values you could ever use. The module name is set to First Module , then the function list is referenced, after which all startup and shutdown functions are marked as being unused.

For reference purposes , you can find a list of the macros involved in declared startup and shutdown functions in טבלה 32-3 .

טבלה 32-3 .