Mailing List Archive

cvs commit: apache-devsite/apidoc api.list
coar 98/05/03 12:45:56

Added: apidoc api.list
Log:
Here's the data file which defines all the API entities. It's
documented internally as to format.

Revision Changes Path
1.1 apache-devsite/apidoc/api.list

Index: api.list
===================================================================
#;
#; Metadata about API components. Each line contains several fields,
#; separated by vbars (|). Comments begin with '#;' and continue
#; to the end of the line. Leading whitespace is discarded except as
#; noted below. Continuation is indicated by a '\' as the last
#; non-blank, non-comment character on a line.
#;
#; o Whitepace before a continuation character ('\') is
#; not discarded, EXCEPT THAT
#; o Whitespace between '\n' and '\' IS discarded.
#; o If the last significant text on a continued line is '\n', the
#; leading whitespace on the continuation line is NOT discarded. This
#; provides for indentation of continuation text (as in a structure
#; definition).
#;
#; By convention the '|' field delimiter appears on same line as the
#; field that *follows* it.
#;
#; Each record looks like:
#;
#; type|name|definition|sample-use|see-also|desc-file
#;
#; where type is one of
#; R API routine
#; S structure/datatype
#; C constant
#; D global data cell
#; X name for a list of cross-references (usable in the see-also field)
#;
#; see-also is a comma-separated list of other names in this file. If
#; the current entity-name appears in the list, it's ignored.
#; desc-file is the name of a file (relative to the cwd) containing an HTML
#; description for the component. Not used for 'X' records.
#;
#; HTML markup is permitted in all fields except type and name.
#;
#; Due to '|' being used as the field delimiter, vbars must be represented
#; as '|'.
#;
#; Due to the interpretation of text as HTML, all ampersands ('&') must be
#; escaped as '&'.
#;
#; The special tag '$*' will be replaced wherever it occurs in a record
#; with the name of the entity being defined
#;
#;
#; Symbols related to how the server identifies itself
#;
X|SA-identity\
|\ #; Definition
|\ #; Examples
|ap_get_server_built,ap_get_server_name,ap_get_server_version\
|
R|ap_get_server_built\
|char *$*(void);\ #; Definition
|char *string;\nstring = $*();\ #; Examples
|SA-identity\ #; Cross-references
| #; Entity documention HTML file
R|ap_get_server_name\
|char *$*(void);\
|char *string;\nstring = $*();\
|SA-identity\
|
R|ap_get_server_version\
|char *$*(void);\
|char *string;\nstring = $*();\
|SA-identity\
|
#;
#; Stuff related to the module structure
#;
X|SA-module\
|\
|\
|core_module,top_module,module,ap_add_module,ap_add_named_module\
|
S|module\ #; Since this is a multi-line structure, beware when editing
|typedef struct module_struct { \n \
int version; \n \
int module_index; \n \
const char *name; \n \
void *dynamic_load_handle; \n \
struct module_struct *next; \n \
#ifdef ULTRIX_BRAIN_DEATH \n \
void (*init) (); \n \
void *(*create_dir_config) (); \n \
void *(*merge_dir_config) (); \n \
void *(*create_server_config) (); \n \
void *(*merge_server_config) (); \n \
#else \n \
void (*init) (server_rec *s, pool *p); \n \
void *(*create_dir_config) (pool *p, char *dir); \n \
void *(*merge_dir_config) (pool *p, void *base_conf, void *new_conf); \n \
void *(*create_server_config) (pool *p, server_rec *s); \n \
void *(*merge_server_config) (pool *p, \
void *base_conf, void *new_conf); \n \
#endif \n \
const command_rec *cmds; \n \
const handler_rec *handlers; \n \
int (*translate_handler) (request_rec *r); \n \
int (*ap_check_user_id) (request_rec *r); \n \
int (*auth_checker) (request_rec *r); \n \
int (*access_checker) (request_rec *r); \n \
int (*type_checker) (request_rec *r); \n \
int (*fixer_upper) (request_rec *r); \n \
int (*logger) (request_rec *r); \n \
int (*header_parser) (request_rec *r); \n \
#ifdef ULTRIX_BRAIN_DEATH \n \
void (*child_init) (); \n \
void (*child_exit) (); \n \
#else \n \
void (*child_init) (server_rec *s, pool *p); \n \
void (*child_exit) (server_rec *s, pool *p); \n \
#endif \n \
int (*post_read_request) (request_rec *)r; \n \
} module; \
|\
$* *mpointer; \n \
<EM>or</EM> \n \
module action_module = \n \
{ \n \
STANDARD_MODULE_STUFF, \n \
NULL, /* initializer */ \n \
create_action_dir_config, /* dir config creater */ \n \
merge_action_dir_configs, /* dir merger --- default is to override */ \n \
NULL, /* server config */ \n \
NULL, /* merge server config */ \n \
action_cmds, /* command table */ \n \
action_handlers, /* handlers */ \n \
NULL, /* filename translation */ \n \
NULL, /* check_user_id */ \n \
NULL, /* check auth */ \n \
NULL, /* check access */ \n \
NULL, /* type_checker */ \n \
NULL, /* fixups */ \n \
NULL, /* logger */ \n \
NULL, /* header parser */ \n \
NULL, /* child_init */ \n \
NULL, /* child_exit */ \n \
NULL /* post read-request */ \n \
}; \
|SA-module\
|
R|ap_add_module\
|void $*(module *m);\
|\
|SA-module\
|
R|ap_add_named_module\
|int $*(const char *name);\
|\
|SA-module\
|
D|core_module\
|module $* {<EM>module-specific-info</EM>};\
|\
|SA-module\
|
D|top_module\
|module *$*;\
|\
|SA-module\
|
#;
#; Miscellaneous data cells
#;
D|ap_day_snames\
|const char $*[7][4];\
|\
|\
|
D|ap_month_snames\
|const char $*[12][4];\
|\
|\
|
D|ap_restart_time\
|time_t $*;\
|\
|\
|
D|ap_server_argv0\
|char *$*;\
|\
|\
|
D|ap_server_root\
|char $*[MAX_STRING_LEN];\
|\
|\
|
D|ap_suexec_enabled\
|int $*;\
|\
|\
|
#;
#; MD5 digesting functions
#;
X|SA-md5\
|\
|\
|AP_MD5_CTX,ap_md5,ap_md5context,ap_md5digest,ap_MD5Final\
,ap_MD5Init,ap_MD5Update,ap_md5contextTo64\
|
S|AP_MD5_CTX\
|This is an opaque structure; you don't need to access any of its \
elements.\
|$* <EM>identifier</EM>\
|SA-md5\
|
R|ap_md5\
|char *$*(pool *a, unsigned char *string);\
|\
|SA-md5\
|
R|ap_MD5Final\
|void $*(unsigned char digest[16], AP_MD5_CTX *context);\
|\
|SA-md5\
|
R|ap_MD5Init\
|void $*(AP_MD5_CTX *context);\
|\
|SA-md5\
|
R|ap_MD5Update\
|void $*(AP_MD5_CTX *context, const unsigned char *input, \
unsigned int inputLen);\
|\
|SA-md5\
|
R|ap_md5context\
|char *$*(pool *p, AP_MD5_CTX *context);\
|\
|SA-md5\
|
R|ap_md5digest\
|char *$*(pool *p, FILE *infile);\
|\
|SA-md5\
|
R|ap_md5contextTo64\
|\
|\
|\
|
#;
#; Mutex routines
#;
X|SA-mutex\
|\
|\
|mutex,ap_acquire_mutex,ap_create_mutex,ap_destroy_mutex\
,ap_open_mutex\
|
S|mutex\
|This is an opaque structure; you don't need to access any of its \
elements.\
|$* <EM>identifier</EM>\
|\
|
R|ap_acquire_mutex\
|int $*(mutex *mutex_id);\
|\
|SA-mutex\
|
R|ap_create_mutex\
|mutex *$*(char *name);\
|\
|SA-mutex\
|
R|ap_destroy_mutex\
|void $*(mutex *mutex_id);\
|\
|SA-mutex\
|
R|ap_open_mutex\
|mutex *$*(char *name);\
|\
|SA-mutex\
|
#;
#; Stuff for the scoreboard
#;
X|SA-scoreboard\
|\
|\
|scoreboard,SERVER_DEAD,SERVER_STARTING,SERVER_READY\
,SERVER_BUSY_READ,SERVER_BUSY_WRITE,SERVER_BUSY_KEEPALIVE\
,SERVER_BUSY_LOG,SERVER_BUSY_DNS,SERVER_GRACEFUL,SERVER_NUM_STATUS\
,vtime_t,short_score,global_score,parent_score,START_PREQUEST\
,STOP_PREQUEST,ap_sync_scoreboard_image,ap_exists_scoreboard_image\
,ap_scoreboard_image\
|
C|SERVER_DEAD\
|#define $* <EM>value</EM>\
|\
|SA-scoreboard\
|
C|SERVER_STARTING\
|#define $* <EM>value</EM>\
|\
|SA-scoreboard\
|
C|SERVER_READY\
|#define $* <EM>value</EM>\
|\
|SA-scoreboard\
|
C|SERVER_BUSY_READ\
|#define $* <EM>value</EM>\
|\
|SA-scoreboard\
|
C|SERVER_BUSY_WRITE\
|#define $* <EM>value</EM>\
|\
|SA-scoreboard\
|
C|SERVER_BUSY_KEEPALIVE\
|#define $* <EM>value</EM>\
|\
|SA-scoreboard\
|
C|SERVER_BUSY_LOG\
|#define $* <EM>value</EM>\
|\
|SA-scoreboard\
|
C|SERVER_BUSY_DNS\
|#define $* <EM>value</EM>\
|\
|SA-scoreboard\
|
C|SERVER_GRACEFUL\
|#define $* <EM>value</EM>\
|\
|SA-scoreboard\
|
C|SERVER_NUM_STATUS\
|#define $* <EM>value</EM>\
|\
|SA-scoreboard\
|
C|START_PREQUEST\
|#define $* <EM>value</EM>\
|\
|SA-scoreboard\
|
C|STOP_PREQUEST\
|#define $* <EM>value</EM>\
|\
|SA-scoreboard\
|
D|ap_scoreboard_image\
|extern scoreboard *$*;\
|\
|SA-scoreboard\
|
S|vtime_t\
|typedef unsigned vtime_t;\
|\
|SA-scoreboard\
|
#;
#; Here comes another bunch of confusing multi-line definitions..
#;
S|parent_score\
|typedef struct { \n \
pid_t pid; \n \
#ifdef OPTIMIZE_TIMEOUTS \n \
time_t last_rtime; \n \
vtime_t last_vtime; \n \
#endif \n \
} $*;\
|\
|SA-scoreboard\
|
S|global_score\
|typedef struct { \n \
int exit_generation; \n \
} $*;\
|\
|SA-scoreboard\
|
S|short_score\
|typedef struct { \n \
#ifdef OPTIMIZE_TIMEOUTS \n \
vtime_t cur_vtime; \n \
unsigned short timeout_len; \n \
#endif \n \
unsigned char status; \n \
#if defined(STATUS) \n \
unsigned long access_count; \n \
unsigned long bytes_served; \n \
unsigned long my_access_count; \n \
unsigned long my_bytes_served; \n \
unsigned long conn_bytes; \n \
unsigned short conn_count; \n \
#if defined(NO_GETTIMEOFDAY) \n \
clock_t start_time; \n \
clock_t stop_time; \n \
#else \n \
struct timeval start_time; \n \
struct timeval stop_time; \n \
#endif \n \
#ifndef NO_TIMES \n \
struct tms times; \n \
#endif \n \
#ifndef OPTIMIZE_TIMEOUTS \n \
time_t last_used; \n \
#endif \n \
char client[32]; \n \
char request[64]; \n \
char vhost[32]; \n \
#endif \n \
} $*;\
|\
|SA-scoreboard\
|
S|scoreboard\
|typedef struct { \n \
short_score servers[HARD_SERVER_LIMIT]; \n \
parent_score parent[HARD_SERVER_LIMIT]; \n \
global_score global; \n \
} $*;\
|\
|SA-scoreboard\
|
R|ap_sync_scoreboard_image\
|\
|\
|SA-scoreboard\
|
R|ap_exists_scoreboard_image\
|\
|\
|SA-scoreboard\
|
#;
#; Miscellaneous structures
#;
S|configfile_t\
|typedef struct { \n \
int (*getch) (void *param); \n \
void *(*getstr) (void *buf, size_t bufsiz, void *param); \n \
int (*close) (void *param); \n \
void *param; \n \
const char *name; \n \
unsigned line_number; \n \
} configfile_t;\
|\
|\
|
#;
#; Reliable piped log stuff
#;
X|SA-piped-log\
|\
|\
|piped_log,ap_close_piped_log,ap_open_piped_log\
|
S|piped_log\
|typedef struct piped_log { \n \
pool *p; \n \
#ifndef NO_RELIABLE_PIPED_LOGS \n \
char *program; \n \
int pid; \n \
int fds[2]; \n \
#else \n \
FILE *write_f; \n \
#endif \n \
} piped_log;\
|\
|SA-piped-log\
|
R|ap_close_piped_log\
|void $*(piped_log *plp);\
|\
|SA-piped-log\
|
R|ap_open_piped_log\
|piped_log *$*(pool *p, const char *program);\
|\
|SA-piped-log\
|
#;
S|conn_rec\
|typedef struct conn_rec conn_rec; \n \
struct conn_rec { \n \
pool *pool; \n \
server_rec *server; \n \
server_rec *base_server; \n \
void *vhost_lookup_data; \n \
int child_num; \n \
BUFF *client; \n \
struct sockaddr_in local_addr; \n \
struct sockaddr_in remote_addr; \n \
char *remote_ip; \n \
char *remote_host; \n \
char *remote_logname; \n \
char *user; \n \
char *ap_auth_type; \n \
unsigned aborted:1; \n \
signed int keepalive:2; \n \
unsigned keptalive:1; \n \
signed int double_reverse:2; \n \
int keepalives; \n \
};\
|\
|\
|
S|regex_t\
|typedef struct { \n \
int re_magic; \n \
size_t re_nsub; \n \
const char *re_endp; \n \
struct re_guts *re_g; \n \
} regex_t;\
|\
|\
|
S|regmatch_t\
|\
|\
|\
|
S|request_rec\
|typedef struct request_rec request_rec; \n \
struct request_rec { \n \
pool *pool; \n \
conn_rec *connection; \n \
server_rec *server; \n \
request_rec *next; \n \
request_rec *prev; \n \
request_rec *main; \n \
char *the_request; \n \
int assbackwards; \n \
int proxyreq; \n \
int header_only; \n \
char *protocol; \n \
int proto_num; \n \
char *hostname; \n \
time_t request_time; \n \
char *status_line; \n \
int status; \n \
char *method; \n \
int method_number; \n \
int allowed; \n \
int sent_bodyct; \n \
long bytes_sent; \n \
time_t mtime; \n \
int chunked; \n \
int byterange; \n \
char *boundary; \n \
char *range; \n \
long clength; \n \
long remaining; \n \
long read_length; \n \
int read_body; \n \
int read_chunked; \n \
table *headers_in; \n \
table *headers_out; \n \
table *err_headers_out; \n \
table *subprocess_env; \n \
table *notes; \n \
char *content_type; \n \
char *handler; \n \
char *content_encoding; \n \
char *content_language; \n \
array_header *content_languages; \n \
int no_cache; \n \
int no_local_copy; \n \
char *unparsed_uri; \n \
char *uri; \n \
char *filename; \n \
char *path_info; \n \
char *args; \n \
struct stat finfo; \n \
uri_components parsed_uri; \n \
void *per_dir_config; \n \
void *request_config; \n \
const struct htaccess_result *htaccess; \n \
};\
|\
|\
|
S|server_rec\
|\
|\
|\
|
S|BUFF\
|typedef struct buff_struct $*; \n \
struct buff_struct { \n \
int flags; \n \
unsigned char *inptr; \n \
int incnt; \n \
int outchunk; \n \
int outcnt; \n \
unsigned char *inbase; \n \
unsigned char *outbase; \n \
int bufsiz; \n \
void (*error) ($* *fb, int op, void *data); \n \
void *error_data; \n \
long int bytes_sent; \n \
pool *pool; \n \
int fd; \n \
int fd_in; \n \
void *t_handle; \n \
#ifdef B_SFIO \n \
Sfio_t *sf_in; \n \
Sfio_t *sf_out; \n \
#endif \n \
};\
|\
|\
|
S|cmd_parms\
|typedef struct { \n \
void *info; \n \
int override; \n \
int limited; \n \
configfile_t *config_file; \n \
pool *pool; \n \
struct pool *temp_pool; \n \
server_rec *server; \n \
char *path; \n \
const command_rec *cmd; \n \
const char *end_token; \n \
} $*;\
|\
|\
|
S|command_rec\
|typedef struct $* {\n \
const char *name;\n \
const char *(*func) ();\n \
void *cmd_data;\n \
int req_override;\n \
enum cmd_how args_how;\n \
const char *errmsg;\n \
} $*;\
|\
|\
|
#;
#; Directive overrides
#;
X|SA-overrides\
|\
|\
|ACCESS_CONF,OR_AUTHCFG,OR_FILEINFO,OR_INDEXES,OR_LIMIT\
,OR_OPTIONS,RSRC_CONF\
|
C|RSRC_CONF\
|#define $* <EM>value</EM>\
|\
|SA-overrides\
|
C|ACCESS_CONF\
|#define $* <EM>value</EM>\
|\
|SA-overrides\
|
C|OR_AUTHCFG\
|#define $* <EM>value</EM>\
|\
|SA-overrides\
|
C|OR_LIMIT\
|#define $* <EM>value</EM>\
|\
|SA-overrides\
|
C|OR_OPTIONS\
|#define $* <EM>value</EM>\
|\
|SA-overrides\
|
C|OR_FILEINFO\
|#define $* <EM>value</EM>\
|\
|SA-overrides\
|
C|OR_INDEXES\
|#define $* <EM>value</EM>\
|\
|SA-overrides\
|
#;
#; Tables..
#;
X|SA-tables\
|\
|\
|table,ap_clear_table,ap_copy_table,ap_make_table\
,ap_overlay_tables,ap_table_add,ap_table_addn,ap_table_do\
,ap_table_get,ap_table_merge,ap_table_mergen,ap_table_set\
,ap_table_setn,ap_table_unset\
|
S|table\
|typedef struct $* {<EM>opaque-structure</EM>};\
|\
|SA-tables\
|
R|ap_clear_table\
|void $*(table *t);\
|\
|SA-tables\
|
R|ap_copy_table\
|table *$*(pool *p, const table *t);\
|\
|SA-tables\
|
R|ap_make_table\
|table *$*(pool *p, int nelts);\
|\
|SA-tables\
|
R|ap_overlay_tables\
|table *$*(pool *p, const table *overlay, const table *base);\
|\
|SA-tables\
|
R|ap_table_add\
|void $*(table *t, const char *key, const char *val);\
|\
|SA-tables\
|
R|ap_table_addn\
|void $*(table *t, const char *key, const char *val);\
|\
|SA-tables\
|
#;
#; Here's an example of multiline definition with proper indenting.
#;
R|ap_table_do\
|void $*(int (*comp) (void *d, const char *key, const char *val), \n \
void *rec, const table *t, ...);\
|\
|SA-tables\
|
R|ap_table_get\
|\
|\
|SA-tables\
|
R|ap_table_merge\
|\
|\
|SA-tables\
|
R|ap_table_mergen\
|\
|\
|SA-tables\
|
R|ap_table_set\
|\
|\
|SA-tables\
|
R|ap_table_setn\
|\
|\
|SA-tables\
|
R|ap_table_unset\
|\
|\
|SA-tables\
|
#;
#; Arrays..
#;
X|SA-array\
|\
|\
|array_header,ap_array_cat,ap_append_arrays,ap_copy_array\
,ap_copy_array_hdr,ap_make_array,ap_push_array\
|
S|array_header\
|typedef struct { \n \
pool *pool; \n \
int elt_size; \n \
int nelts; \n \
int nalloc; \n \
char *elts; \n \
} array_header;\
|\
|SA-array\
|
R|ap_array_cat\
|void $*(array_header *dst, const array_header *src);\
|\
|SA-array\
|
R|ap_copy_array\
|array_header *$*(pool *p, const array_header *src);\
|\
|SA-array\
|
R|ap_copy_array_hdr\
|array_header *$*(pool *p, const array_header *src);\
|\
|SA-array\
|
R|ap_make_array\
|array_header *$*(pool *p, int nelts, int elt_size);\
|\
|SA-array\
|
R|ap_push_array\
|void *$*(array_header *a);\
|\
|SA-array\
|
#;
#; Now the items relating to pools
#;
X|SA-pool\
|\
|\
|pool,ap_bytes_in_pool,ap_clear_pool,ap_destroy_pool,ap_find_pool\
,ap_pool_is_ancestor,ap_pool_join,ap_make_sub_pool,ap_pstrcat,ap_palloc\
,ap_pcalloc,ap_pclosedir,ap_pclosef,ap_pclosesocket,ap_pduphostent\
,ap_pfclose,ap_pfdopen,ap_pfopen,ap_pgethostbyname,ap_popendir\
,ap_popenf,ap_pregcomp,ap_pregfree,ap_psocket,ap_pstrdup,ap_pstrndup\
|
S|pool\
|[struct] pool <EM>opaque-structure</EM>\
|pool *p; \
\nchar *foo; \
\nfoo = ap_pstrcat(p, "string 1", "string 2", NULL);\
|SA-pool\
|
R|ap_bytes_in_pool\
|\
|\
|SA-pool\
|
R|ap_clear_pool\
|\
|\
|SA-pool\
|
R|ap_find_pool\
|\
|\
|SA-pool\
|
R|ap_pool_is_ancestor\
|\
|\
|SA-pool\
|
R|ap_pool_join\
|\
|\
|SA-pool\
|
R|ap_make_sub_pool\
|pool *$*(pool *p);\
|\
|SA-pool\
|dict-ap_make_sub_pool.html #; Hey! A real docco file!!
R|ap_destroy_pool\
|void $*(pool *p);\
|\
|SA-pool\
|dict-ap_destroy_pool.html
R|ap_pstrcat\
|char *$*(struct pool *p, ...);\
|\
|SA-pool\
|
R|ap_palloc\
|void *$*(struct pool *p, int nbytes);\
|\
|SA-pool\
|
R|ap_pcalloc\
|void *$*(struct pool *p, int nbytes);\
|\
|SA-pool\
|
R|ap_pclosedir\
|void $*(pool *p, DIR * d);\
|\
|SA-pool\
|
R|ap_pclosef\
|int $*(struct pool *p, int fd);\
|\
|SA-pool\
|
R|ap_pclosesocket\
|int $*(pool *p, int sock);\
|\
|SA-pool\
|
R|ap_pduphostent\
|struct hostent *$*(pool *p, struct hostent *hp);\
|\
|SA-pool\
|
R|ap_pfclose\
|int $*(struct pool *p, FILE *f);\
|\
|SA-pool\
|
R|ap_pfdopen\
|FILE *$*(struct pool *p, int fd, const char *fmode);\
|\
|SA-pool\
|
R|ap_pfopen\
|FILE *$*(struct pool *p, const char *name, const char *fmode);\
|\
|SA-pool\
|
R|ap_pgethostbyname\
|struct hostent *$*(pool *p, const char *hostname);\
|\
|SA-pool\
|
R|ap_popendir\
|DIR *$*(pool *p, const char *name);\
|\
|SA-pool\
|
R|ap_popenf\
|int $*(struct pool *p, const char *name, int flg, int mode);\
|\
|SA-pool\
|
R|ap_pregcomp\
|regex_t *$*(pool *p, const char *pattern, int cflags);\
|\
|SA-pool\
|
R|ap_pregfree\
|void $*(pool *p, regex_t *reg);\
|\
|SA-pool\
|
R|ap_psocket\
|int $*(pool *p, int i, int j, int k);\
|\
|SA-pool\
|
R|ap_pstrdup\
|char *$*(struct pool *p, const char *s);\
|\
|SA-pool\
|
R|ap_pstrndup\
|char *$*(struct pool *p, const char *s, int n);\
|\
|SA-pool\
|
#;
#; Incomplete definitions!
#;
R|ap_append_arrays\
|array_header *$*(pool *p, const array_header *a, const array_header *b);\
|\
|SA-array\
|
R|ap_pregsub\
|char *$*(pool *p, const char *input, const char *source, size_t nmatch, \
regmatch_t pmatch[]);\
|\
|SA-pool\
|
R|ap_vformatter\
|int $*(int (*flush_func)(ap_vformatter_buff *f), ap_vformatter_buff *b, \
const char *fmt, va_list ap);\
|\
|\
|
S|ap_vformatter_buff\
|typedef struct {\n\
char *curpos;\n\
char *endpos;\n\
} ap_vformatter_buff;\
|\
|\
|
#;
#; Miscellany (for now)
#;
S|uri_components\
|typedef struct { \n \
char *scheme; \n \
char *hostinfo; \n \
char *user; \n \
char *password; \n \
char *hostname; \n \
char *port_str; \n \
char *path; \n \
char *query; \n \
char *fragment; \n \
struct hostent *hostent; \n \
unsigned short port; \n \
unsigned is_initialized:1; \n \
unsigned dns_looked_up:1; \n \
unsigned dns_resolved:1; \n \
} uri_components; \
|\
|\
|
X|SA-dirdata\
|\
|\
|cmd_how,RAW_ARGS,TAKE1,TAKE2,ITERATE,ITERATE2,FLAG,NO_ARGS,TAKE12\
,TAKE3,TAKE23,TAKE123,TAKE13\
|
C|cmd_how\
|enum cmd_how { \n \
RAW_ARGS, \n \
TAKE1, \n \
TAKE2, \n \
ITERATE, \n \
ITERATE2, \n \
FLAG, \n \
NO_ARGS, \n \
TAKE12, \n \
TAKE3, \n \
TAKE23, \n \
TAKE123, \n \
TAKE13 \n \
}; \
|\
|SA-dirdata\
|
C|RAW_ARGS\
|<EM>See</EM> cmd_how.\
|static const command_rec autoindex_cmds[] =\n\
{\n\
:\n\
{"IndexOptions", add_opts, NULL, DIR_CMD_PERMS, RAW_ARGS,\n\
"one or more index options"},\n\
:\n\
{NULL}\n\
};\
|SA-dirdata\
|
C|TAKE1\
|<EM>See</EM> cmd_how.\
|static const command_rec autoindex_cmds[] =\n\
{\n\
:\n\
{"HeaderName", add_header, NULL, DIR_CMD_PERMS, TAKE1, "a filename"},\n\
:\n\
{NULL}\n\
};\
|SA-dirdata\
|
C|TAKE2\
|<EM>See</EM> cmd_how.\
|static const command_rec action_cmds[] =\n\
{\n\
{"Action", add_action, NULL, OR_FILEINFO, TAKE2,\n\
"a media type followed by a script name"},\n\
:\n\
{NULL}\n\
};\
|SA-dirdata\
|
C|ITERATE\
|<EM>See</EM> cmd_how.\
|static const command_rec autoindex_cmds[] =\n\
{\n\
:\n\
{"IndexIgnore", add_ignore, NULL, DIR_CMD_PERMS, ITERATE,\n\
"one or more file extensions"},\n\
:\n\
{NULL}\n\
};\
|SA-dirdata\
|
C|ITERATE2\
|<EM>See</EM> cmd_how.\
|static const command_rec autoindex_cmds[] =\n\
{\n\
{"AddIcon", add_icon, BY_PATH, DIR_CMD_PERMS, ITERATE2,\n\
"an icon URL followed by one or more filenames"},\n\
:\n\
{NULL}\n\
};\
|SA-dirdata\
|
C|FLAG\
|<EM>See</EM> cmd_how.\
|static const command_rec autoindex_cmds[] =\n\
{\n\
:\n\
{"FancyIndexing", fancy_indexing, NULL, DIR_CMD_PERMS, FLAG,\n\
"Limited to 'on' or 'off' (superseded by IndexOptions FancyIndexing)"},\n\
:\n\
{NULL}\n\
};\
|SA-dirdata\
|
C|NO_ARGS\
|<EM>See</EM> cmd_how.\
|static const command_rec negotiation_cmds[] =\n\
{\n\
{"CacheNegotiatedDocs", cache_negotiated_docs, NULL, RSRC_CONF, NO_ARGS,\n\
"no arguments (either present or absent)"},\n\
:\n\
{NULL}\n\
};\
|SA-dirdata\
|
C|TAKE12\
|<EM>See</EM> cmd_how.\
|static const command_rec config_log_cmds[] =\n\
{\n\
:\n\
{"LogFormat", log_format, NULL, RSRC_CONF, TAKE12,\n\
"a log format string (see docs) and an optional format name"},\n\
:\n\
{NULL}\n\
};\
|SA-dirdata\
|
C|TAKE3\
|<EM>See</EM> cmd_how.\
|\
|SA-dirdata\
|
C|TAKE23\
|<EM>See</EM> cmd_how.\
|static const command_rec headers_cmds[] =\n\
{\n\
{"Header", header_cmd, NULL, OR_FILEINFO, TAKE23,\n\
"an action, header and value"},\n\
:\n\
{NULL}\n\
};\
|SA-dirdata\
|
C|TAKE123\
|<EM>See</EM> cmd_how.\
|\
|SA-dirdata\
|
C|TAKE13\
|<EM>See</EM> cmd_how.\
|\
|SA-dirdata\
|
#;
R|ap_add_cgi_vars\
|void $*(request_rec *r);\
|\
|\
|
R|ap_add_common_vars\
|void $*(request_rec *r);\
|\
|\
|
R|ap_add_per_dir_conf\
|void $*(server_rec *s, void *dir_config);\
|\
|\
|
R|ap_cpystrn\
|char *$*(char *buf, const char *str, size_t numbytes);\
|\
|\
|dict-ap_cpystrn.html #; Zut! Another doc file!
R|ap_bprintf\
|int $*(BUFF *fb, const char *fmt, ...);\
|\
|\
|
R|ap_os_canonical_filename\
|char *$*(pool *p, const char *file);\
|\
|\
|
R|ap_escape_quotes\
|char *$*(pool *p, const char *str);\
|\
|\
|
R|ap_log_error_old\
|void $*(const char *err, server_rec *s);\
|\
|\
|
R|ap_parse_hostinfo_components\
|int $*(pool *p, const char *hostinfo, uri_components *uptr);\
|\
|\
|
R|ap_psprintf\
|char *$*(struct pool *p, const char *fmt, ...);\
|\
|\
|
R|ap_pvsprintf\
|char *$*(struct pool *p, const char *fmt, va_list);\
|\
|\
|
R|ap_snprintf\
|int $*(char *buf, size_t nbytes, const char *fmt, ...);\
|\
|\
|
R|ap_add_per_url_conf\
|void $*(server_rec *s, void *url_config);\
|\
|\
|
R|ap_allow_options\
|int $*(request_rec *r);\
|\
|\
|
R|ap_allow_overrides\
|int $*(request_rec *r);\
|\
|\
|
R|ap_vsnprintf\
|int $*(char *buf, size_t numbytes, const char *fmt, va_list ap);\
|\
|\
|
R|ap_auth_name\
|char *$*(request_rec *r);\
|\
|\
|
R|ap_auth_type\
|char *$*(request_rec *r);\
|\
|\
|
R|ap_basic_http_header\
|void $*(request_rec *r);\
|\
|\
|
R|ap_bclose\
|int $*(BUFF *fb);\
|\
|\
|
R|ap_bcreate\
|BUFF *$*(pool *p, int flags);\
|\
|\
|
R|ap_bfilbuf\
|int $*(BUFF *fb);\
|\
|\
|
R|ap_bfileno\
|int $*(BUFF *fb, int direction);\
|\
|\
|
R|ap_bflsbuf\
|int $*(int c, BUFF *fb);\
|\
|\
|
R|ap_bflush\
|int $*(BUFF *fb);\
|\
|\
|
R|ap_bgetopt\
|int $*(BUFF *fb, int optname, void *optval);\
|\
|\
|
R|ap_bgets\
|int $*(char *s, int n, BUFF *fb);\
|\
|\
|
R|ap_bhalfduplex\
|void $*(BUFF *fb);\
|\
|\
|
R|ap_block_alarms\
|void $*(void);\
|\
|\
|
R|ap_blookc\
|int $*(char *buff, BUFF *fb);\
|\
|\
|
R|ap_bnonblock\
|int $*(BUFF *fb, int direction);\
|\
|\
|
R|ap_bonerror\
|void $*(BUFF *fb, void (*error) (BUFF *b, int, void *), void *data);\
|\
|\
|
R|ap_bpushfd\
|void $*(BUFF *fb, int fd_in, int fd_out);\
|\
|\
|
R|ap_bputs\
|int $*(const char *x, BUFF *fb);\
|\
|\
|
R|ap_bread\
|int $*(BUFF *fb, void *buf, int nbyte);\
|\
|\
|
R|ap_bsetflag\
|int $*(BUFF *fb, int flag, int value);\
|\
|\
|
R|ap_bsetopt\
|int $*(BUFF *fb, int optname, const void *optval);\
|\
|\
|
R|ap_bskiplf\
|int $*(BUFF *fb);\
|\
|\
|
R|ap_bvputs\
|int $*(BUFF *fb, ...);\
|\
|\
|
R|ap_bwrite\
|int $*(BUFF *fb, const void *buf, int nbyte);\
|\
|\
|
R|ap_bytes_in_free_blocks\
|long $*(void);\
|\
|\
|
R|ap_call_exec\
|int $*(request_rec *r, char *argv0, char **env, int shellcmd);\
|\
|\
|
R|ap_can_exec\
|int $*(const struct stat *fstat);\
|\
|\
|
R|ap_cfg_closefile\
|int $*(configfile_t *fp);\
|\
|\
|
R|ap_cfg_getc\
|int $*(configfile_t *cfp);\
|\
|\
|
R|ap_cfg_getline\
|int $*(char *buf, size_t bufsize, configfile_t *cfp);\
|\
|\
|
R|ap_chdir_file\
|void $*(const char *file);\
|\
|\
|
R|ap_check_access\
|\
|\
|\
|
R|ap_check_alarm\
|int $*(void);\
|\
|\
|
R|ap_check_auth\
|\
|\
|\
|
R|ap_check_cmd_context\
|const char *$*(cmd_parms *cmd, unsigned forbidden);\
|\
|\
|
R|ap_check_user_id\
|\
|\
|\
|
R|ap_checkmask\
|int $*(const char *data, const char *mask);\
|\
|\
|
R|ap_child_exit_modules\
|\
|\
|\
|
R|ap_child_init_modules\
|\
|\
|\
|
R|ap_child_terminate\
|void $*(request_rec *r);\
|\
|\
|
R|ap_cleanup_for_exec\
|void $*(void);\
|\
|\
|
R|ap_clear_module_list\
|void $*(void);\
|\
|\
|
R|ap_construct_server\
|char *$*(pool *p, const char *hostname, unsigned port, \
const request_rec *r);\
|\
|\
|
R|ap_construct_url\
|char *$*(pool *p, const char *uri, const request_rec *r);\
|\
|\
|
R|ap_core_reorder_directories\
|\
|\
|\
|
R|ap_count_dirs\
|int $*(const char *path);\
|\
|\
|
R|ap_create_environment\
|char **$*(pool *p, table *t);\
|\
|\
|
R|ap_create_per_dir_config\
|void *$*(pool *p);\
|\
|\
|
R|ap_create_request_config\
|\
|\
|\
|
R|ap_default_port_for_request\
|unsigned short $*(const request_rec *r);\
|\
|\
|
R|ap_default_port_for_scheme\
|unsigned short $*(const char *scheme_str);\
|\
|\
|
R|ap_default_type\
|char *$*(request_req *r);\
|\
|\
|
R|ap_destroy_sub_req\
|void $*(request_rec *r);\
|\
|\
|
R|ap_die\
|\
|\
|\
|
R|ap_discard_request_body\
|int $*(request_rec *r);\
|\
|\
|
R|ap_document_root\
|char *$*(request_rec *r);\
|\
|\
|
R|ap_each_byterange\
|int $*(request_rec *r, long *offset, long *length);\
|\
|\
|
R|ap_error_log2stderr\
|void $*(server_rec *s);\
|\
|\
|
R|ap_escape_html\
|char *$*(pool *p, const char *s);\
|\
|\
|
R|ap_escape_path_segment\
|char *$*(pool *p, const char *s);\
|\
|\
|
R|ap_escape_shell_cmd\
|char *$*(pool *p, const char *s);\
|\
|\
|
R|ap_finalize_request_protocol\
|\
|\
|\
|
R|ap_finalize_sub_req_protocol\
|\
|\
|\
|
R|ap_find_command\
|const command_rec *$*(const char *name, const command_rec *cmds);\
|\
|\
|
R|ap_find_command_in_modules\
|const command_rec *$*(const char *cmd_name, module **m);\
|\
|\
|
R|ap_find_last_token\
|int $*(pool *p, const char *line, const char *tok);\
|\
|\
|
R|ap_find_linked_module\
|module *$*(const char *name);\
|\
|\
|
R|ap_find_module_name\
|const char *$*(module *m);\
|\
|\
|
R|ap_find_path_info\
|int $*(const char *uri, const char *path_info);\
|\
|\
|
R|ap_find_token\
|int $*(pool *p, const char *line, const char *tok);\
|\
|\
|
R|ap_find_types\
|\
|\
|\
|
R|ap_fini_vhost_config\
|\
|\
|\
|
R|ap_fnmatch\
|int $*(const char *s1, const char *s2, int n);\
|\
|\
|
R|ap_force_library_loading\
|\
|\
|\
|
R|ap_get_basic_auth_pw\
|int $*(request_rec *r, char **pw);\
|\
|\
|
R|ap_get_client_block\
|long $*(request_rec *r, char *buffer, int bufsiz);\
|\
|\
|
R|ap_get_gmtoff\
|struct tm *$*(int *tz);\
|\
|\
|
R|ap_get_local_host\
|\
|\
|\
|
R|ap_get_module_config\
|void *$*(void *conf_vector, module *m);\
|\
|\
|
R|ap_get_remote_host\
|const char *$*(conn_rec *conn, void *dir_config, int type);\
|\
|\
|
R|ap_get_remote_logname\
|const char *$*(request_rec *r);\
|\
|\
|
R|ap_get_server_port\
|unsigned $*(const *r);\
|\
|\
|
R|ap_get_time\
|char *$*(void);\
|\
|\
|
R|ap_get_token\
|char *$*(pool *p, char **accept_line, int accept_white);\
|\
|\
|
R|ap_get_virthost_addr\
|\
|\
|\
|
R|ap_getparents\
|void $*(char *name);\
|\
|\
|
R|ap_getword\
|char *$*(pool *p, const char **line, char stop);\
|\
|\
|
R|ap_getword_conf\
|char *$*(pool *p, const char **line);\
|\
|\
|
R|ap_getword_conf_nc\
|char *$*(pool *p, char **line);\
|\
|\
|
R|ap_getword_nc\
|char *$*(pool *p, char **line, char stop);\
|\
|\
|
R|ap_getword_nulls\
|char *$*(pool *p, const char **line, char stop);\
|\
|\
|
R|ap_getword_nulls_nc\
|char *$*(pool *p, char **line, char stop);\
|\
|\
|
R|ap_getword_white\
|char *$*(pool *p, const char **line);\
|\
|\
|
R|ap_getword_white_nc\
|char *$*(pool *p, char **line);\
|\
|\
|
R|ap_gm_timestr_822\
|char *$*(pool *p, time_t t);\
|\
|\
|
R|ap_gname2id\
|gid_t $*(const char *name);\
|\
|\
|
R|ap_handle_command\
|const char *$*(cmd_parms *parms, void *config, const char *l);\
|\
|\
|
R|ap_hard_timeout\
|void $*(char *reason, request_rec *r);\
|\
|\
|
R|ap_header_parse\
|\
|\
|\
|
R|ap_ht_time\
|char *$*(pool *p, time_t t, const char *fmt, int gmt);\
|\
|\
|
R|ap_ind\
|int $*(const char *str, char c);\
|\
|\
|
R|ap_index_of_response\
|int $*(int status);\
|\
|\
|
R|ap_init_alloc\
|\
|\
|\
|
R|ap_init_modules\
|\
|\
|\
|
R|ap_init_vhost_config\
|\
|\
|\
|
R|ap_init_virtual_host\
|const char *$*(pool *p, const char *hostname, server_rec *main_server, \
server_rec **);\
|\
|\
|
R|ap_internal_redirect\
|void $*(const char *new_uri, request_rec *r);\
|\
|\
|
R|ap_internal_redirect_handler\
|void $*(const char *new_uri, request_rec *r);\
|\
|\
|
R|ap_invoke_handler\
|\
|\
|\
|
R|ap_is_directory\
|int $*(const char *name);\
|\
|\
|
R|ap_is_fnmatch\
|int $*(const char *str);\
|\
|\
|
R|ap_is_initial_req\
|int $*(request_rec *r);\
|\
|\
|
R|ap_is_matchexp\
|int $*(const char *str);\
|\
|\
|
R|ap_is_url\
|int $*(const char *u);\
|\
|\
|
R|ap_keepalive_timeout\
|\
|\
|\
|
R|ap_kill_cleanup\
|void $*(pool *p, void *data, void (*plain_cleanup) (void *));\
|\
|\
|
R|ap_kill_cleanups_for_fd\
|void $*(pool *p, int fd);\
|\
|\
|
R|ap_kill_cleanups_for_socket\
|void $*(pool *p, int sock);\
|\
|\
|
R|ap_kill_timeout\
|void $*(request_rec *r);\
|\
|\
|
R|ap_limit_section\
|const char *$*(R (const char *szExp, const char *szFile, int nLine);\
|\
|\
|
R|ap_log_error\
|void $*(const char *file, int line, int level, const server_rec *s, \
const char *fmt, ...) __attribute__((format(printf,5,6)));\
|\
|\
|
R|ap_log_pid\
|\
|\
|\
|
R|ap_log_printf\
|void $*(const server_rec *s, const char *fmt, ...);\
|\
|\
|
R|ap_log_reason\
|void $*(const char *reason, const char *fname, request_rec *r);\
|\
|\
|
R|ap_log_transaction\
|\
|\
|\
|
R|ap_log_unixerr\
|void $*(const char *routine, const char *file, const char *msg, \
server_rec *s);\
|\
|\
|
R|ap_make_dirstr\
|char *$*(pool *a, const char *s, int n);\
|\
|\
|
R|ap_make_dirstr_parent\
|char *$*(pool *p, const char *s);\
|\
|\
|
R|ap_make_dirstr_prefix\
|char *$*(char *d, const char *s, int n);\
|\
|\
|
R|ap_make_full_path\
|char *$*(pool *a, const char *dir, const char *f);\
|\
|\
|
R|ap_matches_request_vhost\
|int $*(request_rec *r, const char *host, unsigned port);\
|\
|\
|
R|ap_meets_conditions\
|int $*(request_rec *r);\
|\
|\
|
R|ap_merge_per_dir_configs\
|\
|\
|\
|
R|ap_no2slash\
|void $*(char *name);\
|\
|\
|
R|ap_note_auth_failure\
|void $*(request_rec *r);\
|\
|\
|
R|ap_note_basic_auth_failure\
|void $*(request_rec *r);\
|\
|\
|
R|ap_note_cleanups_for_fd\
|void $*(pool *p, int fd);\
|\
|\
|
R|ap_note_cleanups_for_file\
|void $*(pool *p, FILE *f);\
|\
|\
|
R|ap_note_cleanups_for_socket\
|void $*(pool *p, int sock);\
|\
|\
|
R|ap_note_digest_auth_failure\
|void $*(request_rec *r);\
|\
|\
|
R|ap_note_subprocess\
|void $*(pool *p, int pid, enum kill_conditions how);\
|\
|\
|
R|ap_null_cleanup\
|void $*(void *data);\
|\
|\
|
R|ap_open_logs\
|\
|\
|\
|
R|ap_escape_path\
|char *$*(pool *p, const char *path, int partial);\
|\
|\
|
R|ap_os_is_path_absolute\
|\
|\
|\
|
R|ap_parseHTTPdate\
|time_t $*(const char *date);\
|\
|\
|
R|ap_parse_htaccess\
|\
|\
|\
|
R|ap_parse_uri\
|void $*(request_rec *r, const char *uri);\
|\
|\
|
R|ap_parse_uri_components\
|int $*(pool *p, const char *uri, uri_components *uptr);\
|\
|\
|
R|ap_parse_vhost_addrs\
|\
|\
|\
|
R|ap_pcfg_open_custom\
|configfile_t *$*(pool *p, const char *descr, void *param, \
int(*getc_func)(void*), \n \
void *(*gets_func) \
(void *buf, size_t bufsiz, void *param), \
int (*close_func) (void *a));\
|\
|\
|
R|ap_pcfg_openfile\
|configfile_t *$*(pool *p, const char *name);\
|\
|\
|
R|ap_process_request\
|\
|\
|\
|
R|ap_process_resource_config\
|\
|\
|\
|
R|ap_psignature\
|const char *$*(const char *prefix, request_rec *r);\
|\
|\
|
R|ap_rationalize_mtime\
|time_t $*(request_rec *r, time_t mtime);\
|\
|\
|
R|ap_read_config\
|\
|\
|\
|
R|ap_read_request\
|\
|\
|\
|
R|ap_register_cleanup\
|void $*(pool *p, void *data, void (*plain_cleanup) (void *), \
void (*child_cleanup) (void *));\
|\
|\
|
R|ap_register_other_child\
|void $*(int pid, void (*maintenance) \
(int reason, void *data, int status), void *data, int write_fd);\
|\
|\
|
R|ap_remove_module\
|void $*(module *m);\
|\
|\
|
R|ap_requires\
|array_header *$*(request_rec *r);\
|\
|\
|
R|ap_reset_timeout\
|void $*(request_rec *r);\
|\
|\
|
R|ap_response_code_string\
|\
|\
|\
|
R|ap_rfc1413\
|\
|\
|\
|
R|ap_rflush\
|int $*(request_rec *r);\
|\
|\
|
R|ap_rind\
|int $*(const char *str, char c);\
|\
|\
|
R|ap_rprintf\
|int $*(request_rec *r, const char *fmt, ...);\
|\
|\
|
R|ap_rputc\
|int $*(int c, request_rec *r);\
|\
|\
|
R|ap_rputs\
|int $*(const char *str, request_rec *r);\
|\
|\
|
R|ap_run_cleanup\
|void $*(pool *p, void *data, void (*cleanup) (void *));\
|\
|\
|
R|ap_run_fixups\
|\
|\
|\
|
R|ap_run_post_read_request\
|\
|\
|\
|
R|ap_run_sub_req\
|int $*(request_rec *r);\
|\
|\
|
R|ap_rvputs\
|int $*(request_rec *r, ...);\
|\
|\
|
R|ap_rwrite\
|int $*(const void *buf, int nbyte, request_rec *r);\
|\
|\
|
R|ap_satisfies\
|int $*(request_rec *r);\
|\
|\
|
R|ap_scan_script_header_err\
|int $*(request_rec *r, FILE *f, char *buffer);\
|\
|\
|
R|ap_scan_script_header_err_buff\
|int $*(request_rec *r, BUFF *f, char *buffer);\
|\
|\
|
R|ap_send_error_response\
|\
|\
|\
|
R|ap_send_fb\
|long $*(BUFF *f, request_rec *r);\
|\
|\
|
R|ap_send_fb_length\
|long $*(BUFF *f, request_rec *r, long length);\
|\
|\
|
R|ap_send_fd\
|long $*(FILE *f, request_rec *r);\
|\
|\
|
R|ap_send_fd_length\
|long $*(FILE *f, request_rec *r, long length);\
|\
|\
|
R|ap_send_header_field\
|int $*(request_rec *r, const char *fieldname, const char *fieldval);\
|\
|\
|
R|ap_send_http_header\
|void $*(request_rec *r);\
|\
|\
|
R|ap_send_http_options\
|\
|\
|\
|
R|ap_send_http_trace\
|\
|\
|\
|
R|ap_send_mmap\
|size_t $*(void *mm, request_rec *r, size_t offset, size_t length);\
|\
|\
|
R|ap_send_size\
|void $*(size_t size, request_rec *r);\
|\
|\
|
R|ap_server_root_relative\
|char *$*(pool *p, char *fname);\
|\
|\
|
R|ap_set_byterange\
|int $*(request_rec *r);\
|\
|\
|
R|ap_set_callback_and_alarm\
|\
|\
|\
|
R|ap_set_content_length\
|int $*(request_rec *r, long length);\
|\
|\
|
R|ap_set_etag\
|void $*(request_rec *r);\
|\
|\
|
R|ap_set_file_slot\
|const char *$*(cmd_parms *cmd, char *s1, char *s2);\
|\
|\
|
R|ap_set_flag_slot\
|const char *$*(cmd_parms *cmd, char *s1, int flag);\
|\
|\
|
R|ap_set_keepalive\
|int $*(request_rec *r);\
|\
|\
|
R|ap_set_last_modified\
|void $*(request_rec *r);\
|\
|\
|
R|ap_set_module_config\
|void $*(void *conf_vector, module *m, void *val);\
|\
|\
|
R|ap_set_name_virtual_host\
|\
|\
|\
|
R|ap_set_string_slot\
|const char *$*(cmd_parms *cmd, char *s1, char *s2);\
|\
|\
|
R|ap_set_string_slot_lower\
|const char *$*(cmd_parms *cmd, char *s1, char *s2);\
|\
|\
|
R|ap_set_sub_req_protocol\
|\
|\
|\
|
R|ap_setup_client_block\
|int $*(request_rec *r, int read_policy);\
|\
|\
|
R|ap_setup_prelinked_modules\
|\
|\
|\
|
R|ap_should_client_block\
|int $*(request_rec *r);\
|\
|\
|\

R|ap_show_directives\
|\
|\
|\
|
R|ap_show_modules\
|\
|\
|\
|
R|ap_soft_timeout\
|void $*(char *str, request_rec *r);\
|\
|\
|
R|ap_some_auth_required\
|int $*(request_rec *r);\
|\
|\
|
R|ap_spawn_child_err\
|int $*(pool *p, int (*)(void *), void *, enum kill_conditions, \
FILE **pipe_in, FILE **pipe_out, FILE **pipe_err);\
|\
|\
|
R|ap_spawn_child_err_buff\
|int $*(pool *p, int (*)(void *), void *, enum kill_conditions, \n \
BUFF **pipe_in, BUFF **pipe_out, BUFF **pipe_err);\
|\
|\
|
R|ap_srm_command_loop\
|const char *$*(cmd_parms *parms, void *config);\
|\
|\
|
R|ap_start_restart\
|\
|\
|\
|
R|ap_start_shutdown\
|\
|\
|\
|
R|ap_str_tolower\
|void $*(char *str);\
|\
|\
|
R|ap_strcasecmp_match\
|int $*(const char *str, const char *exp);\
|\
|\
|
R|ap_strcmp_match\
|int $*(const char *str, const char *exp);\
|\
|\
|
R|ap_sub_req_lookup_file\
|request_rec *$*(const char *new_file, const request_rec *r);\
|\
|\
|
R|ap_sub_req_lookup_uri\
|request_rec *$*(const char *new_file, const request_rec *r);\
|\
|\
|
R|ap_time_process_request\
|\
|\
|\
|
R|ap_tm2sec\
|time_t $*(const struct tm *t);\
|\
|\
|
R|ap_translate_name\
|\
|\
|\
|
R|ap_uname2id\
|uid_t $*(const char *name);\
|\
|\
|
R|ap_unblock_alarms\
|void $*(void);\
|\
|\
|
R|ap_unescape_url\
|int $*(char *url);\
|\
|\
|
R|ap_unparse_uri_components\
|char *$*(pool *p, const uri_components *uptr, unsigned flags);\
|\
|\
|
R|ap_unregister_other_child\
|void $*(void *data);\
|\
|\
|
R|ap_update_child_status\
|\
|\
|\
|
R|ap_update_mtime\
|time_t $*(request_rec *r, time_t dependency_mtime);\
|\
|\
|
R|ap_update_vhost_from_headers\
|\
|\
|\
|
R|ap_update_vhost_given_ip\
|\
|\
|\
|
R|ap_util_init\
|\
|\
|\
|
R|ap_util_uri_init\
|\
|\
|\
|
R|ap_uudecode\
|char *$*(pool *p, const char *str);\
|\
|\
|
R|ap_vbprintf\
|int $*(BUFF *fb, const char *fmt, va_list vlist);\
|\
|\
|
#;
#; More miscellaneous contant definitions
#;
#;
#; Miscellaneous constants
#;
C|MAX_STRING_LEN\
|#define $* <EM>numbytes</EM>\
|char random_string[$*];\
|\
|
C|SERVER_VERSION\
|#define $* <EM>string</EM>\
|Deprecated; use ap_get_server_version() instead.\
|\
|
C|HARD_SERVER_LIMIT\
|#define $* <EM>value</EM>\
|\
|\
|
C|kill_conditions\
|enum $* { \n \
kill_never, \n \
kill_always, \n \
kill_after_timeout, \n \
just_wait, \n \
kill_only_once \n \
};\
|\
|\
|
C|MODULE_MAGIC_NUMBER\
|#define $* <EM>monotonically-increasing-value</EM>\
|\
|\
|
C|SERVER_SUPPORT\
|#define $* "http://www.apache.org/"\
|\
|\
|
#;
#; The values that module hooks can return. These have special meanings;
#; real failures are indicated by using the HTTP_xxx values mentioned
#; elsewhere.
#;
X|SA-dirstat\
|\
|\
|OK,DECLINED,DONE\
|
C|OK\
|#define $* <EM>value</EM>\
|\
|SA-dirstat\
|
C|DECLINED\
|#define $* <EM>value</EM>\
|\
|SA-dirstat\
|
C|DONE\
|#define $* <EM>value</EM>\
|\
|SA-dirstat\
|
#;
#; HTTP status code declarations.
#;
C|HTTP_CONTINUE\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_SWITCHING_PROTOCOLS\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_OK\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_CREATED\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_ACCEPTED\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_NON_AUTHORITATIVE\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_NO_CONTENT\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_RESET_CONTENT\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_PARTIAL_CONTENT\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_MULTIPLE_CHOICES\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_MOVED_PERMANENTLY\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_MOVED_TEMPORARILY\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_SEE_OTHER\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_NOT_MODIFIED\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_USE_PROXY\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_BAD_REQUEST\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_UNAUTHORIZED\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_PAYMENT_REQUIRED\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_FORBIDDEN\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_NOT_FOUND\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_METHOD_NOT_ALLOWED\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_NOT_ACCEPTABLE\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_PROXY_AUTHENTICATION_REQUIRED\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_REQUEST_TIME_OUT\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_CONFLICT\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_GONE\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_LENGTH_REQUIRED\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_PRECONDITION_FAILED\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_REQUEST_ENTITY_TOO_LARGE\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_REQUEST_URI_TOO_LARGE\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_UNSUPPORTED_MEDIA_TYPE\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_INTERNAL_SERVER_ERROR\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_NOT_IMPLEMENTED\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_BAD_GATEWAY\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_SERVICE_UNAVAILABLE\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_GATEWAY_TIME_OUT\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_VERSION_NOT_SUPPORTED\
|#define $* <EM>value</EM>\
|\
|\
|
C|HTTP_VARIANT_ALSO_VARIES\
|#define $* <EM>value</EM>\
|\
|\
|
#;
#; These are macros, but they are invoked as though they were routines -
#; so that's how we list them.
#;
X|SA-status-check\
|\
|\
|is_HTTP_INFO,is_HTTP_SUCCESS,is_HTTP_REDIRECT\
,is_HTTP_ERROR,is_HTTP_CLIENT_ERROR,is_HTTP_SERVER_ERROR\
,status_drops_connection\
|
R|is_HTTP_INFO\
|#define $*(x) (((x) &gt;= 100) &amp;&amp; ((x) &lt; 200))\
|\
|SA-status-check\
|
R|is_HTTP_SUCCESS\
|#define $*(x) (((x) &gt;= 200) &amp;&amp; ((x) &lt; 300))\
|\
|SA-status-check\
|
R|is_HTTP_REDIRECT\
|#define $*(x) (((x) &gt;= 300) &amp;&amp; ((x) &lt; 400))\
|\
|SA-status-check\
|
R|is_HTTP_ERROR\
|#define $*(x) (((x) &gt;= 400) &amp;&amp; ((x) &lt; 600))\
|\
|SA-status-check\
|
R|is_HTTP_CLIENT_ERROR\
|#define $*(x) (((x) &gt;= 400) &amp;&amp; ((x) &lt; 500))\
|\
|SA-status-check\
|
R|is_HTTP_SERVER_ERROR\
|#define $*(x) (((x) &gt;= 500) &amp;&amp; ((x) &lt; 600))\
|\
|SA-status-check\
|
#;
#; This is another messy definition; the spacing has to be done
#; correctly for horizontal alignment in the final <PRE> block.
#;
R|status_drops_connection\
|#define $*(x) (((x) == HTTP_BAD_REQUEST) &#124;&#124;\n\
((x) == HTTP_REQUEST_TIME_OUT) &#124;&#124;\n\
((x) == HTTP_LENGTH_REQUIRED) &#124;&#124;\n\
((x) == HTTP_REQUEST_ENTITY_TOO_LARGE) &#124;&#124;\n\
((x) == HTTP_REQUEST_URI_TOO_LARGE) &#124;&#124;\n\
((x) == HTTP_INTERNAL_SERVER_ERROR) &#124;&#124;\n\
((x) == HTTP_SERVICE_UNAVAILABLE) &#124;&#124;\n\
((x) == HTTP_NOT_IMPLEMENTED))\
|\
|SA-status-check\
|
X|SA-methods\
|\
|\
|M_GET,M_PUT,M_POST,M_DELETE,M_CONNECT,M_OPTIONS,M_TRACE,M_INVALID\
|
C|M_GET\
|#define $* <EM>value</EM>\
|\
|SA-methods\
|
C|M_PUT\
|#define $* <EM>value</EM>\
|\
|SA-methods\
|
C|M_POST\
|#define $* <EM>value</EM>\
|\
|SA-methods\
|
C|M_DELETE\
|#define $* <EM>value</EM>\
|\
|SA-methods\
|
C|M_CONNECT\
|#define $* <EM>value</EM>\
|\
|SA-methods\
|
C|M_OPTIONS\
|#define $* <EM>value</EM>\
|\
|SA-methods\
|
C|M_TRACE\
|#define $* <EM>value</EM>\
|\
|SA-methods\
|
C|M_INVALID\
|#define $* <EM>value</EM>\
|\
|SA-methods\
|