4 #ifndef RUDIMENTS_APACHEMODULE_H 5 #define RUDIMENTS_APACHEMODULE_H 7 #ifndef HTTP_MODULE_NAME 8 #error HTTP_MODULE_NAME not defined 11 #define XHANDLER_DO_FUNCTION(NM) HANDLER_DO_FUNCTION(NM) 12 #define HANDLER_DO_FUNCTION(NM) do_##NM##_handler 14 #define XHANDLER_FUNCTION(NM) HANDLER_FUNCTION(NM) 15 #define HANDLER_FUNCTION(NM) NM##_handler 17 #define XMODULE_STRUCT(NM) MODULE_STRUCT(NM) 18 #define MODULE_STRUCT(NM) NM##_module 20 #define XXFILE_NAME(NM) XFILE_NAME(NM) 21 #define XFILE_NAME(NM) FILE_NAME(mod_##NM) 22 #define FILE_NAME(NM) #NM".c" 24 #define XMOD_NAME(NM) MOD_NAME(NM) 25 #define MOD_NAME(NM) #NM 27 #include <rudiments/apachehttpserverapi.h> 28 #include <rudiments/private/apacheincludes.h> 31 #include <rudiments/charstring.h> 38 static int XHANDLER_FUNCTION(HTTP_MODULE_NAME)(request_rec *r);
42 static int XHANDLER_DO_FUNCTION(HTTP_MODULE_NAME)(request_rec *r) {
45 XMOD_NAME(HTTP_MODULE_NAME))) {
49 return XHANDLER_FUNCTION(HTTP_MODULE_NAME)(r);
52 static void register_hooks(apr_pool_t *pool) {
53 ap_hook_handler(XHANDLER_DO_FUNCTION(HTTP_MODULE_NAME),
54 NULL,NULL,APR_HOOK_FIRST);
57 module AP_MODULE_DECLARE_DATA XMODULE_STRUCT(HTTP_MODULE_NAME) = {
58 MODULE_MAGIC_NUMBER_MAJOR,
59 MODULE_MAGIC_NUMBER_MINOR,
61 XXFILE_NAME(HTTP_MODULE_NAME),
76 static const handler_rec handler_struct[] = {
77 { XMOD_NAME(HTTP_MODULE_NAME),
78 XHANDLER_FUNCTION(HTTP_MODULE_NAME) },
82 #ifdef MODULE_MAGIC_COOKIE 83 #define GW_MODULE_MAGIC_COOKIE MODULE_MAGIC_COOKIE, 85 #define GW_MODULE_MAGIC_COOKIE 88 module MODULE_VAR_EXPORT XMODULE_STRUCT(HTTP_MODULE_NAME) = {
89 MODULE_MAGIC_NUMBER_MAJOR,
90 MODULE_MAGIC_NUMBER_MINOR,
92 XXFILE_NAME(HTTP_MODULE_NAME),
95 GW_MODULE_MAGIC_COOKIE
124 static int XHANDLER_FUNCTION(HTTP_MODULE_NAME)(request_rec *r) {
126 return (httpModuleMain(&sapi))?OK:DECLINED;
Definition: apachehttpserverapi.h:9
Definition: httpserverapi.h:9
static int32_t compare(const char *str1, const char *str2)