Collaboration diagram for Hook Functions:
|
Modules | |
| Optional Hook Functions | |
Defines | |
| #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 | |
| APU_DECLARE (void) apr_hook_sort_register(const char *szHookName | |
| APU_DECLARE (void) | |
Variables | |
| APU_DECLARE_DATA apr_pool_t * | apr_hook_global_pool |
| APU_DECLARE_DATA apr_pool_t * | apr_global_hook_pool |
| APU_DECLARE_DATA int | apr_hook_debug_enabled |
| APU_DECLARE_DATA int | apr_debug_module_hooks |
| APU_DECLARE_DATA const char * | apr_hook_debug_current |
| APU_DECLARE_DATA const char * | apr_current_hooking_module |
| apr_array_header_t ** | aHooks |
| const char *const * | aszPre |
| const char *const const char *const * | aszSucc |
|
|
Value: typedef ret ns##_HOOK_##name##_t args; \ link##_DECLARE(void) ns##_hook_##name(ns##_HOOK_##name##_t *pf, \ const char * const *aszPre, \ const char * const *aszSucc, int nOrder); \ link##_DECLARE(ret) ns##_run_##name args; \ APR_IMPLEMENT_HOOK_GET_PROTO(ns,link,name); \ typedef struct ns##_LINK_##name##_t \ { \ ns##_HOOK_##name##_t *pFunc; \ const char *szName; \ const char * const *aszPredecessors; \ const char * const *aszSuccessors; \ int nOrder; \ } ns##_LINK_##name##_t; Definition at line 42 of file apr_hooks.h. |
|
|
run this hook first Definition at line 199 of file apr_hooks.h. Referenced by ap_proxy_http_register_hook(), register_hooks(), and ssl_register_hooks(). |
|
|
run this hook after every other hook which is defined Definition at line 203 of file apr_hooks.h. Referenced by register_hooks(). |
|
|
macro to link the hook structure Definition at line 63 of file apr_hooks.h. |
|
|
|
run this hook first, before ANYTHING Definition at line 197 of file apr_hooks.h. Referenced by beos_hooks(), leader_hooks(), perchild_hooks(), prefork_hooks(), register_hooks(), threadpool_hooks(), and worker_hooks(). |
|
|
run this hook last, after EVERYTHING Definition at line 205 of file apr_hooks.h. Referenced by charset_register_hooks(), and register_hooks(). |
|
|
macro to declare the hook structure Definition at line 59 of file apr_hooks.h. |
|
|
Value: link##_DECLARE(void) ns##_hook_##name(ns##_HOOK_##name##_t *pf,const char * const *aszPre, \ const char * const *aszSucc,int nOrder) \ { \ ns##_LINK_##name##_t *pHook; \ if(!_hooks.link_##name) \ { \ _hooks.link_##name=apr_array_make(apr_hook_global_pool,1,sizeof(ns##_LINK_##name##_t)); \ apr_hook_sort_register(#name,&_hooks.link_##name); \ } \ pHook=apr_array_push(_hooks.link_##name); \ pHook->pFunc=pf; \ pHook->aszPredecessors=aszPre; \ pHook->aszSuccessors=aszSucc; \ pHook->nOrder=nOrder; \ pHook->szName=apr_hook_debug_current; \ if(apr_hook_debug_enabled) \ apr_hook_debug_show(#name,aszPre,aszSucc); \ } \ APR_IMPLEMENT_HOOK_GET_PROTO(ns,link,name) \ { \ return _hooks.link_##name; \ } Definition at line 67 of file apr_hooks.h. |
|
|
Value: APR_IMPLEMENT_EXTERNAL_HOOK_BASE(ns,link,name) \ link##_DECLARE(ret) ns##_run_##name args_decl \ { \ ns##_LINK_##name##_t *pHook; \ int n; \ ret rv; \ \ if(!_hooks.link_##name) \ return ok; \ \ pHook=(ns##_LINK_##name##_t *)_hooks.link_##name->elts; \ for(n=0 ; n < _hooks.link_##name->nelts ; ++n) \ { \ rv=pHook[n].pFunc args_use; \ \ if(rv != ok && rv != decline) \ return rv; \ } \ return ok; \ }
Definition at line 136 of file apr_hooks.h. |
|
|
Value: APR_IMPLEMENT_EXTERNAL_HOOK_BASE(ns,link,name) \ link##_DECLARE(ret) ns##_run_##name args_decl \ { \ ns##_LINK_##name##_t *pHook; \ int n; \ ret rv; \ \ if(!_hooks.link_##name) \ return decline; \ \ pHook=(ns##_LINK_##name##_t *)_hooks.link_##name->elts; \ for(n=0 ; n < _hooks.link_##name->nelts ; ++n) \ { \ rv=pHook[n].pFunc args_use; \ \ if(rv != decline) \ return rv; \ } \ return decline; \ }
Definition at line 173 of file apr_hooks.h. |
|
|
Value: APR_IMPLEMENT_EXTERNAL_HOOK_BASE(ns,link,name) \ link##_DECLARE(void) ns##_run_##name args_decl \ { \ ns##_LINK_##name##_t *pHook; \ int n; \ \ if(!_hooks.link_##name) \ return; \ \ pHook=(ns##_LINK_##name##_t *)_hooks.link_##name->elts; \ for(n=0 ; n < _hooks.link_##name->nelts ; ++n) \ pHook[n].pFunc args_use; \ }
Definition at line 103 of file apr_hooks.h. |
|
|
macro to return the prototype of the hook function Definition at line 38 of file apr_hooks.h. |
|
|
Definition at line 206 of file apr_sha1.c. |
|
|
Register a hook function to be sorted
|
|
|
Definition at line 238 of file apr_hooks.h. |
|
|
Definition at line 47 of file apr_hooks.c. |
|
|
Definition at line 44 of file apr_hooks.c. |
|
|
Definition at line 41 of file apr_hooks.c. |
|
|
The name of the module that is currently registering a function Definition at line 38 of file apr_hooks.c. Referenced by AP_DECLARE(). |
|
|
A global variable to determine if debugging information about the hooks functions should be printed Definition at line 37 of file apr_hooks.c. Referenced by AP_DECLARE(), and sort_hook(). |
|
|
The global pool used to allocate any memory needed by the hooks. Definition at line 36 of file apr_hooks.c. Referenced by AP_DECLARE(), APU_DECLARE(), APU_DECLARE_NONSTD(), and sort_hook(). |
|
|
Definition at line 260 of file apr_hooks.h. Referenced by register_hook(), and register_hooks(). |
|
|
Definition at line 260 of file apr_hooks.h. Referenced by leader_hooks(), perchild_hooks(), prefork_hooks(), register_hooks(), threadpool_hooks(), and worker_hooks(). |