mod_wombat.h revision cb1e20df951447249fd1344ae04a790219a16be5
#ifndef MOD_WOMBAT_H
#define MOD_WOMBAT_H
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <stdio.h>
#include "httpd.h"
#include "http_core.h"
#include "http_config.h"
#include "http_request.h"
#include "http_log.h"
#include "http_protocol.h"
#include "ap_regex.h"
#include "ap_config.h"
#include "util_filter.h"
#include "apr_thread_rwlock.h"
#include "apr_strings.h"
#include "apr_tables.h"
#include "apr_hash.h"
#include "apr_buckets.h"
#include "apr_file_info.h"
#include "apr_time.h"
#include "apr_hooks.h"
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
#include "request.h"
#include "vmprep.h"
/**
* make a userdata out of a C pointer, and vice versa
* instead of using lightuserdata
*/
#ifndef lua_boxpointer
#define lua_boxpointer(L,u) (*(void **)(lua_newuserdata(L, sizeof(void *))) = (u))
#define lua_unboxpointer(L,i) (*(void **)(lua_touserdata(L, i)))
#endif
typedef struct {
/**
* mapped handlers
*/
/**
* CODE_CACHE_STAT | CODE_CACHE_FOREVER | CODE_CACHE_NEVER
*/
unsigned int code_cache_style;
/**
* APW_SCOPE_ONCE | APW_SCOPE_REQUEST | APW_SCOPE_CONN | APW_SCOPE_SERVER
*/
unsigned int vm_scope;
unsigned int vm_server_pool_min;
unsigned int vm_server_pool_max;
/* info for the hook harnesses */
/* the actual directory being configured */
char *dir;
} apw_dir_cfg;
typedef struct {
/* value of the LuaRoot directive */
const char *root_path;
typedef struct {
char *function_name;
typedef struct {
typedef struct {
lua_State *L;
char *function;
/* module wombat_module; */
#if !defined(WIN32)
#define WOMBAT_DECLARE_DATA
#elif defined(WOMBAT_DECLARE_STATIC)
#define WOMBAT_DECLARE_DATA
#elif defined(WOMBAT_DECLARE_EXPORT)
#else
#endif
(lua_State *L, apr_pool_t *p));
(lua_State *L, request_rec *r));
#endif /* !MOD_WOMBAT_H */