From: William A. Rowe Jr Date: Fri, 28 Dec 2001 05:03:08 +0000 (+0000) Subject: Normalize symbol exports for Win32/Netware to the httpd.exp reference. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80f1ee71b67bb4983256cee5757a51f8325d7971;p=thirdparty%2Fapache%2Fhttpd.git Normalize symbol exports for Win32/Netware to the httpd.exp reference. Diff tags pre_win_nw_syms/post_win_nw_syms for complete edit. Note I've corrected _SEVERAL_ badly declared symbols on Win32 into API_EXPORT_NONSTD flavors (e.g. those using (...) args). This may, or may not, break binary compatibility depending on how those args are addressed, and if those functions were used. I've further tested by setting aside the .def file and rebuilding, and validated that our symbols list corresponds to the API_DECLARE() macros at this moment. Submitted by: Thomas Eibner Reviewed by: Stoddard, Rowe git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@92633 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/ApacheCore.def b/src/ApacheCore.def index 0a14c418f33..684878dfbe0 100644 --- a/src/ApacheCore.def +++ b/src/ApacheCore.def @@ -389,3 +389,54 @@ EXPORTS 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 diff --git a/src/ap/ap_snprintf.c b/src/ap/ap_snprintf.c index 882a8135252..a4c1ed3eec6 100644 --- a/src/ap/ap_snprintf.c +++ b/src/ap/ap_snprintf.c @@ -1171,7 +1171,7 @@ static int snprintf_flush(ap_vformatter_buff *vbuff) } -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; diff --git a/src/include/ap.h b/src/include/ap.h index bf498002170..829284d59bd 100644 --- a/src/include/ap.h +++ b/src/include/ap.h @@ -159,7 +159,7 @@ API_EXPORT(int) ap_vformatter(int (*flush_func)(ap_vformatter_buff *), * 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); diff --git a/src/include/ap_alloc.h b/src/include/ap_alloc.h index 97f7c761ea8..6954f6c3a32 100644 --- a/src/include/ap_alloc.h +++ b/src/include/ap_alloc.h @@ -92,7 +92,7 @@ extern "C" { 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 *); @@ -232,8 +232,8 @@ API_EXPORT(void) ap_table_mergen(table *, const char *name, const char *more_val 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); diff --git a/src/include/buff.h b/src/include/buff.h index 6a12b4e766c..c3272381c97 100644 --- a/src/include/buff.h +++ b/src/include/buff.h @@ -172,7 +172,7 @@ API_EXPORT(int) ap_bskiplf(BUFF *fb); 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); diff --git a/src/include/http_conf_globals.h b/src/include/http_conf_globals.h index aa7f879899a..7bca318eff3 100644 --- a/src/include/http_conf_globals.h +++ b/src/include/http_conf_globals.h @@ -82,14 +82,14 @@ extern gid_t group_id_list[NGROUPS_MAX]; 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 @@ -98,7 +98,7 @@ extern API_VAR_EXPORT int ap_extended_status; 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; @@ -113,14 +113,14 @@ extern API_VAR_EXPORT char ap_server_root[MAX_STRING_LEN]; 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 } diff --git a/src/include/http_config.h b/src/include/http_config.h index 694e4af4394..0176b0c79b5 100644 --- a/src/include/http_config.h +++ b/src/include/http_config.h @@ -346,33 +346,33 @@ extern API_VAR_EXPORT module **ap_loaded_modules; /* 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... ( 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); @@ -389,16 +389,16 @@ 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 */ diff --git a/src/include/http_core.h b/src/include/http_core.h index 32bdb524266..1635c9ee759 100644 --- a/src/include/http_core.h +++ b/src/include/http_core.h @@ -172,7 +172,7 @@ API_EXPORT(file_type_e) ap_get_win32_interpreter(const request_rec *, char **); * 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; @@ -333,7 +333,7 @@ typedef struct { } 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); diff --git a/src/include/http_log.h b/src/include/http_log.h index fe7514e20ce..0e7a11d1334 100644 --- a/src/include/http_log.h +++ b/src/include/http_log.h @@ -105,7 +105,7 @@ extern "C" { #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 @@ -115,22 +115,22 @@ void ap_open_logs (server_rec *, pool *p); * 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); diff --git a/src/include/http_main.h b/src/include/http_main.h index f480658a3b0..38edb338dea 100644 --- a/src/include/http_main.h +++ b/src/include/http_main.h @@ -116,16 +116,16 @@ extern "C" { 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); diff --git a/src/include/http_protocol.h b/src/include/http_protocol.h index cec87ed389b..968c4dbbd2e 100644 --- a/src/include/http_protocol.h +++ b/src/include/http_protocol.h @@ -70,7 +70,7 @@ extern "C" { /* 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 */ @@ -91,7 +91,7 @@ API_EXPORT(void) ap_send_http_header(request_rec *l); /* 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 */ @@ -205,8 +205,8 @@ API_EXPORT(int) ap_get_basic_auth_pw(request_rec *r, const char **pw); * 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 */ diff --git a/src/include/http_request.h b/src/include/http_request.h index 95eb8f2ebe4..c1e26f7b13c 100644 --- a/src/include/http_request.h +++ b/src/include/http_request.h @@ -107,7 +107,7 @@ API_EXPORT(time_t) ap_update_mtime(request_rec *r, time_t dependency_mtime); #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 diff --git a/src/include/http_vhost.h b/src/include/http_vhost.h index 672bfdfb3d5..60618963d63 100644 --- a/src/include/http_vhost.h +++ b/src/include/http_vhost.h @@ -64,24 +64,24 @@ extern "C" { #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 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 diff --git a/src/include/httpd.h b/src/include/httpd.h index 935cad60c86..2c50e63ee88 100644 --- a/src/include/httpd.h +++ b/src/include/httpd.h @@ -1139,8 +1139,8 @@ API_EXPORT(int) ap_checkconv(struct request_rec *r); /* for downloads */ 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; diff --git a/src/include/rfc1413.h b/src/include/rfc1413.h index d2ce78a6e71..73b0f0c2fea 100644 --- a/src/include/rfc1413.h +++ b/src/include/rfc1413.h @@ -63,7 +63,7 @@ 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 } diff --git a/src/main/alloc.c b/src/main/alloc.c index 3c76c6095fd..b31409d1a60 100644 --- a/src/main/alloc.c +++ b/src/main/alloc.c @@ -502,7 +502,7 @@ static void dump_stats(void) } #endif -pool *ap_init_alloc(void) +API_EXPORT(pool *) ap_init_alloc(void) { #ifdef POOL_DEBUG char s; @@ -1480,8 +1480,8 @@ API_EXPORT(table *) ap_overlay_tables(pool *p, const table *overlay, const table * 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; diff --git a/src/main/buff.c b/src/main/buff.c index 9e597267f9b..b2bb81f37f8 100644 --- a/src/main/buff.c +++ b/src/main/buff.c @@ -59,6 +59,7 @@ #include "httpd.h" #include "http_main.h" #include "http_log.h" +#include "buff.h" #include #include diff --git a/src/main/http_config.c b/src/main/http_config.c index ba704a82948..795cbb97254 100644 --- a/src/main/http_config.c +++ b/src/main/http_config.c @@ -155,7 +155,7 @@ static void *create_default_per_dir_config(pool *p) 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); @@ -210,7 +210,7 @@ static void merge_server_configs(pool *p, void *base, void *virt) } } -void *ap_create_request_config(pool *p) +CORE_EXPORT(void *) ap_create_request_config(pool *p) { return create_empty_config(p); } @@ -376,37 +376,37 @@ static int run_method(request_rec *r, int offset, int run_all) 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); } @@ -416,12 +416,12 @@ int ap_run_post_read_request(request_rec *r) * 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); } @@ -485,7 +485,7 @@ static void init_handlers(pool *p) 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; @@ -696,7 +696,7 @@ API_EXPORT(void) ap_remove_loaded_module(module *mod) *m = NULL; } -void ap_setup_prelinked_modules(void) +API_EXPORT(void) ap_setup_prelinked_modules(void) { module **m; module **m2; @@ -1206,7 +1206,7 @@ static int fname_alphasort(const void *fn1, const void *fn2) 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; @@ -1318,7 +1318,7 @@ void ap_process_resource_config(server_rec *s, char *fname, pool *p, pool *ptemp 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; @@ -1574,7 +1574,7 @@ static void default_listeners(pool *p, server_rec *s) } -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); @@ -1597,7 +1597,7 @@ server_rec *ap_read_config(pool *p, pool *ptemp, char *confname) 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, @@ -1607,7 +1607,7 @@ void ap_single_module_configure(pool *p, server_rec *s, module *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; @@ -1618,7 +1618,7 @@ void ap_init_modules(pool *p, server_rec *s) 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; @@ -1627,7 +1627,7 @@ void ap_child_init_modules(pool *p, server_rec *s) (*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; @@ -1722,7 +1722,7 @@ static void show_overrides(const command_rec *pc, module *pm) * 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; @@ -1737,7 +1737,7 @@ void ap_show_directives(void) } /* Show the preloaded module names. Used for httpd -l. */ -void ap_show_modules(void) +API_EXPORT(void) ap_show_modules(void) { int n; diff --git a/src/main/http_core.c b/src/main/http_core.c index 3072b194b0e..b35880c617b 100644 --- a/src/main/http_core.c +++ b/src/main/http_core.c @@ -457,7 +457,7 @@ static int reorder_sorter(const void *va, const void *vb) 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; @@ -577,7 +577,7 @@ API_EXPORT(int) ap_satisfies(request_rec *r) * 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; diff --git a/src/main/http_log.c b/src/main/http_log.c index 409ede21ee4..82de525985b 100644 --- a/src/main/http_log.c +++ b/src/main/http_log.c @@ -251,7 +251,7 @@ static void open_error_log(server_rec *s, pool *p) } } -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; @@ -472,7 +472,7 @@ static void log_error_core(const char *file, int line, int level, #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; @@ -482,7 +482,7 @@ API_EXPORT(void) ap_log_error(const char *file, int line, int level, 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; @@ -508,7 +508,7 @@ API_EXPORT(void) ap_log_rerror(const char *file, int line, int level, 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; @@ -567,7 +567,7 @@ API_EXPORT(void) ap_log_unixerr(const char *routine, const char *file, 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; diff --git a/src/main/http_main.c b/src/main/http_main.c index 60d4737b574..7906119fbc7 100644 --- a/src/main/http_main.c +++ b/src/main/http_main.c @@ -166,8 +166,8 @@ int ap_main(int argc, char *argv[]); * 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); } @@ -234,7 +234,7 @@ unsigned int ap_thread_stack_size = 65536; #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; @@ -247,16 +247,16 @@ API_VAR_EXPORT int ap_threads_per_child=0; 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); @@ -309,11 +309,11 @@ static listen_rec *head_listener; 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... */ @@ -1577,7 +1577,7 @@ static void alrm_handler(int sig) } #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; @@ -1670,7 +1670,7 @@ API_EXPORT(void) ap_reset_timeout(request_rec *r) -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 @@ -2547,7 +2547,7 @@ static void clean_parent_exit(int code) 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; @@ -3106,7 +3106,7 @@ static void usr1_handler(int sig) 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 /* diff --git a/src/main/http_protocol.c b/src/main/http_protocol.c index 41f4af42d2b..2c31d7852c2 100644 --- a/src/main/http_protocol.c +++ b/src/main/http_protocol.c @@ -1073,7 +1073,7 @@ static void get_mime_headers(request_rec *r) 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; @@ -1234,7 +1234,7 @@ request_rec *ap_read_request(conn_rec *conn) * *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 */ @@ -1260,7 +1260,7 @@ void ap_set_sub_req_protocol(request_rec *rnew, const request_rec *r) 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); } @@ -1588,7 +1588,7 @@ API_EXPORT(int) ap_send_http_trace(request_rec *r) 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; @@ -2522,7 +2522,7 @@ API_EXPORT(int) ap_vrprintf(request_rec *r, const char *fmt, va_list ap) 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; diff --git a/src/main/http_request.c b/src/main/http_request.c index 32bf7ebafc5..a511ba48af3 100644 --- a/src/main/http_request.c +++ b/src/main/http_request.c @@ -1314,7 +1314,7 @@ static void process_request_internal(request_rec *r) ap_finalize_request_protocol(r); } -void ap_process_request(request_rec *r) +API_EXPORT(void) ap_process_request(request_rec *r) { int old_stat; diff --git a/src/main/http_vhost.c b/src/main/http_vhost.c index c1d4463896c..9947e8d8adb 100644 --- a/src/main/http_vhost.c +++ b/src/main/http_vhost.c @@ -149,7 +149,7 @@ static server_addr_rec **name_vhost_list_tail; /* 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; @@ -242,7 +242,7 @@ static const char *get_addresses(pool *p, char *w, server_addr_rec ***paddr, /* parse the 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; @@ -268,7 +268,7 @@ const char *ap_parse_vhost_addrs(pool *p, const char *hostname, server_rec *s) } -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, @@ -530,7 +530,7 @@ static void remove_unused_name_vhosts(server_rec *main_s, ipaddr_chain **pic) } /* 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; @@ -946,7 +946,7 @@ static void check_serverpath(request_rec *r) } -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"))) { @@ -967,7 +967,7 @@ void ap_update_vhost_from_headers(request_rec *r) /* 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); diff --git a/src/main/rfc1413.c b/src/main/rfc1413.c index 9118d265637..007b67a0799 100644 --- a/src/main/rfc1413.c +++ b/src/main/rfc1413.c @@ -235,7 +235,7 @@ static int get_rfc1413(int sock, const struct sockaddr_in *our_sin, } /* 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; diff --git a/src/main/util.c b/src/main/util.c index 71232cef9b4..aaa974119f5 100644 --- a/src/main/util.c +++ b/src/main/util.c @@ -1962,7 +1962,7 @@ API_EXPORT(gid_t) ap_gname2id(const char *name) * Parses a host of the form
[: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; @@ -2028,7 +2028,7 @@ static char *find_fqdn(pool *a, struct hostent *p) 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 diff --git a/src/os/netware/ApacheCore.imp b/src/os/netware/ApacheCore.imp index b4440913fd1..4be4ced5f04 100644 --- a/src/os/netware/ApacheCore.imp +++ b/src/os/netware/ApacheCore.imp @@ -362,4 +362,55 @@ 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,