/* * Mod Defender for HAProxy * * Support for the Mod Defender code on non-Apache platforms. * * Copyright 2017 HAProxy Technologies, Dragan Dosen * * Parts of code based on Apache HTTP Server source * Copyright 2015 The Apache Software Foundation (http://www.apache.org/) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 3 of the License, or (at your option) any later version. * */ #ifndef __STANDALONE_H__ #define __STANDALONE_H__ #include #include #include #include #include #define INSERT_BEFORE(f, before_this) ((before_this) == NULL \ || (before_this)->frec->ftype > (f)->frec->ftype \ || (before_this)->r != (f)->r) #define DECLARE_EXTERNAL_HOOK(ns,link,ret,name,args) \ ns##_HOOK_##name##_t *run_##ns##_hook_##name = NULL; \ link##_DECLARE(void) ns##_hook_##name(ns##_HOOK_##name##_t *pf, \ const char * const *aszPre, \ const char * const *aszSucc, int nOrder) \ { \ run_##ns##_hook_##name = pf; \ } #define DECLARE_HOOK(ret,name,args) \ DECLARE_EXTERNAL_HOOK(ap,AP,ret,name,args) #define UNKNOWN_METHOD (-1) extern void (*logger)(int level, char *str); extern const char *read_module_config(server_rec *s, void *mconfig, const command_rec *cmds, apr_pool_t *p, apr_pool_t *ptemp, const char *filename); extern int lookup_builtin_method(const char *method, apr_size_t len); #endif /* __STANDALONE_H__ */