From f7e32fc89371c543e6ecb17aed0d4a6a85317394 Mon Sep 17 00:00:00 2001 From: "William A. Rowe Jr" Date: Sun, 28 May 2000 03:52:42 +0000 Subject: [PATCH] PR: Obtained from: Submitted by: Reviewed by: Finally a patch that can't (well, shouldn't :-) break any other platform. Open up the symbols defined for http_main.c to move main() from the core under Win32 (that's the real main(), not that apache_main() thing). Win32 Project file changes will follow in a seperate patch. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85326 13f79535-47bb-0310-9956-ffa450edef68 --- ApacheCore.def | 13 ++++++++++++- include/http_config.h | 25 ++++++++++++++----------- include/util_uri.h | 2 +- libhttpd.def | 13 ++++++++++++- server/config.c | 17 +++++++++-------- server/main.c | 2 +- server/util_uri.c | 4 ++-- 7 files changed, 51 insertions(+), 25 deletions(-) diff --git a/ApacheCore.def b/ApacheCore.def index 68836fc32d..c032629c7b 100644 --- a/ApacheCore.def +++ b/ApacheCore.def @@ -299,7 +299,7 @@ EXPORTS ; ap_snprintf @292 ;ap_suexec_enabled @293 ; ap_table_do @294 - apache_main @295 +; apache_main @295 asis_module @296 auth_module @297 autoindex_module @298 @@ -400,3 +400,14 @@ EXPORTS ap_bread_core @395 ap_bwrite_core @396 ap_mpm_init_complete @397 + +; Exclusively provided for http_main.c + ap_register_hooks @398 + ap_prelinked_modules @399 + ap_preloaded_modules @400 + ap_post_config_hook @401 + ap_run_pre_config @402 + ap_run_rewrite_args @403 + ap_show_directives @404 + ap_show_modules @405 + ap_util_uri_init @406 diff --git a/include/http_config.h b/include/http_config.h index 32f17eebaa..04210856e9 100644 --- a/include/http_config.h +++ b/include/http_config.h @@ -368,8 +368,8 @@ API_EXPORT(const char *) ap_check_cmd_context(cmd_parms *cmd, unsigned forbidden extern API_VAR_EXPORT module *top_module; -extern module *ap_prelinked_modules[]; -extern module *ap_preloaded_modules[]; +extern API_VAR_EXPORT module *ap_prelinked_modules[]; +extern API_VAR_EXPORT module *ap_preloaded_modules[]; extern API_VAR_EXPORT module **ap_loaded_modules; /* For mod_so.c... */ @@ -378,16 +378,15 @@ void ap_single_module_configure(ap_pool_t *p, server_rec *s, module *m); /* For http_main.c... */ -void ap_setup_prelinked_modules(process_rec *process); -void ap_show_directives(void); -void ap_show_modules(void); -server_rec *ap_read_config(process_rec *process, ap_pool_t *temp_pool, const char *config_name); -void ap_post_config_hook(ap_pool_t *pconf, ap_pool_t *plog, ap_pool_t *ptemp, server_rec *s); -void ap_child_init_hook(ap_pool_t *pchild, server_rec *s); -void ap_run_rewrite_args(process_rec *process); -void ap_run_pre_config(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptemp); +API_EXPORT(void) ap_setup_prelinked_modules(process_rec *process); +API_EXPORT(void) ap_show_directives(void); +API_EXPORT(void) ap_show_modules(void); +API_EXPORT(server_rec*) ap_read_config(process_rec *process, ap_pool_t *temp_pool, const char *config_name); +API_EXPORT(void) ap_post_config_hook(ap_pool_t *pconf, ap_pool_t *plog, ap_pool_t *ptemp, server_rec *s); +API_EXPORT(void) ap_run_rewrite_args(process_rec *process); +API_EXPORT(void) ap_run_pre_config(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptemp); -void ap_register_hooks(module *m); +API_EXPORT(void) ap_register_hooks(module *m); /* For http_request.c... */ @@ -408,6 +407,10 @@ CORE_EXPORT(const char *) ap_init_virtual_host(ap_pool_t *p, const char *hostnam server_rec *main_server, server_rec **); void ap_process_resource_config(server_rec *s, const char *fname, ap_pool_t *p, ap_pool_t *ptemp); +/* For individual MPMs... */ + +void ap_child_init_hook(ap_pool_t *pchild, server_rec *s); + /* Module-method dispatchers, also for http_request.c */ int ap_translate_name(request_rec *); diff --git a/include/util_uri.h b/include/util_uri.h index 02645f20dc..86e1097b16 100644 --- a/include/util_uri.h +++ b/include/util_uri.h @@ -121,7 +121,7 @@ API_EXPORT(char *) ap_unparse_uri_components(ap_pool_t *p, const uri_components API_EXPORT(int) ap_parse_uri_components(ap_pool_t *p, const char *uri, uri_components *uptr); API_EXPORT(int) ap_parse_hostinfo_components(ap_pool_t *p, const char *hostinfo, uri_components *uptr); /* called by the core in main() */ -extern void ap_util_uri_init(void); +API_EXPORT(void) ap_util_uri_init(void); #ifdef __cplusplus } diff --git a/libhttpd.def b/libhttpd.def index 68836fc32d..c032629c7b 100644 --- a/libhttpd.def +++ b/libhttpd.def @@ -299,7 +299,7 @@ EXPORTS ; ap_snprintf @292 ;ap_suexec_enabled @293 ; ap_table_do @294 - apache_main @295 +; apache_main @295 asis_module @296 auth_module @297 autoindex_module @298 @@ -400,3 +400,14 @@ EXPORTS ap_bread_core @395 ap_bwrite_core @396 ap_mpm_init_complete @397 + +; Exclusively provided for http_main.c + ap_register_hooks @398 + ap_prelinked_modules @399 + ap_preloaded_modules @400 + ap_post_config_hook @401 + ap_run_pre_config @402 + ap_run_rewrite_args @403 + ap_show_directives @404 + ap_show_modules @405 + ap_util_uri_init @406 diff --git a/server/config.c b/server/config.c index 20b9feb1a0..09942c9923 100644 --- a/server/config.c +++ b/server/config.c @@ -366,7 +366,7 @@ int ap_invoke_handler(request_rec *r) return HTTP_INTERNAL_SERVER_ERROR; } -void ap_register_hooks(module *m) +API_EXPORT(void) ap_register_hooks(module *m) { if(m->register_hooks) { @@ -534,7 +534,7 @@ API_EXPORT(void) ap_remove_loaded_module(module *mod) *m = NULL; } -void ap_setup_prelinked_modules(process_rec *process) +API_EXPORT(void) ap_setup_prelinked_modules(process_rec *process) { module **m; module **m2; @@ -1529,7 +1529,8 @@ static server_rec *init_server_config(process_rec *process, ap_pool_t *p) } -server_rec *ap_read_config(process_rec *process, ap_pool_t *ptemp, const char *confname) +API_EXPORT(server_rec*) ap_read_config(process_rec *process, ap_pool_t *ptemp, + const char *confname) { ap_pool_t *p = process->pconf; server_rec *s = init_server_config(process, p); @@ -1561,7 +1562,7 @@ void ap_single_module_configure(ap_pool_t *p, server_rec *s, module *m) (*m->create_dir_config)(p, NULL)); } -void ap_run_rewrite_args(process_rec *process) +API_EXPORT(void) ap_run_rewrite_args(process_rec *process) { module *m; @@ -1570,7 +1571,7 @@ void ap_run_rewrite_args(process_rec *process) (*m->rewrite_args) (process); } -void ap_run_pre_config(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptemp) +API_EXPORT(void) ap_run_pre_config(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptemp) { module *m; @@ -1580,7 +1581,7 @@ void ap_run_pre_config(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptemp) init_handlers(p); } -void ap_post_config_hook(ap_pool_t *pconf, ap_pool_t *plog, ap_pool_t *ptemp, server_rec *s) +API_EXPORT(void) ap_post_config_hook(ap_pool_t *pconf, ap_pool_t *plog, ap_pool_t *ptemp, server_rec *s) { ap_run_post_config(pconf,plog,ptemp,s); init_handlers(pconf); @@ -1672,7 +1673,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 -h. */ -void ap_show_directives() +API_EXPORT(void) ap_show_directives() { const command_rec *pc; int n; @@ -1687,7 +1688,7 @@ void ap_show_directives() } /* Show the preloaded module names. Used for httpd -l. */ -void ap_show_modules() +API_EXPORT(void) ap_show_modules() { int n; diff --git a/server/main.c b/server/main.c index 7e9ec6f122..1a796efc51 100644 --- a/server/main.c +++ b/server/main.c @@ -279,7 +279,7 @@ static void usage(process_rec *process) } #ifdef WIN32 -API_EXPORT_NONSTD(int) apache_main(int argc, char *argv[]) +int apache_main(int argc, char *argv[]) #else API_EXPORT(int) main(int argc, char *argv[]) #endif diff --git a/server/util_uri.c b/server/util_uri.c index 7a6320906a..07da60f29b 100644 --- a/server/util_uri.c +++ b/server/util_uri.c @@ -233,7 +233,7 @@ API_EXPORT(char *) ap_unparse_uri_components(ap_pool_t *p, const uri_components static regex_t re_uri; static regex_t re_hostpart; -void ap_util_uri_init(void) +API_EXPORT(void) ap_util_uri_init(void) { int ret; const char *re_str; @@ -431,7 +431,7 @@ API_EXPORT(int) ap_parse_uri_components(ap_pool_t *p, const char *uri, uri_compo #define NOTEND_HOSTINFO (T_SLASH | T_QUESTION | T_HASH | T_NUL) #define NOTEND_PATH (T_QUESTION | T_HASH | T_NUL) -void ap_util_uri_init(void) +API_EXPORT(void) ap_util_uri_init(void) { /* nothing to do */ } -- 2.40.0