From 901d35fe8067fa13a0ca902a02ae748a18ea553c Mon Sep 17 00:00:00 2001 From: Jim Jagielski Date: Mon, 9 May 2011 15:36:22 +0000 Subject: Start of ap_hooks.h setup git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1101066 13f79535-47bb-0310-9956-ffa450edef68 --- include/ap_config.h | 102 ++-------------------------------------------------- 1 file changed, 3 insertions(+), 99 deletions(-) (limited to 'include/ap_config.h') diff --git a/include/ap_config.h b/include/ap_config.h index 1eba92532c..0f67c3f07f 100644 --- a/include/ap_config.h +++ b/include/ap_config.h @@ -22,13 +22,11 @@ #ifndef AP_CONFIG_H #define AP_CONFIG_H -#include "apr.h" -#include "apr_hooks.h" -#include "apr_optional_hooks.h" +#include "ap_hooks.h" -/* Although this file doesn't declare any hooks, declare the hook group here */ +/* Although this file doesn't declare any hooks, declare the exports group here */ /** - * @defgroup hooks Apache Hooks + * @defgroup exports Apache exports * @ingroup APACHE_CORE */ @@ -135,100 +133,6 @@ #define AP_MODULE_DECLARE_DATA __declspec(dllexport) #endif -/** - * Declare a hook function - * @param ret The return type of the hook - * @param name The hook's name (as a literal) - * @param args The arguments the hook function takes, in brackets. - */ -#define AP_DECLARE_HOOK(ret,name,args) \ - APR_DECLARE_EXTERNAL_HOOK(ap,AP,ret,name,args) - -/** @internal */ -#define AP_IMPLEMENT_HOOK_BASE(name) \ - APR_IMPLEMENT_EXTERNAL_HOOK_BASE(ap,AP,name) - -/** - * Implement an Apache core hook that has no return code, and - * therefore runs all of the registered functions. The implementation - * is called ap_run_name. - * - * @param name The name of the hook - * @param args_decl The declaration of the arguments for the hook, for example - * "(int x,void *y)" - * @param args_use The arguments for the hook as used in a call, for example - * "(x,y)" - * @note If IMPLEMENTing a hook that is not linked into the Apache core, - * (e.g. within a dso) see APR_IMPLEMENT_EXTERNAL_HOOK_VOID. - */ -#define AP_IMPLEMENT_HOOK_VOID(name,args_decl,args_use) \ - APR_IMPLEMENT_EXTERNAL_HOOK_VOID(ap,AP,name,args_decl,args_use) - -/** - * Implement an Apache core hook that runs until one of the functions - * returns something other than ok or decline. That return value is - * then returned from the hook runner. If the hooks run to completion, - * then ok is returned. Note that if no hook runs it would probably be - * more correct to return decline, but this currently does not do - * so. The implementation is called ap_run_name. - * - * @param ret The return type of the hook (and the hook runner) - * @param name The name of the hook - * @param args_decl The declaration of the arguments for the hook, for example - * "(int x,void *y)" - * @param args_use The arguments for the hook as used in a call, for example - * "(x,y)" - * @param ok The "ok" return value - * @param decline The "decline" return value - * @return ok, decline or an error. - * @note If IMPLEMENTing a hook that is not linked into the Apache core, - * (e.g. within a dso) see APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL. - */ -#define AP_IMPLEMENT_HOOK_RUN_ALL(ret,name,args_decl,args_use,ok,decline) \ - APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(ap,AP,ret,name,args_decl, \ - args_use,ok,decline) - -/** - * Implement a hook that runs until a function returns something other than - * decline. If all functions return decline, the hook runner returns decline. - * The implementation is called ap_run_name. - * - * @param ret The return type of the hook (and the hook runner) - * @param name The name of the hook - * @param args_decl The declaration of the arguments for the hook, for example - * "(int x,void *y)" - * @param args_use The arguments for the hook as used in a call, for example - * "(x,y)" - * @param decline The "decline" return value - * @return decline or an error. - * @note If IMPLEMENTing a hook that is not linked into the Apache core - * (e.g. within a dso) see APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST. - */ -#define AP_IMPLEMENT_HOOK_RUN_FIRST(ret,name,args_decl,args_use,decline) \ - APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(ap,AP,ret,name,args_decl, \ - args_use,decline) - -/* Note that the other optional hook implementations are straightforward but - * have not yet been needed - */ - -/** - * Implement an optional hook. This is exactly the same as a standard hook - * implementation, except the hook is optional. - * @see AP_IMPLEMENT_HOOK_RUN_ALL - */ -#define AP_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(ret,name,args_decl,args_use,ok, \ - decline) \ - APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(ap,AP,ret,name,args_decl, \ - args_use,ok,decline) - -/** - * Hook an optional hook. Unlike static hooks, this uses a macro instead of a - * function. - */ -#define AP_OPTIONAL_HOOK(name,fn,pre,succ,order) \ - APR_OPTIONAL_HOOK(ap,name,fn,pre,succ,order) - #include "os.h" #if (!defined(WIN32) && !defined(NETWARE)) || defined(__MINGW32__) #include "ap_config_auto.h" -- cgit v1.2.1