Apache HTTPD
Classes | Macros | Typedefs | Functions | Variables
mod_isapi.c File Reference
#include "ap_config.h"
#include "httpd.h"
#include "http_config.h"
#include "http_core.h"
#include "http_protocol.h"
#include "http_request.h"
#include "http_log.h"
#include "util_script.h"
#include "mod_core.h"
#include "apr_lib.h"
#include "apr_strings.h"
#include "apr_portable.h"
#include "apr_buckets.h"
#include "apr_thread_mutex.h"
#include "apr_thread_rwlock.h"
#include "apr_hash.h"
#include "mod_isapi.h"

Go to the source code of this file.

Classes

struct  isapi_dir_conf
 
struct  isapi_global_conf
 
struct  isapi_loaded
 
struct  isapi_cid
 

Macros

#define ISAPI_RETRY   apr_time_from_sec(30)
 
#define ISAPI_UNDEF   -1
 

Typedefs

typedef struct isapi_dir_conf isapi_dir_conf
 
typedef struct isapi_loaded isapi_loaded
 

Functions

apr_status_t isapi_lookup (apr_pool_t *p, server_rec *s, request_rec *r, const char *fpath, isapi_loaded **isa)
 
static void * create_isapi_dir_config (apr_pool_t *p, char *dummy)
 
static void * merge_isapi_dir_configs (apr_pool_t *p, void *base_, void *add_)
 
static const charisapi_cmd_cachefile (cmd_parms *cmd, void *dummy, const char *filename)
 
static apr_status_t isapi_unload (isapi_loaded *isa, int force)
 
static apr_status_t cleanup_isapi (void *isa_)
 
static apr_status_t isapi_load (apr_pool_t *p, server_rec *s, isapi_loaded *isa)
 
static int APR_THREAD_FUNC regfnGetServerVariable (isapi_cid *cid, char *variable_name, void *buf_ptr, apr_uint32_t *buf_size)
 
static int APR_THREAD_FUNC regfnReadClient (isapi_cid *cid, void *buf_data, apr_uint32_t *buf_size)
 
static apr_ssize_t send_response_header (isapi_cid *cid, const char *stat, const char *head, apr_size_t statlen, apr_size_t headlen)
 
static int APR_THREAD_FUNC regfnWriteClient (isapi_cid *cid, void *buf_ptr, apr_uint32_t *size_arg, apr_uint32_t flags)
 
static int APR_THREAD_FUNC regfnServerSupportFunction (isapi_cid *cid, apr_uint32_t HSE_code, void *buf_ptr, apr_uint32_t *buf_size, apr_uint32_t *data_type)
 
static apr_status_t isapi_handler (request_rec *r)
 
static int isapi_pre_config (apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp)
 
static void isapi_hooks (apr_pool_t *cont)
 

Variables

static const command_rec isapi_cmds []
 
static struct isapi_global_conf loaded
 
static int *const aplog_module_index = &( isapi_module.module_index)
 

Macro Definition Documentation

◆ ISAPI_RETRY

#define ISAPI_RETRY   apr_time_from_sec(30)

Definition at line 57 of file mod_isapi.c.

◆ ISAPI_UNDEF

#define ISAPI_UNDEF   -1

Definition at line 67 of file mod_isapi.c.

Typedef Documentation

◆ isapi_dir_conf

◆ isapi_loaded

Definition at line 78 of file mod_isapi.c.

Function Documentation

◆ cleanup_isapi()

static apr_status_t cleanup_isapi ( void *  isa_)
static

Definition at line 244 of file mod_isapi.c.

◆ create_isapi_dir_config()

static void * create_isapi_dir_config ( apr_pool_t p,
char dummy 
)
static

Definition at line 83 of file mod_isapi.c.

◆ isapi_cmd_cachefile()

static const char * isapi_cmd_cachefile ( cmd_parms cmd,
void *  dummy,
const char filename 
)
static

< Type

Definition at line 121 of file mod_isapi.c.

◆ isapi_handler()

static apr_status_t isapi_handler ( request_rec r)
static

< Module declines to handle

< Module has handled this stage.

Definition at line 1407 of file mod_isapi.c.

◆ isapi_hooks()

static void isapi_hooks ( apr_pool_t cont)
static

Definition at line 1714 of file mod_isapi.c.

◆ isapi_load()

static apr_status_t isapi_load ( apr_pool_t p,
server_rec s,
isapi_loaded isa 
)
static

Definition at line 254 of file mod_isapi.c.

◆ isapi_lookup()

apr_status_t isapi_lookup ( apr_pool_t p,
server_rec s,
request_rec r,
const char fpath,
isapi_loaded **  isa 
)

Definition at line 326 of file mod_isapi.c.

◆ isapi_pre_config()

static int isapi_pre_config ( apr_pool_t pconf,
apr_pool_t plog,
apr_pool_t ptemp 
)
static

< Module has handled this stage.

