Apache HTTPD
ap_hooks.h
Go to the documentation of this file.
1/* Licensed to the Apache Software Foundation (ASF) under one or more
2 * contributor license agreements. See the NOTICE file distributed with
3 * this work for additional information regarding copyright ownership.
4 * The ASF licenses this file to You under the Apache License, Version 2.0
5 * (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
22#ifndef AP_HOOKS_H
23#define AP_HOOKS_H
24
25/* Although this file doesn't declare any hooks, declare the hook group here */
31#if defined(AP_HOOK_PROBES_ENABLED) && !defined(APR_HOOK_PROBES_ENABLED)
32#define APR_HOOK_PROBES_ENABLED 1
33#endif
34
35#ifdef APR_HOOK_PROBES_ENABLED
36#include "ap_hook_probes.h"
37#endif
38
39#include "apr.h"
40#include "apr_hooks.h"
41#include "apr_optional_hooks.h"
42
43#ifdef DOXYGEN
44/* define these just so doxygen documents them */
45
57# define AP_DECLARE_STATIC
64# define AP_DECLARE_EXPORT
65
66#endif /* def DOXYGEN */
67
74#define AP_DECLARE_HOOK(ret,name,args) \
75 APR_DECLARE_EXTERNAL_HOOK(ap,AP,ret,name,args)
76
78#define AP_IMPLEMENT_HOOK_BASE(name) \
79 APR_IMPLEMENT_EXTERNAL_HOOK_BASE(ap,AP,name)
80
94#define AP_IMPLEMENT_HOOK_VOID(name,args_decl,args_use) \
95 APR_IMPLEMENT_EXTERNAL_HOOK_VOID(ap,AP,name,args_decl,args_use)
96
117#define AP_IMPLEMENT_HOOK_RUN_ALL(ret,name,args_decl,args_use,ok,decline) \
118 APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(ap,AP,ret,name,args_decl, \
119 args_use,ok,decline)
120
137#define AP_IMPLEMENT_HOOK_RUN_FIRST(ret,name,args_decl,args_use,decline) \
138 APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(ap,AP,ret,name,args_decl, \
139 args_use,decline)
140
141/* Note that the other optional hook implementations are straightforward but
142 * have not yet been needed
143 */
144
150#define AP_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(ret,name,args_decl,args_use,ok, \
151 decline) \
152 APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(ap,AP,ret,name,args_decl, \
153 args_use,ok,decline)
154
159#define AP_OPTIONAL_HOOK(name,fn,pre,succ,order) \
160 APR_OPTIONAL_HOOK(ap,name,fn,pre,succ,order)
161
162#endif /* AP_HOOKS_H */
Apache hook functions.
Apache optional hook functions.