blob: 9c9ccdd3bd72d4fc7f3748ba3fc82021e8f36a74 [file] [log] [blame]
Dragan Dosen59bb97a2017-06-02 12:03:16 +02001/*
2 * Mod Defender for HAProxy
3 *
4 * Support for the Mod Defender code on non-Apache platforms.
5 *
6 * Copyright 2017 HAProxy Technologies, Dragan Dosen <ddosen@haproxy.com>
7 *
8 * Parts of code based on Apache HTTP Server source
9 * Copyright 2015 The Apache Software Foundation (http://www.apache.org/)
10 *
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * as published by the Free Software Foundation; either version
14 * 3 of the License, or (at your option) any later version.
15 *
16 */
17#ifndef __STANDALONE_H__
18#define __STANDALONE_H__
19
20#include <http_core.h>
21#include <http_main.h>
22#include <http_config.h>
23
24#include <apr_pools.h>
25#include <apr_hooks.h>
26
27#define INSERT_BEFORE(f, before_this) ((before_this) == NULL \
28 || (before_this)->frec->ftype > (f)->frec->ftype \
29 || (before_this)->r != (f)->r)
30
31#define DECLARE_EXTERNAL_HOOK(ns,link,ret,name,args) \
32ns##_HOOK_##name##_t *run_##ns##_hook_##name = NULL; \
33link##_DECLARE(void) ns##_hook_##name(ns##_HOOK_##name##_t *pf, \
34 const char * const *aszPre, \
35 const char * const *aszSucc, int nOrder) \
36{ \
37 run_##ns##_hook_##name = pf; \
38}
39
40#define DECLARE_HOOK(ret,name,args) \
41 DECLARE_EXTERNAL_HOOK(ap,AP,ret,name,args)
42
43#define UNKNOWN_METHOD (-1)
44
45extern void (*logger)(int level, char *str);
46extern const char *read_module_config(server_rec *s, void *mconfig,
47 const command_rec *cmds,
48 apr_pool_t *p, apr_pool_t *ptemp,
49 const char *filename);
50extern int lookup_builtin_method(const char *method, apr_size_t len);
51
52#endif /* __STANDALONE_H__ */