Definition at line 1685 of file mod_isapi.c.

◆ isapi_unload()

static apr_status_t isapi_unload ( isapi_loaded isa,
int  force 
)
static

Definition at line 220 of file mod_isapi.c.

◆ merge_isapi_dir_configs()

static void * merge_isapi_dir_configs ( apr_pool_t p,
void *  base_,
void *  add_ 
)
static

Definition at line 96 of file mod_isapi.c.

◆ regfnGetServerVariable()

static int APR_THREAD_FUNC regfnGetServerVariable ( isapi_cid cid,
char variable_name,
void *  buf_ptr,
apr_uint32_t buf_size 
)
static

Definition at line 488 of file mod_isapi.c.

◆ regfnReadClient()

static int APR_THREAD_FUNC regfnReadClient ( isapi_cid cid,
void *  buf_data,
apr_uint32_t buf_size 
)
static

Definition at line 590 of file mod_isapi.c.

◆ regfnServerSupportFunction()

static int APR_THREAD_FUNC regfnServerSupportFunction ( isapi_cid cid,
apr_uint32_t  HSE_code,
void *  buf_ptr,
apr_uint32_t buf_size,
apr_uint32_t data_type 
)
static

RFC 2616: HTTP

< Open the file for reading

<

Deprecated:
See also
APR_FOPEN_READ

< Platform dependent tag to open the file for use across multiple threads

<

Deprecated:
See also
APR_FOPEN_XTHREAD

< Size of the file

< Read by user

<

Deprecated:
See also
APR_FPROT_UREAD

< Write by user

<

Deprecated:
See also
APR_FPROT_UWRITE

< Execute by user

<

Deprecated:
See also
APR_FPROT_UEXECUTE

Definition at line 863 of file mod_isapi.c.

◆ regfnWriteClient()

static int APR_THREAD_FUNC regfnWriteClient ( isapi_cid cid,
void *  buf_ptr,
apr_uint32_t size_arg,
apr_uint32_t  flags 
)
static

Definition at line 807 of file mod_isapi.c.

◆ send_response_header()

static apr_ssize_t send_response_header ( isapi_cid cid,
const char stat,
const char head,
apr_size_t  statlen,
apr_size_t  headlen 
)
static

Definition at line 625 of file mod_isapi.c.

Variable Documentation

◆ aplog_module_index

int* const aplog_module_index = &( isapi_module.module_index)
static

Definition at line 1720 of file mod_isapi.c.

◆ isapi_cmds

const command_rec isapi_cmds[]
static
Initial value:
= {
{ "ISAPIReadAheadBuffer" , ap_set_int_slot , (void *)((long) (((char *) (&((( isapi_dir_conf * )NULL)-> read_ahead_buflen ))) - ((char *) NULL))) , 4 , TAKE1, "Maximum client request body to initially pass to the" " ISAPI handler (default: 49152)" },
{ "ISAPILogNotSupported" , ap_set_flag_slot , (void *)((long) (((char *) (&((( isapi_dir_conf * )NULL)-> log_unsupported ))) - ((char *) NULL))) , 4 , FLAG, "Log requests not supported by the ISAPI server" " on or off (default: off)" },
{ "ISAPIAppendLogToErrors" , ap_set_flag_slot , (void *)((long) (((char *) (&((( isapi_dir_conf * )NULL)-> log_to_errlog ))) - ((char *) NULL))) , 4 , FLAG, "Send all Append Log requests to the error log" " on or off (default: off)" },
{ "ISAPIAppendLogToQuery" , ap_set_flag_slot , (void *)((long) (((char *) (&((( isapi_dir_conf * )NULL)-> log_to_query ))) - ((char *) NULL))) , 4 , FLAG, "Append Log requests are concatenated to the query args" " on or off (default: on)" },
{ "ISAPIFakeAsync" , ap_set_flag_slot , (void *)((long) (((char *) (&((( isapi_dir_conf * )NULL)-> fake_async ))) - ((char *) NULL))) , 4 , FLAG, "Fake Asynchronous support for isapi callbacks" " on or off [Experimental] (default: off)" },
{ "ISAPICacheFile" , isapi_cmd_cachefile , NULL , 128 , ITERATE, "Cache the specified ISAPI extension in-process" },
{NULL}
}
const char * ap_set_int_slot(cmd_parms *cmd, void *struct_ptr, const char *arg)
Definition config.c:1480
const char * ap_set_flag_slot(cmd_parms *cmd, void *struct_ptr, int arg)
Definition config.c:1512
@ TAKE1
Definition http_config.h:51
@ FLAG
Definition http_config.h:59
@ ITERATE
Definition http_config.h:53
static const char * isapi_cmd_cachefile(cmd_parms *cmd, void *dummy, const char *filename)
Definition mod_isapi.c:121
return NULL
Definition mod_so.c:359

Definition at line 166 of file mod_isapi.c.

◆ loaded

struct isapi_global_conf loaded
static