Apache Portable Runtime Utility Library
|
Modules | |
Hook probe capability | |
Optional Hook Functions | |
Macros | |
#define | APR_IMPLEMENT_HOOK_GET_PROTO(ns, link, name) link##_DECLARE(apr_array_header_t *) ns##_hook_get_##name(void) |
#define | APR_DECLARE_EXTERNAL_HOOK(ns, link, ret, name, args) |
#define | APR_HOOK_STRUCT(members) static struct { members } _hooks; |
#define | APR_HOOK_LINK(name) apr_array_header_t *link_##name; |
#define | APR_IMPLEMENT_EXTERNAL_HOOK_BASE(ns, link, name) |
#define | APR_IMPLEMENT_EXTERNAL_HOOK_VOID(ns, link, name, args_decl, args_use) |
#define | APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(ns, link, ret, name, args_decl, args_use, ok, decline) |
#define | APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(ns, link, ret, name, args_decl, args_use, decline) |
#define | APR_HOOK_REALLY_FIRST (-10) |
#define | APR_HOOK_FIRST 0 |
#define | APR_HOOK_MIDDLE 10 |
#define | APR_HOOK_LAST 20 |
#define | APR_HOOK_REALLY_LAST 30 |
Functions | |
void | apr_hook_sort_register (const char *szHookName, apr_array_header_t **aHooks) |
void | apr_hook_sort_all (void) |
void | apr_hook_debug_show (const char *szName, const char *const *aszPre, const char *const *aszSucc) |
void | apr_hook_deregister_all (void) |
Variables | |
apr_pool_t * | apr_hook_global_pool |
int | apr_hook_debug_enabled |
const char * | apr_hook_debug_current |
#define APR_DECLARE_EXTERNAL_HOOK | ( | ns, | |
link, | |||
ret, | |||
name, | |||
args | |||
) |
macro to declare the hook correctly
#define APR_HOOK_FIRST 0 |
run this hook first
#define APR_HOOK_LAST 20 |
run this hook after every other hook which is defined
#define APR_HOOK_LINK | ( | name | ) | apr_array_header_t *link_##name; |
macro to link the hook structure
#define APR_HOOK_MIDDLE 10 |
run this hook somewhere
#define APR_HOOK_REALLY_FIRST (-10) |
run this hook first, before ANYTHING
#define APR_HOOK_REALLY_LAST 30 |
run this hook last, after EVERYTHING
#define APR_HOOK_STRUCT | ( | members | ) | static struct { members } _hooks; |
macro to declare the hook structure
#define APR_IMPLEMENT_EXTERNAL_HOOK_BASE | ( | ns, | |
link, | |||
name | |||
) |
macro to implement the hook
#define APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL | ( | ns, | |
link, | |||
ret, | |||
name, | |||
args_decl, | |||
args_use, | |||
ok, | |||
decline | |||
) |
Implement a hook that runs until one of the functions returns something other than OK or DECLINE
ns | The namespace prefix of the hook functions |
link | The linkage declaration prefix of the hook |
ret | Type to return |
name | The name of the hook |
args_decl | The declaration of the arguments for the hook |
args_use | The names for the arguments for the hook |
ok | Success value |
decline | Decline value |
#define APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST | ( | ns, | |
link, | |||
ret, | |||
name, | |||
args_decl, | |||
args_use, | |||
decline | |||
) |
Implement a hook that runs until the first function returns something other than the value of decline
ns | The namespace prefix of the hook functions |
link | The linkage declaration prefix of the hook |
name | The name of the hook |
ret | Type to return |
args_decl | The declaration of the arguments for the hook |
args_use | The names for the arguments for the hook |
decline | Decline value |
#define APR_IMPLEMENT_EXTERNAL_HOOK_VOID | ( | ns, | |
link, | |||
name, | |||
args_decl, | |||
args_use | |||
) |
Implement a hook that has no return code, and therefore runs all of the registered functions
ns | The namespace prefix of the hook functions |
link | The linkage declaration prefix of the hook |
name | The name of the hook |
args_decl | The declaration of the arguments for the hook |
args_use | The names for the arguments for the hook |
#define APR_IMPLEMENT_HOOK_GET_PROTO | ( | ns, | |
link, | |||
name | |||
) | link##_DECLARE(apr_array_header_t *) ns##_hook_get_##name(void) |
macro to return the prototype of the hook function
void apr_hook_debug_show | ( | const char * | szName, |
const char *const * | aszPre, | ||
const char *const * | aszSucc | ||
) |
Print all of the information about the current hook. This is used for debugging purposes.
szName | The name of the hook |
aszPre | All of the functions in the predecessor array |
aszSucc | All of the functions in the successor array |
void apr_hook_deregister_all | ( | void | ) |
Remove all currently registered functions.
void apr_hook_sort_all | ( | void | ) |
Sort all of the registered functions for a given hook.
void apr_hook_sort_register | ( | const char * | szHookName, |
apr_array_header_t ** | aHooks | ||
) |
Register a hook function to be sorted.
szHookName | The name of the Hook the function is registered for |
aHooks | The array which stores all of the functions for this hook |
const char* apr_hook_debug_current |
The name of the module that is currently registering a function.
int apr_hook_debug_enabled |
A global variable to determine if debugging information about the hooks functions should be printed.
apr_pool_t* apr_hook_global_pool |
The global pool used to allocate any memory needed by the hooks.