ap_stripprefix @380
ap_os_dso_load @381
ap_os_dso_error @382
+ ap_update_vhost_from_headers @383
+ ap_update_vhost_given_ip @384
+ ap_set_name_virtual_host @385
+ ap_parse_vhost_addrs @386
+ ap_fini_vhost_config @387
+ ap_init_vhost_config @388
+ ap_check_access @389
+ ap_check_auth @390
+ ap_check_user_id @391
+ ap_translate_name @392
+ ap_find_types @393
+ ap_run_fixups @394
+ ap_invoke_handler @395
+ ap_log_transaction @396
+ ap_header_parse @397
+ ap_run_post_read_request @398
+ ap_init_modules @400
+ ap_child_init_modules @401
+ ap_child_exit_modules @402
+ ap_setup_prelinked_modules @403
+ ap_show_directives @404
+ ap_show_modules @405
+ ap_parse_htaccess @406
+ ap_process_resource_config @407
+ ap_create_request_config @408
+ ap_merge_per_dir_configs @409
+ ap_bind_address @410
+ ap_core_reorder_directories @411
+ ap_coredump_dir @412
+ ap_finalize_sub_req_protocol @413
+ ap_force_library_loading @414
+ ap_get_local_host @415
+ ap_get_virthost_addr @416
+ ap_init_alloc @417
+ ap_keepalive_timeout @418
+ ap_listenbacklog @419
+ ap_lock_fname @420
+ ap_log_pid @421
+ ap_open_logs @422
+ ap_process_request @423
+ ap_read_config @424
+ ap_read_request @425
+ ap_response_code_string @426
+ ap_rfc1413 @427
+ ap_send_http_options @428
+ ap_server_config_defines @429
+ ap_server_post_read_config @430
+ ap_server_pre_read_config @431
+ ap_set_callback_and_alarm @432
+ ap_set_sub_req_protocol @433
+ ap_update_child_status @434
}
-API_EXPORT(int) ap_snprintf(char *buf, size_t len, const char *format,...)
+API_EXPORT_NONSTD(int) ap_snprintf(char *buf, size_t len, const char *format,...)
{
int cc;
va_list ap;
* to distinguish between an output which was truncated, and an output which
* exactly filled the buffer.
*/
-API_EXPORT(int) ap_snprintf(char *buf, size_t len, const char *format,...)
+API_EXPORT_NONSTD(int) ap_snprintf(char *buf, size_t len, const char *format,...)
__attribute__((format(printf,3,4)));
API_EXPORT(int) ap_vsnprintf(char *buf, size_t len, const char *format,
va_list ap);
typedef struct pool pool;
typedef struct pool ap_pool;
-pool * ap_init_alloc(void); /* Set up everything */
+API_EXPORT(pool *) ap_init_alloc(void); /* Set up everything */
void ap_cleanup_alloc(void);
API_EXPORT(pool *) ap_make_sub_pool(pool *); /* All pools are subpools of permanent_pool */
API_EXPORT(void) ap_destroy_pool(pool *);
API_EXPORT(void) ap_table_unset(table *, const char *key);
API_EXPORT(void) ap_table_add(table *, const char *name, const char *val);
API_EXPORT(void) ap_table_addn(table *, const char *name, const char *val);
-API_EXPORT(void) ap_table_do(int (*comp) (void *, const char *, const char *), void *rec,
- const table *t,...);
+API_EXPORT_NONSTD(void) ap_table_do(int (*comp) (void *, const char *, const char *),
+ void *rec, const table *t,...);
API_EXPORT(table *) ap_overlay_tables(pool *p, const table *overlay, const table *base);
API_EXPORT(int) ap_bwrite(BUFF *fb, const void *buf, int nbyte);
API_EXPORT(int) ap_bflush(BUFF *fb);
API_EXPORT(int) ap_bputs(const char *x, BUFF *fb);
-API_EXPORT(int) ap_bvputs(BUFF *fb,...);
+API_EXPORT_NONSTD(int) ap_bvputs(BUFF *fb,...);
API_EXPORT_NONSTD(int) ap_bprintf(BUFF *fb, const char *fmt,...)
__attribute__((format(printf,2,3)));
API_EXPORT(int) ap_vbprintf(BUFF *fb, const char *fmt, va_list vlist);
extern API_VAR_EXPORT int ap_max_requests_per_child;
extern API_VAR_EXPORT int ap_threads_per_child;
extern API_VAR_EXPORT int ap_excess_requests_per_child;
-extern struct in_addr ap_bind_address;
+extern API_VAR_EXPORT struct in_addr ap_bind_address;
extern listen_rec *ap_listeners;
extern API_VAR_EXPORT int ap_daemons_to_start;
extern API_VAR_EXPORT int ap_daemons_min_free;
extern API_VAR_EXPORT int ap_daemons_max_free;
extern API_VAR_EXPORT int ap_daemons_limit;
extern API_VAR_EXPORT int ap_suexec_enabled;
-extern int ap_listenbacklog;
+extern API_VAR_EXPORT int ap_listenbacklog;
#ifdef SO_ACCEPTFILTER
extern int ap_acceptfilter;
#endif
extern API_VAR_EXPORT char *ap_pid_fname;
extern API_VAR_EXPORT char *ap_scoreboard_fname;
-extern char *ap_lock_fname;
+extern API_VAR_EXPORT char *ap_lock_fname;
extern API_VAR_EXPORT char *ap_server_argv0;
extern enum server_token_type ap_server_tokens;
extern API_VAR_EXPORT char ap_server_confname[MAX_STRING_LEN];
/* for -C, -c and -D switches */
-extern array_header *ap_server_pre_read_config;
-extern array_header *ap_server_post_read_config;
-extern array_header *ap_server_config_defines;
+extern API_VAR_EXPORT array_header *ap_server_pre_read_config;
+extern API_VAR_EXPORT array_header *ap_server_post_read_config;
+extern API_VAR_EXPORT array_header *ap_server_config_defines;
/* We want this to have the least chance of being corrupted if there
* is some memory corruption, so we allocate it statically.
*/
-extern char ap_coredump_dir[MAX_STRING_LEN];
+extern API_VAR_EXPORT char ap_coredump_dir[MAX_STRING_LEN];
#ifdef __cplusplus
}
/* For mod_so.c... */
-void ap_single_module_configure(pool *p, server_rec *s, module *m);
+API_EXPORT(void) ap_single_module_configure(pool *p, server_rec *s, module *m);
/* For http_main.c... */
-server_rec *ap_read_config(pool *conf_pool, pool *temp_pool, char *config_name);
-void ap_init_modules(pool *p, server_rec *s);
-void ap_child_init_modules(pool *p, server_rec *s);
-void ap_child_exit_modules(pool *p, server_rec *s);
-void ap_setup_prelinked_modules(void);
-void ap_show_directives(void);
-void ap_show_modules(void);
+API_EXPORT(server_rec *) ap_read_config(pool *conf_pool, pool *temp_pool, char *config_name);
+API_EXPORT(void) ap_init_modules(pool *p, server_rec *s);
+API_EXPORT(void) ap_child_init_modules(pool *p, server_rec *s);
+API_EXPORT(void) ap_child_exit_modules(pool *p, server_rec *s);
+API_EXPORT(void) ap_setup_prelinked_modules(void);
+API_EXPORT(void) ap_show_directives(void);
+API_EXPORT(void) ap_show_modules(void);
void ap_cleanup_method_ptrs(void);
/* For http_request.c... */
-void *ap_create_request_config(pool *p);
+CORE_EXPORT(void *) ap_create_request_config(pool *p);
CORE_EXPORT(void *) ap_create_per_dir_config(pool *p);
-void *ap_merge_per_dir_configs(pool *p, void *base, void *new);
+CORE_EXPORT(void *) ap_merge_per_dir_configs(pool *p, void *base, void *new);
/* For http_core.c... (<Directory> command and virtual hosts) */
-int ap_parse_htaccess(void **result, request_rec *r, int override,
+CORE_EXPORT(int) ap_parse_htaccess(void **result, request_rec *r, int override,
const char *path, const char *access_name);
CORE_EXPORT(const char *) ap_init_virtual_host(pool *p, const char *hostname,
server_rec *main_server, server_rec **);
-void ap_process_resource_config(server_rec *s, char *fname, pool *p, pool *ptemp);
+CORE_EXPORT(void) ap_process_resource_config(server_rec *s, char *fname, pool *p, pool *ptemp);
/* ap_check_cmd_context() definitions: */
API_EXPORT(const char *) ap_check_cmd_context(cmd_parms *cmd, unsigned forbidden);
/* Module-method dispatchers, also for http_request.c */
-int ap_translate_name(request_rec *);
-int ap_check_access(request_rec *); /* check access on non-auth basis */
-int ap_check_user_id(request_rec *); /* obtain valid username from client auth */
-int ap_check_auth(request_rec *); /* check (validated) user is authorized here */
-int ap_find_types(request_rec *); /* identify MIME type */
-int ap_run_fixups(request_rec *); /* poke around for other metainfo, etc.... */
-int ap_invoke_handler(request_rec *);
-int ap_log_transaction(request_rec *r);
-int ap_header_parse(request_rec *);
-int ap_run_post_read_request(request_rec *);
+API_EXPORT(int) ap_translate_name(request_rec *);
+API_EXPORT(int) ap_check_access(request_rec *); /* check access on non-auth basis */
+API_EXPORT(int) ap_check_user_id(request_rec *); /* obtain valid username from client auth */
+API_EXPORT(int) ap_check_auth(request_rec *); /* check (validated) user is authorized here */
+API_EXPORT(int) ap_find_types(request_rec *); /* identify MIME type */
+API_EXPORT(int) ap_run_fixups(request_rec *); /* poke around for other metainfo, etc.... */
+API_EXPORT(int) ap_invoke_handler(request_rec *);
+API_EXPORT(int) ap_log_transaction(request_rec *r);
+API_EXPORT(int) ap_header_parse(request_rec *);
+API_EXPORT(int) ap_run_post_read_request(request_rec *);
/* for mod_perl */
* the code that cares really is in http_core.c. Also, another accessor.
*/
-char *ap_response_code_string (request_rec *r, int error_index);
+API_EXPORT(char *) ap_response_code_string (request_rec *r, int error_index);
extern API_VAR_EXPORT module core_module;
} core_server_config;
/* for http_config.c */
-void ap_core_reorder_directories(pool *, server_rec *);
+CORE_EXPORT(void) ap_core_reorder_directories(pool *, server_rec *);
/* for mod_perl */
CORE_EXPORT(void) ap_add_per_dir_conf (server_rec *s, void *dir_config);
#define APLOG_MARK __FILE__,__LINE__
-void ap_open_logs (server_rec *, pool *p);
+API_EXPORT(void) ap_open_logs (server_rec *, pool *p);
/* The two primary logging functions, ap_log_error and ap_log_rerror,
* use a printf style format string to build the log message. It is
* attack and other messy behavior. Instead, use a simple format string
* like "%s", followed by the string containing the untrusted data.
*/
-API_EXPORT(void) ap_log_error(const char *file, int line, int level,
+API_EXPORT_NONSTD(void) ap_log_error(const char *file, int line, int level,
const server_rec *s, const char *fmt, ...)
__attribute__((format(printf,5,6)));
-API_EXPORT(void) ap_log_rerror(const char *file, int line, int level,
+API_EXPORT_NONSTD(void) ap_log_rerror(const char *file, int line, int level,
const request_rec *s, const char *fmt, ...)
__attribute__((format(printf,5,6)));
API_EXPORT(void) ap_error_log2stderr (server_rec *);
-void ap_log_pid (pool *p, char *fname);
+API_EXPORT(void) ap_log_pid (pool *p, char *fname);
/* These are for legacy code, new code should use ap_log_error,
* or ap_log_rerror.
*/
API_EXPORT(void) ap_log_error_old(const char *err, server_rec *s);
API_EXPORT(void) ap_log_unixerr(const char *routine, const char *file,
const char *msg, server_rec *s);
-API_EXPORT(void) ap_log_printf(const server_rec *s, const char *fmt, ...)
+API_EXPORT_NONSTD(void) ap_log_printf(const server_rec *s, const char *fmt, ...)
__attribute__((format(printf,2,3)));
API_EXPORT(void) ap_log_reason(const char *reason, const char *fname,
request_rec *r);
API_EXPORT(void) ap_start_shutdown(void);
API_EXPORT(void) ap_start_restart(int);
API_EXPORT(void) ap_hard_timeout(char *, request_rec *);
-void ap_keepalive_timeout(char *, request_rec *);
+API_EXPORT(void) ap_keepalive_timeout(char *, request_rec *);
API_EXPORT(void) ap_soft_timeout(char *, request_rec *);
API_EXPORT(void) ap_kill_timeout(request_rec *);
API_EXPORT(void) ap_reset_timeout(request_rec *);
API_EXPORT(void) ap_child_terminate(request_rec *r);
API_EXPORT(void) ap_sync_scoreboard_image(void);
-int ap_update_child_status(int child_num, int status, request_rec *r);
+API_EXPORT(int) ap_update_child_status(int child_num, int status, request_rec *r);
void ap_time_process_request(int child_num, int status);
-unsigned int ap_set_callback_and_alarm(void (*fn) (int), int x);
+API_EXPORT_NONSTD(unsigned int) ap_set_callback_and_alarm(void (*fn) (int), int x);
API_EXPORT(int) ap_check_alarm(void);
void setup_signal_names(char *prefix);
/* Read a request and fill in the fields. */
-request_rec *ap_read_request(conn_rec *c);
+API_EXPORT(request_rec *) ap_read_request(conn_rec *c);
/* Send a single HTTP header field */
/* Send the response to special method requests */
API_EXPORT(int) ap_send_http_trace(request_rec *r);
-int ap_send_http_options(request_rec *r);
+API_EXPORT(int) ap_send_http_options(request_rec *r);
/* Finish up stuff after a request */
* Also, a wrapup function to keep the internal accounting straight.
*/
-void ap_set_sub_req_protocol(request_rec *rnew, const request_rec *r);
-void ap_finalize_sub_req_protocol(request_rec *sub_r);
+API_EXPORT(void) ap_set_sub_req_protocol(request_rec *rnew, const request_rec *r);
+API_EXPORT(void) ap_finalize_sub_req_protocol(request_rec *sub_r);
/* This is also useful for putting sub_reqs and internal_redirects together */
#ifdef CORE_PRIVATE
/* Function called by main.c to handle first-level request */
-void ap_process_request(request_rec *);
+API_EXPORT(void) ap_process_request(request_rec *);
API_EXPORT(void) ap_die(int type, request_rec *r);
#endif
#endif
/* called before any config is read */
-void ap_init_vhost_config(pool *p);
+API_EXPORT(void) ap_init_vhost_config(pool *p);
/* called after the config has been read */
-void ap_fini_vhost_config(pool *p, server_rec *main_server);
+API_EXPORT(void) ap_fini_vhost_config(pool *p, server_rec *main_server);
/* handle addresses in <VirtualHost> statement */
-const char *ap_parse_vhost_addrs(pool *p, const char *hostname, server_rec *s);
+API_EXPORT(const char *) ap_parse_vhost_addrs(pool *p, const char *hostname, server_rec *s);
/* handle NameVirtualHost directive */
-const char *ap_set_name_virtual_host (cmd_parms *cmd, void *dummy, char *arg);
+API_EXPORT_NONSTD(const char *) ap_set_name_virtual_host (cmd_parms *cmd, void *dummy, char *arg);
/* given an ip address only, give our best guess as to what vhost it is */
-void ap_update_vhost_given_ip(conn_rec *conn);
+API_EXPORT(void) ap_update_vhost_given_ip(conn_rec *conn);
/* The above is never enough, and this is always called after the headers
* have been read. It may change r->server.
*/
-void ap_update_vhost_from_headers(request_rec *r);
+API_EXPORT(void) ap_update_vhost_from_headers(request_rec *r);
/* return 1 if the host:port matches any of the aliases of r->server
* return 0 otherwise
API_EXPORT(int) ap_checkconv_in(struct request_rec *r); /* for uploads */
#endif /*#ifdef CHARSET_EBCDIC*/
-char *ap_get_local_host(pool *);
-unsigned long ap_get_virthost_addr(char *hostname, unsigned short *port);
+API_EXPORT(char *) ap_get_local_host(pool *);
+API_EXPORT(unsigned long) ap_get_virthost_addr(char *hostname, unsigned short *port);
extern API_VAR_EXPORT time_t ap_restart_time;
extern "C" {
#endif
-extern char *ap_rfc1413(conn_rec *conn, server_rec *srv);
+API_EXPORT(extern char *) ap_rfc1413(conn_rec *conn, server_rec *srv);
#ifdef __cplusplus
}
}
#endif
-pool *ap_init_alloc(void)
+API_EXPORT(pool *) ap_init_alloc(void)
{
#ifdef POOL_DEBUG
char s;
* Note that rec is simply passed-on to the comp function, so that the
* caller can pass additional info for the task.
*/
-API_EXPORT(void) ap_table_do(int (*comp) (void *, const char *, const char *), void *rec,
- const table *t,...)
+API_EXPORT_NONSTD(void) ap_table_do(int (*comp) (void *, const char *, const char *),
+ void *rec, const table *t,...)
{
va_list vp;
char *argp;
#include "httpd.h"
#include "http_main.h"
#include "http_log.h"
+#include "buff.h"
#include <errno.h>
#include <stdio.h>
return (void *) conf_vector;
}
-void *
+CORE_EXPORT(void *)
ap_merge_per_dir_configs(pool *p, void *base, void *new)
{
void **conf_vector = (void **) ap_palloc(p, sizeof(void *) * total_modules);
}
}
-void *ap_create_request_config(pool *p)
+CORE_EXPORT(void *) ap_create_request_config(pool *p)
{
return create_empty_config(p);
}
return run_all ? OK : DECLINED;
}
-int ap_translate_name(request_rec *r)
+API_EXPORT(int) ap_translate_name(request_rec *r)
{
return run_method(r, offsets_into_method_ptrs.translate_handler, 0);
}
-int ap_check_access(request_rec *r)
+API_EXPORT(int) ap_check_access(request_rec *r)
{
return run_method(r, offsets_into_method_ptrs.access_checker, 1);
}
-int ap_find_types(request_rec *r)
+API_EXPORT(int) ap_find_types(request_rec *r)
{
return run_method(r, offsets_into_method_ptrs.type_checker, 0);
}
-int ap_run_fixups(request_rec *r)
+API_EXPORT(int) ap_run_fixups(request_rec *r)
{
return run_method(r, offsets_into_method_ptrs.fixer_upper, 1);
}
-int ap_log_transaction(request_rec *r)
+API_EXPORT(int) ap_log_transaction(request_rec *r)
{
return run_method(r, offsets_into_method_ptrs.logger, 1);
}
-int ap_header_parse(request_rec *r)
+API_EXPORT(int) ap_header_parse(request_rec *r)
{
return run_method(r, offsets_into_method_ptrs.header_parser, 1);
}
-int ap_run_post_read_request(request_rec *r)
+API_EXPORT(int) ap_run_post_read_request(request_rec *r)
{
return run_method(r, offsets_into_method_ptrs.post_read_request, 1);
}
* separate from check_access to make catching some config errors easier.
*/
-int ap_check_user_id(request_rec *r)
+API_EXPORT(int) ap_check_user_id(request_rec *r)
{
return run_method(r, offsets_into_method_ptrs.ap_check_user_id, 0);
}
-int ap_check_auth(request_rec *r)
+API_EXPORT(int) ap_check_auth(request_rec *r)
{
return run_method(r, offsets_into_method_ptrs.auth_checker, 0);
}
ph->hr.handler = NULL;
}
-int ap_invoke_handler(request_rec *r)
+API_EXPORT(int) ap_invoke_handler(request_rec *r)
{
fast_handler_rec *handp;
const char *handler;
*m = NULL;
}
-void ap_setup_prelinked_modules(void)
+API_EXPORT(void) ap_setup_prelinked_modules(void)
{
module **m;
module **m2;
return strcmp(f1->fname,f2->fname);
}
-void ap_process_resource_config(server_rec *s, char *fname, pool *p, pool *ptemp)
+CORE_EXPORT(void) ap_process_resource_config(server_rec *s, char *fname, pool *p, pool *ptemp)
{
const char *errmsg;
cmd_parms parms;
ap_cfg_closefile(parms.config_file);
}
-int ap_parse_htaccess(void **result, request_rec *r, int override,
+CORE_EXPORT(int) ap_parse_htaccess(void **result, request_rec *r, int override,
const char *d, const char *access_name)
{
configfile_t *f = NULL;
}
-server_rec *ap_read_config(pool *p, pool *ptemp, char *confname)
+API_EXPORT(server_rec *) ap_read_config(pool *p, pool *ptemp, char *confname)
{
server_rec *s = init_server_config(p);
return s;
}
-void ap_single_module_configure(pool *p, server_rec *s, module *m)
+API_EXPORT(void) ap_single_module_configure(pool *p, server_rec *s, module *m)
{
if (m->create_server_config)
ap_set_module_config(s->module_config, m,
(*m->create_dir_config)(p, NULL));
}
-void ap_init_modules(pool *p, server_rec *s)
+API_EXPORT(void) ap_init_modules(pool *p, server_rec *s)
{
module *m;
init_handlers(p);
}
-void ap_child_init_modules(pool *p, server_rec *s)
+API_EXPORT(void) ap_child_init_modules(pool *p, server_rec *s)
{
module *m;
(*m->child_init) (s, p);
}
-void ap_child_exit_modules(pool *p, server_rec *s)
+API_EXPORT(void) ap_child_exit_modules(pool *p, server_rec *s)
{
module *m;
* the directive arguments, in what module they are handled, and in
* what parts of the configuration they are allowed. Used for httpd -L.
*/
-void ap_show_directives(void)
+API_EXPORT(void) ap_show_directives(void)
{
const command_rec *pc;
int n;
}
/* Show the preloaded module names. Used for httpd -l. */
-void ap_show_modules(void)
+API_EXPORT(void) ap_show_modules(void)
{
int n;
return a->orig_index - b->orig_index;
}
-void ap_core_reorder_directories(pool *p, server_rec *s)
+CORE_EXPORT(void) ap_core_reorder_directories(pool *p, server_rec *s)
{
core_server_config *sconf;
array_header *sec;
* modules).
*/
-char *ap_response_code_string(request_rec *r, int error_index)
+API_EXPORT(char *) ap_response_code_string(request_rec *r, int error_index)
{
core_dir_config *conf;
}
}
-void ap_open_logs(server_rec *s_main, pool *p)
+API_EXPORT(void) ap_open_logs(server_rec *s_main, pool *p)
{
server_rec *virt, *q;
int replace_stderr;
#endif
}
-API_EXPORT(void) ap_log_error(const char *file, int line, int level,
+API_EXPORT_NONSTD(void) ap_log_error(const char *file, int line, int level,
const server_rec *s, const char *fmt, ...)
{
va_list args;
va_end(args);
}
-API_EXPORT(void) ap_log_rerror(const char *file, int line, int level,
+API_EXPORT_NONSTD(void) ap_log_rerror(const char *file, int line, int level,
const request_rec *r, const char *fmt, ...)
{
va_list args;
va_end(args);
}
-void ap_log_pid(pool *p, char *fname)
+API_EXPORT(void) ap_log_pid(pool *p, char *fname)
{
FILE *pid_file;
struct stat finfo;
ap_log_error(file, 0, APLOG_ERR, s, "%s", msg);
}
-API_EXPORT(void) ap_log_printf(const server_rec *s, const char *fmt, ...)
+API_EXPORT_NONSTD(void) ap_log_printf(const server_rec *s, const char *fmt, ...)
{
va_list args;
* main/util_script.c would not be linked into a minimal httpd.
* And the extra prototype is to make gcc -Wmissing-prototypes quiet.
*/
-extern void ap_force_library_loading(void);
-void ap_force_library_loading(void) {
+API_EXPORT(void) ap_force_library_loading(void);
+API_EXPORT(void) ap_force_library_loading(void) {
ap_add_cgi_vars(NULL);
}
#endif
int ap_thread_count = 0;
API_VAR_EXPORT int ap_standalone=0;
-int ap_configtestonly=0;
+API_VAR_EXPORT int ap_configtestonly=0;
int ap_docrootcheck=1;
API_VAR_EXPORT uid_t ap_user_id=0;
API_VAR_EXPORT char *ap_user_name=NULL;
API_VAR_EXPORT int ap_excess_requests_per_child=0;
API_VAR_EXPORT char *ap_pid_fname=NULL;
API_VAR_EXPORT char *ap_scoreboard_fname=NULL;
-char *ap_lock_fname;
+API_VAR_EXPORT char *ap_lock_fname;
API_VAR_EXPORT char *ap_server_argv0=NULL;
-struct in_addr ap_bind_address;
+API_VAR_EXPORT struct in_addr ap_bind_address;
API_VAR_EXPORT int ap_daemons_to_start=0;
API_VAR_EXPORT int ap_daemons_min_free=0;
API_VAR_EXPORT int ap_daemons_max_free=0;
API_VAR_EXPORT int ap_daemons_limit=0;
-time_t ap_restart_time=0;
+API_VAR_EXPORT time_t ap_restart_time=0;
API_VAR_EXPORT int ap_suexec_enabled = 0;
-int ap_listenbacklog=0;
+API_VAR_EXPORT int ap_listenbacklog=0;
struct accept_mutex_methods_s {
void (*child_init)(pool *p);
API_VAR_EXPORT char ap_server_root[MAX_STRING_LEN]="";
API_VAR_EXPORT char ap_server_confname[MAX_STRING_LEN]="";
-char ap_coredump_dir[MAX_STRING_LEN];
+API_VAR_EXPORT char ap_coredump_dir[MAX_STRING_LEN];
-array_header *ap_server_pre_read_config;
-array_header *ap_server_post_read_config;
-array_header *ap_server_config_defines;
+API_VAR_EXPORT array_header *ap_server_pre_read_config;
+API_VAR_EXPORT array_header *ap_server_post_read_config;
+API_VAR_EXPORT array_header *ap_server_config_defines;
/* *Non*-shared http_main globals... */
}
#endif
-unsigned int ap_set_callback_and_alarm(void (*fn) (int), int x)
+API_EXPORT_NONSTD(unsigned int) ap_set_callback_and_alarm(void (*fn) (int), int x)
{
unsigned int old;
-void ap_keepalive_timeout(char *name, request_rec *r)
+API_EXPORT(void) ap_keepalive_timeout(char *name, request_rec *r)
{
unsigned int to;
#ifdef NETWARE
exit(code);
}
-int ap_update_child_status(int child_num, int status, request_rec *r)
+API_EXPORT(int) ap_update_child_status(int child_num, int status, request_rec *r)
{
int old_status;
short_score *ss;
static int volatile shutdown_pending;
static int volatile restart_pending;
static int volatile is_graceful;
-ap_generation_t volatile ap_my_generation=0;
+API_VAR_EXPORT ap_generation_t volatile ap_my_generation=0;
#ifdef WIN32
/*
ap_overlap_tables(r->headers_in, tmp_headers, AP_OVERLAP_TABLES_MERGE);
}
-request_rec *ap_read_request(conn_rec *conn)
+API_EXPORT(request_rec *) ap_read_request(conn_rec *conn)
{
request_rec *r;
pool *p;
* *someone* has to set the protocol-specific fields...
*/
-void ap_set_sub_req_protocol(request_rec *rnew, const request_rec *r)
+API_EXPORT(void) ap_set_sub_req_protocol(request_rec *rnew, const request_rec *r)
{
rnew->the_request = r->the_request; /* Keep original request-line */
rnew->main = (request_rec *) r;
}
-void ap_finalize_sub_req_protocol(request_rec *sub)
+API_EXPORT(void) ap_finalize_sub_req_protocol(request_rec *sub)
{
SET_BYTES_SENT(sub->main);
}
return OK;
}
-int ap_send_http_options(request_rec *r)
+API_EXPORT(int) ap_send_http_options(request_rec *r)
{
const long int zero = 0L;
return n;
}
-API_EXPORT(int) ap_rprintf(request_rec *r, const char *fmt,...)
+API_EXPORT_NONSTD(int) ap_rprintf(request_rec *r, const char *fmt,...)
{
va_list vlist;
int n;
ap_finalize_request_protocol(r);
}
-void ap_process_request(request_rec *r)
+API_EXPORT(void) ap_process_request(request_rec *r)
{
int old_stat;
/* called at the beginning of the config */
-void ap_init_vhost_config(pool *p)
+API_EXPORT(void) ap_init_vhost_config(pool *p)
{
memset(iphash_table, 0, sizeof(iphash_table));
default_list = NULL;
/* parse the <VirtualHost> addresses */
-const char *ap_parse_vhost_addrs(pool *p, const char *hostname, server_rec *s)
+API_EXPORT(const char *) ap_parse_vhost_addrs(pool *p, const char *hostname, server_rec *s)
{
server_addr_rec **addrs;
const char *err;
}
-const char *ap_set_name_virtual_host (cmd_parms *cmd, void *dummy, char *arg)
+API_EXPORT_NONSTD(const char *) ap_set_name_virtual_host (cmd_parms *cmd, void *dummy, char *arg)
{
/* use whatever port the main server has at this point */
return get_addresses(cmd->pool, arg, &name_vhost_list_tail,
}
/* compile the tables and such we need to do the run-time vhost lookups */
-void ap_fini_vhost_config(pool *p, server_rec *main_s)
+API_EXPORT(void) ap_fini_vhost_config(pool *p, server_rec *main_s)
{
server_addr_rec *sar;
int has_default_vhost_addr;
}
-void ap_update_vhost_from_headers(request_rec *r)
+API_EXPORT(void) ap_update_vhost_from_headers(request_rec *r)
{
/* must set this for HTTP/1.1 support */
if (r->hostname || (r->hostname = ap_table_get(r->headers_in, "Host"))) {
/* Called for a new connection which has a known local_addr. Note that the
* new connection is assumed to have conn->server == main server.
*/
-void ap_update_vhost_given_ip(conn_rec *conn)
+API_EXPORT(void) ap_update_vhost_given_ip(conn_rec *conn)
{
ipaddr_chain *trav;
unsigned port = ntohs(conn->local_addr.sin_port);
}
/* rfc1413 - return remote user name, given socket structures */
-char *ap_rfc1413(conn_rec *conn, server_rec *srv)
+API_EXPORT(char *) ap_rfc1413(conn_rec *conn, server_rec *srv)
{
static char user[RFC1413_USERLEN + 1]; /* XXX */
static char *result;
* Parses a host of the form <address>[:port]
* :port is permitted if 'port' is not NULL
*/
-unsigned long ap_get_virthost_addr(char *w, unsigned short *ports)
+API_EXPORT(unsigned long) ap_get_virthost_addr(char *w, unsigned short *ports)
{
struct hostent *hep;
unsigned long my_addr;
return ap_pstrdup(a, (void *) p->h_name);
}
-char *ap_get_local_host(pool *a)
+API_EXPORT(char *) ap_get_local_host(pool *a)
{
#ifndef MAXHOSTNAMELEN
#define MAXHOSTNAMELEN 256
ap_os_canonical_filename,
ap_os_http_method,
os_readdir,
- os_opendir
+ os_opendir,
+ ap_update_vhost_from_headers,
+ ap_update_vhost_given_ip,
+ ap_set_name_virtual_host,
+ ap_parse_vhost_addrs,
+ ap_fini_vhost_config,
+ ap_init_vhost_config,
+ ap_check_access,
+ ap_check_auth,
+ ap_check_user_id,
+ ap_translate_name,
+ ap_find_types,
+ ap_run_fixups,
+ ap_invoke_handler,
+ ap_log_transaction,
+ ap_header_parse,
+ ap_run_post_read_request,
+ ap_single_module_configure,
+ ap_init_modules,
+ ap_child_init_modules,
+ ap_child_exit_modules,
+ ap_setup_prelinked_modules,
+ ap_show_directives,
+ ap_show_modules,
+ ap_parse_htaccess,
+ ap_process_resource_config,
+ ap_create_request_config,
+ ap_merge_per_dir_configs,
+ ap_bind_address,
+ ap_core_reorder_directories,
+ ap_coredump_dir,
+ ap_force_library_loading,
+ ap_get_local_host,
+ ap_get_virthost_addr,
+ ap_init_alloc,
+ ap_keepalive_timeout,
+ ap_listenbacklog,
+ ap_lock_fname,
+ ap_log_pid,
+ ap_open_logs,
+ ap_process_request,
+ ap_read_config,
+ ap_read_request,
+ ap_response_code_string,
+ ap_rfc1413,
+ ap_send_http_options,
+ ap_server_config_defines,
+ ap_server_post_read_config,
+ ap_server_pre_read_config,
+ ap_set_callback_and_alarm,
+ ap_set_sub_req_protocol,
+ ap_update_child_status,