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
.