From cb7f073d26ae141aca76ce97a64adebbbe1e0a37 Mon Sep 17 00:00:00 2001 From: Bill Stoddard Date: Fri, 27 Aug 1999 22:57:27 +0000 Subject: [PATCH] A bunch of changes to get the server compiling on WIN32. mod_cgi, mod_include, mod_isapi and mod_so don't work so I am not making them. Moved a lot of code out of multithread.* and into os.* (didn't want to add multithread to the new repository). Much of this can be cleaned up when APR is stable. And Dean's gonna but me for sure for the http_main hit. It's may be possible to name a DLL entry point 'main()'. Just havent tried it yet. Enjoy! git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83822 13f79535-47bb-0310-9956-ffa450edef68 --- ApacheCore.def | 91 +++++++++++++++++++----------------- ApacheCore.dsp | 74 +++++++++++++++++------------ httpd.dsp | 74 +++++++++++++++++------------ include/ap_config.h | 1 + libhttpd.def | 91 +++++++++++++++++++----------------- os/win32/modules.c | 25 +++++----- os/win32/os.h | 35 ++++++++++++++ server/main.c | 6 ++- server/mpm/winnt/mpm_winnt.c | 2 +- 9 files changed, 235 insertions(+), 164 deletions(-) diff --git a/ApacheCore.def b/ApacheCore.def index a24ee51466..6b062b0789 100644 --- a/ApacheCore.def +++ b/ApacheCore.def @@ -16,7 +16,7 @@ EXPORTS ap_add_named_module @9 ap_add_per_dir_conf @10 ap_add_per_url_conf @11 - ap_add_version_component @12 + ;ap_add_version_component @12 ap_allow_options @13 ap_allow_overrides @14 ap_append_arrays @15 @@ -27,34 +27,34 @@ EXPORTS ap_bclose @20 ap_bcreate @21 ap_bfilbuf @22 - ap_bfileno @23 + ;ap_bfileno @23 ap_bflsbuf @24 ap_bflush @25 ap_bgetopt @26 ap_bgets @27 - ap_bhalfduplex @28 - ap_block_alarms @29 + ;ap_bhalfduplex @28 + ;ap_block_alarms @29 ap_blookc @30 - ap_bnonblock @31 + ;ap_bnonblock @31 ap_bonerror @32 - ap_bpushfd @33 - ap_bpushh @34 + ;ap_bpushfd @33 + ;ap_bpushh @34 ap_bputs @35 ap_bread @36 ap_bsetflag @37 ap_bsetopt @38 - ap_bskiplf @39 + ;ap_bskiplf @39 ap_bspawn_child @40 ap_bwrite @41 - ap_bytes_in_free_blocks @42 - ap_bytes_in_pool @43 + ;ap_bytes_in_free_blocks @42 + ;ap_bytes_in_pool @43 ap_call_exec @44 - ap_can_exec @45 + ;ap_can_exec @45 ap_cfg_closefile @46 ap_cfg_getc @47 ap_cfg_getline @48 ap_chdir_file @49 - ap_check_alarm @50 + ;ap_check_alarm @50 ap_check_cmd_context @51 ap_checkmask @52 ap_cleanup_for_exec @53 @@ -89,7 +89,7 @@ EXPORTS ap_escape_path_segment @82 ap_escape_quotes @83 ap_escape_shell_cmd @84 - ap_exists_scoreboard_image @85 + ;ap_exists_scoreboard_image @85 ap_finalize_request_protocol @86 ap_find_command @87 ap_find_command_in_modules @88 @@ -107,7 +107,7 @@ EXPORTS ap_get_server_built @100 ap_get_server_name @101 ap_get_server_port @102 - ap_get_server_version @103 + ;ap_get_server_version @103 ap_get_time @104 ap_get_token @105 ap_getparents @106 @@ -122,7 +122,7 @@ EXPORTS ap_gm_timestr_822 @115 ap_gname2id @116 ap_handle_command @117 - ap_hard_timeout @118 + ;ap_hard_timeout @118 ap_ht_time @119 ap_ind @120 ap_index_of_response @121 @@ -137,7 +137,7 @@ EXPORTS ap_kill_cleanup @130 ap_kill_cleanups_for_fd @131 ap_kill_cleanups_for_socket @132 - ap_kill_timeout @133 + ;ap_kill_timeout @133 ap_log_assert @134 ap_log_error_old @135 ap_log_reason @136 @@ -204,7 +204,7 @@ EXPORTS ap_remove_loaded_module @197 ap_remove_module @198 ap_requires @199 - ap_reset_timeout @200 + ;ap_reset_timeout @200 ap_rflush @201 ap_rind @202 ap_rputc @203 @@ -216,8 +216,8 @@ EXPORTS ap_scan_script_header_err @209 ap_scan_script_header_err_buff @210 ap_scan_script_header_err_core @211 - ap_send_fb @212 - ap_send_fb_length @213 + ;ap_send_fb @212 + ;ap_send_fb_length @213 ap_send_fd @214 ap_send_fd_length @215 ap_send_http_header @216 @@ -232,7 +232,7 @@ EXPORTS ap_set_last_modified @225 ap_setup_client_block @226 ap_should_client_block @227 - ap_soft_timeout @228 + ;ap_soft_timeout @228 ap_some_auth_required @229 ap_spawn_child @230 ap_srm_command_loop @231 @@ -241,7 +241,7 @@ EXPORTS ap_strcmp_match @234 ap_sub_req_lookup_file @235 ap_sub_req_lookup_uri @236 - ap_sync_scoreboard_image @237 + ;ap_sync_scoreboard_image @237 ap_table_add @238 ap_table_addn @239 ap_table_get @240 @@ -252,7 +252,7 @@ EXPORTS ap_table_unset @245 ap_tm2sec @246 ap_uname2id @247 - ap_unblock_alarms @248 + ;ap_unblock_alarms @248 ap_unescape_url @249 ap_unparse_uri_components @250 ap_update_mtime @251 @@ -275,7 +275,7 @@ EXPORTS ap_bprintf @268 ap_bvputs @269 ap_day_snames @270 - ap_extended_status @271 + ;ap_extended_status @271 ap_limit_section @272 ap_loaded_modules @273 ap_log_error @274 @@ -285,10 +285,10 @@ EXPORTS ap_null_cleanup @278 ap_psprintf @279 ap_pstrcat @280 - ap_restart_time @281 + ;ap_restart_time @281 ap_rprintf @282 ap_rvputs @283 - ap_scoreboard_image @284 + ;ap_scoreboard_image @284 ap_send_header_field @285 ap_server_argv0 @286 ap_server_root @287 @@ -297,24 +297,24 @@ EXPORTS ap_set_string_slot @290 ap_set_string_slot_lower @291 ap_snprintf @292 - ap_suexec_enabled @293 + ;ap_suexec_enabled @293 ap_table_do @294 apache_main @295 asis_module @296 auth_module @297 autoindex_module @298 - cgi_module @299 + ;cgi_module @299 config_log_module @300 core_module @301 dir_module @302 env_module @303 imap_module @304 - includes_module @305 + ;includes_module @305 mime_module @306 negotiation_module @307 os_spawnle @308 setenvif_module @309 - so_module @310 + ;so_module @310 top_module @311 ap_fnmatch @312 ap_method_number_of @313 @@ -328,20 +328,20 @@ EXPORTS ap_validate_password @322 ap_size_list_item @323 ap_get_list_item @324 - ap_scoreboard_fname @325 - ap_pid_fname @326 - ap_excess_requests_per_child @327 - ap_threads_per_child @328 - ap_max_requests_per_child @329 - ap_daemons_to_start @330 - ap_daemons_min_free @331 - ap_daemons_max_free @332 - ap_daemons_limit @333 - ap_user_name @334 - ap_user_id @335 - ap_group_id @336 - ap_standalone @337 - ap_server_confname @338 + ;ap_scoreboard_fname @325 + ;ap_pid_fname @326 + ;ap_excess_requests_per_child @327 + ;ap_threads_per_child @328 + ;ap_max_requests_per_child @329 + ;ap_daemons_to_start @330 + ;ap_daemons_min_free @331 + ;ap_daemons_max_free @332 + ;ap_daemons_limit @333 + ;ap_user_name @334 + ;ap_user_id @335 + ;ap_group_id @336 + ;ap_standalone @337 + ;ap_server_confname @338 ap_sub_req_method_uri @339 ap_regerror @341 ap_regexec @342 @@ -359,4 +359,7 @@ EXPORTS ap_SHA1Update @354 ap_SHA1Final @355 ap_sha1_base64 @356 - + ap_show_hook @357 + ap_hook_sort_register @358 + ap_hook_process_connection @359 + ap_process_http_connection @360 diff --git a/ApacheCore.dsp b/ApacheCore.dsp index 511e5feefe..462a2b98de 100644 --- a/ApacheCore.dsp +++ b/ApacheCore.dsp @@ -54,7 +54,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 -# ADD LINK32 os\win32\ApacheOSR\ApacheOS.lib regex\release\regex.lib ap\Release\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib /nologo /subsystem:windows /dll /machine:I386 +# ADD LINK32 os\win32\ApacheOSR\ApacheOS.lib regex\release\regex.lib ap\Release\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /machine:I386 !ELSEIF "$(CFG)" == "ApacheCore - Win32 Debug" @@ -80,7 +80,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 -# ADD LINK32 os\win32\ApacheOSD\ApacheOS.lib regex\debug\regex.lib ap\Debug\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib /nologo /subsystem:windows /dll /debug /machine:I386 +# ADD LINK32 os\win32\ApacheOSD\ApacheOS.lib regex\debug\regex.lib ap\Debug\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /debug /machine:I386 # SUBTRACT LINK32 /map !ENDIF @@ -118,6 +118,10 @@ SOURCE=.\main\http_config.c # End Source File # Begin Source File +SOURCE=.\main\http_connection.c +# End Source File +# Begin Source File + SOURCE=.\main\http_core.c # End Source File # Begin Source File @@ -142,6 +146,14 @@ SOURCE=.\main\http_vhost.c # End Source File # Begin Source File +SOURCE=.\os\win32\iol_socket.c +# End Source File +# Begin Source File + +SOURCE=.\main\listen.c +# End Source File +# Begin Source File + SOURCE=.\modules\standard\mod_access.c # End Source File # Begin Source File @@ -166,10 +178,6 @@ SOURCE=.\modules\standard\mod_autoindex.c # End Source File # Begin Source File -SOURCE=.\modules\standard\mod_cgi.c -# End Source File -# Begin Source File - SOURCE=.\modules\standard\mod_dir.c # End Source File # Begin Source File @@ -182,14 +190,6 @@ SOURCE=.\modules\standard\mod_imap.c # End Source File # Begin Source File -SOURCE=.\modules\standard\mod_include.c -# End Source File -# Begin Source File - -SOURCE=.\os\win32\mod_isapi.c -# End Source File -# Begin Source File - SOURCE=.\modules\standard\mod_log_config.c # End Source File # Begin Source File @@ -206,10 +206,6 @@ SOURCE=.\modules\standard\mod_setenvif.c # End Source File # Begin Source File -SOURCE=.\modules\standard\mod_so.c -# End Source File -# Begin Source File - SOURCE=.\modules\standard\mod_userdir.c # End Source File # Begin Source File @@ -218,10 +214,6 @@ SOURCE=.\os\win32\modules.c # End Source File # Begin Source File -SOURCE=.\os\win32\multithread.c -# End Source File -# Begin Source File - SOURCE=.\os\win32\readdir.c # End Source File # Begin Source File @@ -234,10 +226,6 @@ SOURCE=.\main\rfc1413.c # End Source File # Begin Source File -SOURCE=.\os\win32\service.c -# End Source File -# Begin Source File - SOURCE=.\main\util.c # End Source File # Begin Source File @@ -260,6 +248,10 @@ SOURCE=.\main\util_uri.c SOURCE=.\os\win32\util_win32.c # End Source File +# Begin Source File + +SOURCE=.\modules\mpm\winnt\winnt.c +# End Source File # End Group # Begin Group "Header Files" @@ -274,6 +266,18 @@ SOURCE=.\include\ap.h # End Source File # Begin Source File +SOURCE=.\include\ap_hooks.h +# End Source File +# Begin Source File + +SOURCE=.\include\ap_iol.h +# End Source File +# Begin Source File + +SOURCE=.\include\ap_listen.h +# End Source File +# Begin Source File + SOURCE=.\include\ap_md5.h # End Source File # Begin Source File @@ -310,6 +314,10 @@ SOURCE=.\include\http_config.h # End Source File # Begin Source File +SOURCE=.\include\http_connection.h +# End Source File +# Begin Source File + SOURCE=.\include\http_core.h # End Source File # Begin Source File @@ -338,11 +346,15 @@ SOURCE=.\include\httpd.h # End Source File # Begin Source File +SOURCE=.\os\win32\iol_socket.h +# End Source File +# Begin Source File + SOURCE=.\modules\standard\mod_mime.h # End Source File # Begin Source File -SOURCE=.\include\multithread.h +SOURCE=.\modules\mpm\winnt\mpm_default.h # End Source File # Begin Source File @@ -362,10 +374,6 @@ SOURCE=.\include\rfc1413.h # End Source File # Begin Source File -SOURCE=.\include\scoreboard.h -# End Source File -# Begin Source File - SOURCE=.\os\win32\service.h # End Source File # Begin Source File @@ -384,6 +392,10 @@ SOURCE=.\include\util_script.h SOURCE=.\include\util_uri.h # End Source File +# Begin Source File + +SOURCE=.\modules\mpm\winnt\winnt.h +# End Source File # End Group # Begin Group "Resource Files" diff --git a/httpd.dsp b/httpd.dsp index 511e5feefe..462a2b98de 100644 --- a/httpd.dsp +++ b/httpd.dsp @@ -54,7 +54,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 -# ADD LINK32 os\win32\ApacheOSR\ApacheOS.lib regex\release\regex.lib ap\Release\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib /nologo /subsystem:windows /dll /machine:I386 +# ADD LINK32 os\win32\ApacheOSR\ApacheOS.lib regex\release\regex.lib ap\Release\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /machine:I386 !ELSEIF "$(CFG)" == "ApacheCore - Win32 Debug" @@ -80,7 +80,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 -# ADD LINK32 os\win32\ApacheOSD\ApacheOS.lib regex\debug\regex.lib ap\Debug\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib /nologo /subsystem:windows /dll /debug /machine:I386 +# ADD LINK32 os\win32\ApacheOSD\ApacheOS.lib regex\debug\regex.lib ap\Debug\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /debug /machine:I386 # SUBTRACT LINK32 /map !ENDIF @@ -118,6 +118,10 @@ SOURCE=.\main\http_config.c # End Source File # Begin Source File +SOURCE=.\main\http_connection.c +# End Source File +# Begin Source File + SOURCE=.\main\http_core.c # End Source File # Begin Source File @@ -142,6 +146,14 @@ SOURCE=.\main\http_vhost.c # End Source File # Begin Source File +SOURCE=.\os\win32\iol_socket.c +# End Source File +# Begin Source File + +SOURCE=.\main\listen.c +# End Source File +# Begin Source File + SOURCE=.\modules\standard\mod_access.c # End Source File # Begin Source File @@ -166,10 +178,6 @@ SOURCE=.\modules\standard\mod_autoindex.c # End Source File # Begin Source File -SOURCE=.\modules\standard\mod_cgi.c -# End Source File -# Begin Source File - SOURCE=.\modules\standard\mod_dir.c # End Source File # Begin Source File @@ -182,14 +190,6 @@ SOURCE=.\modules\standard\mod_imap.c # End Source File # Begin Source File -SOURCE=.\modules\standard\mod_include.c -# End Source File -# Begin Source File - -SOURCE=.\os\win32\mod_isapi.c -# End Source File -# Begin Source File - SOURCE=.\modules\standard\mod_log_config.c # End Source File # Begin Source File @@ -206,10 +206,6 @@ SOURCE=.\modules\standard\mod_setenvif.c # End Source File # Begin Source File -SOURCE=.\modules\standard\mod_so.c -# End Source File -# Begin Source File - SOURCE=.\modules\standard\mod_userdir.c # End Source File # Begin Source File @@ -218,10 +214,6 @@ SOURCE=.\os\win32\modules.c # End Source File # Begin Source File -SOURCE=.\os\win32\multithread.c -# End Source File -# Begin Source File - SOURCE=.\os\win32\readdir.c # End Source File # Begin Source File @@ -234,10 +226,6 @@ SOURCE=.\main\rfc1413.c # End Source File # Begin Source File -SOURCE=.\os\win32\service.c -# End Source File -# Begin Source File - SOURCE=.\main\util.c # End Source File # Begin Source File @@ -260,6 +248,10 @@ SOURCE=.\main\util_uri.c SOURCE=.\os\win32\util_win32.c # End Source File +# Begin Source File + +SOURCE=.\modules\mpm\winnt\winnt.c +# End Source File # End Group # Begin Group "Header Files" @@ -274,6 +266,18 @@ SOURCE=.\include\ap.h # End Source File # Begin Source File +SOURCE=.\include\ap_hooks.h +# End Source File +# Begin Source File + +SOURCE=.\include\ap_iol.h +# End Source File +# Begin Source File + +SOURCE=.\include\ap_listen.h +# End Source File +# Begin Source File + SOURCE=.\include\ap_md5.h # End Source File # Begin Source File @@ -310,6 +314,10 @@ SOURCE=.\include\http_config.h # End Source File # Begin Source File +SOURCE=.\include\http_connection.h +# End Source File +# Begin Source File + SOURCE=.\include\http_core.h # End Source File # Begin Source File @@ -338,11 +346,15 @@ SOURCE=.\include\httpd.h # End Source File # Begin Source File +SOURCE=.\os\win32\iol_socket.h +# End Source File +# Begin Source File + SOURCE=.\modules\standard\mod_mime.h # End Source File # Begin Source File -SOURCE=.\include\multithread.h +SOURCE=.\modules\mpm\winnt\mpm_default.h # End Source File # Begin Source File @@ -362,10 +374,6 @@ SOURCE=.\include\rfc1413.h # End Source File # Begin Source File -SOURCE=.\include\scoreboard.h -# End Source File -# Begin Source File - SOURCE=.\os\win32\service.h # End Source File # Begin Source File @@ -384,6 +392,10 @@ SOURCE=.\include\util_script.h SOURCE=.\include\util_uri.h # End Source File +# Begin Source File + +SOURCE=.\modules\mpm\winnt\winnt.h +# End Source File # End Group # Begin Group "Resource Files" diff --git a/include/ap_config.h b/include/ap_config.h index f060821c42..d531c41742 100644 --- a/include/ap_config.h +++ b/include/ap_config.h @@ -1075,6 +1075,7 @@ typedef int rlim_t; #else /* WIN32 */ #include +#include /* AcceptEx, et. al. TODO: move into OS specific file (os.h? apr?) */ #include #include #include diff --git a/libhttpd.def b/libhttpd.def index a24ee51466..6b062b0789 100644 --- a/libhttpd.def +++ b/libhttpd.def @@ -16,7 +16,7 @@ EXPORTS ap_add_named_module @9 ap_add_per_dir_conf @10 ap_add_per_url_conf @11 - ap_add_version_component @12 + ;ap_add_version_component @12 ap_allow_options @13 ap_allow_overrides @14 ap_append_arrays @15 @@ -27,34 +27,34 @@ EXPORTS ap_bclose @20 ap_bcreate @21 ap_bfilbuf @22 - ap_bfileno @23 + ;ap_bfileno @23 ap_bflsbuf @24 ap_bflush @25 ap_bgetopt @26 ap_bgets @27 - ap_bhalfduplex @28 - ap_block_alarms @29 + ;ap_bhalfduplex @28 + ;ap_block_alarms @29 ap_blookc @30 - ap_bnonblock @31 + ;ap_bnonblock @31 ap_bonerror @32 - ap_bpushfd @33 - ap_bpushh @34 + ;ap_bpushfd @33 + ;ap_bpushh @34 ap_bputs @35 ap_bread @36 ap_bsetflag @37 ap_bsetopt @38 - ap_bskiplf @39 + ;ap_bskiplf @39 ap_bspawn_child @40 ap_bwrite @41 - ap_bytes_in_free_blocks @42 - ap_bytes_in_pool @43 + ;ap_bytes_in_free_blocks @42 + ;ap_bytes_in_pool @43 ap_call_exec @44 - ap_can_exec @45 + ;ap_can_exec @45 ap_cfg_closefile @46 ap_cfg_getc @47 ap_cfg_getline @48 ap_chdir_file @49 - ap_check_alarm @50 + ;ap_check_alarm @50 ap_check_cmd_context @51 ap_checkmask @52 ap_cleanup_for_exec @53 @@ -89,7 +89,7 @@ EXPORTS ap_escape_path_segment @82 ap_escape_quotes @83 ap_escape_shell_cmd @84 - ap_exists_scoreboard_image @85 + ;ap_exists_scoreboard_image @85 ap_finalize_request_protocol @86 ap_find_command @87 ap_find_command_in_modules @88 @@ -107,7 +107,7 @@ EXPORTS ap_get_server_built @100 ap_get_server_name @101 ap_get_server_port @102 - ap_get_server_version @103 + ;ap_get_server_version @103 ap_get_time @104 ap_get_token @105 ap_getparents @106 @@ -122,7 +122,7 @@ EXPORTS ap_gm_timestr_822 @115 ap_gname2id @116 ap_handle_command @117 - ap_hard_timeout @118 + ;ap_hard_timeout @118 ap_ht_time @119 ap_ind @120 ap_index_of_response @121 @@ -137,7 +137,7 @@ EXPORTS ap_kill_cleanup @130 ap_kill_cleanups_for_fd @131 ap_kill_cleanups_for_socket @132 - ap_kill_timeout @133 + ;ap_kill_timeout @133 ap_log_assert @134 ap_log_error_old @135 ap_log_reason @136 @@ -204,7 +204,7 @@ EXPORTS ap_remove_loaded_module @197 ap_remove_module @198 ap_requires @199 - ap_reset_timeout @200 + ;ap_reset_timeout @200 ap_rflush @201 ap_rind @202 ap_rputc @203 @@ -216,8 +216,8 @@ EXPORTS ap_scan_script_header_err @209 ap_scan_script_header_err_buff @210 ap_scan_script_header_err_core @211 - ap_send_fb @212 - ap_send_fb_length @213 + ;ap_send_fb @212 + ;ap_send_fb_length @213 ap_send_fd @214 ap_send_fd_length @215 ap_send_http_header @216 @@ -232,7 +232,7 @@ EXPORTS ap_set_last_modified @225 ap_setup_client_block @226 ap_should_client_block @227 - ap_soft_timeout @228 + ;ap_soft_timeout @228 ap_some_auth_required @229 ap_spawn_child @230 ap_srm_command_loop @231 @@ -241,7 +241,7 @@ EXPORTS ap_strcmp_match @234 ap_sub_req_lookup_file @235 ap_sub_req_lookup_uri @236 - ap_sync_scoreboard_image @237 + ;ap_sync_scoreboard_image @237 ap_table_add @238 ap_table_addn @239 ap_table_get @240 @@ -252,7 +252,7 @@ EXPORTS ap_table_unset @245 ap_tm2sec @246 ap_uname2id @247 - ap_unblock_alarms @248 + ;ap_unblock_alarms @248 ap_unescape_url @249 ap_unparse_uri_components @250 ap_update_mtime @251 @@ -275,7 +275,7 @@ EXPORTS ap_bprintf @268 ap_bvputs @269 ap_day_snames @270 - ap_extended_status @271 + ;ap_extended_status @271 ap_limit_section @272 ap_loaded_modules @273 ap_log_error @274 @@ -285,10 +285,10 @@ EXPORTS ap_null_cleanup @278 ap_psprintf @279 ap_pstrcat @280 - ap_restart_time @281 + ;ap_restart_time @281 ap_rprintf @282 ap_rvputs @283 - ap_scoreboard_image @284 + ;ap_scoreboard_image @284 ap_send_header_field @285 ap_server_argv0 @286 ap_server_root @287 @@ -297,24 +297,24 @@ EXPORTS ap_set_string_slot @290 ap_set_string_slot_lower @291 ap_snprintf @292 - ap_suexec_enabled @293 + ;ap_suexec_enabled @293 ap_table_do @294 apache_main @295 asis_module @296 auth_module @297 autoindex_module @298 - cgi_module @299 + ;cgi_module @299 config_log_module @300 core_module @301 dir_module @302 env_module @303 imap_module @304 - includes_module @305 + ;includes_module @305 mime_module @306 negotiation_module @307 os_spawnle @308 setenvif_module @309 - so_module @310 + ;so_module @310 top_module @311 ap_fnmatch @312 ap_method_number_of @313 @@ -328,20 +328,20 @@ EXPORTS ap_validate_password @322 ap_size_list_item @323 ap_get_list_item @324 - ap_scoreboard_fname @325 - ap_pid_fname @326 - ap_excess_requests_per_child @327 - ap_threads_per_child @328 - ap_max_requests_per_child @329 - ap_daemons_to_start @330 - ap_daemons_min_free @331 - ap_daemons_max_free @332 - ap_daemons_limit @333 - ap_user_name @334 - ap_user_id @335 - ap_group_id @336 - ap_standalone @337 - ap_server_confname @338 + ;ap_scoreboard_fname @325 + ;ap_pid_fname @326 + ;ap_excess_requests_per_child @327 + ;ap_threads_per_child @328 + ;ap_max_requests_per_child @329 + ;ap_daemons_to_start @330 + ;ap_daemons_min_free @331 + ;ap_daemons_max_free @332 + ;ap_daemons_limit @333 + ;ap_user_name @334 + ;ap_user_id @335 + ;ap_group_id @336 + ;ap_standalone @337 + ;ap_server_confname @338 ap_sub_req_method_uri @339 ap_regerror @341 ap_regexec @342 @@ -359,4 +359,7 @@ EXPORTS ap_SHA1Update @354 ap_SHA1Final @355 ap_sha1_base64 @356 - + ap_show_hook @357 + ap_hook_sort_register @358 + ap_hook_process_connection @359 + ap_process_http_connection @360 diff --git a/os/win32/modules.c b/os/win32/modules.c index d55d3d832c..0f6778c641 100644 --- a/os/win32/modules.c +++ b/os/win32/modules.c @@ -7,15 +7,16 @@ #include "http_config.h" extern module core_module; -extern module so_module; +extern module mpm_winnt_module; +//extern module so_module; extern module mime_module; extern module access_module; extern module auth_module; extern module negotiation_module; -extern module includes_module; +//extern module includes_module; extern module autoindex_module; extern module dir_module; -extern module cgi_module; +//extern module cgi_module; extern module userdir_module; extern module alias_module; extern module env_module; @@ -24,19 +25,19 @@ extern module asis_module; extern module imap_module; extern module action_module; extern module setenvif_module; -extern module isapi_module; +//extern module isapi_module; module *ap_prelinked_modules[] = { &core_module, - &so_module, +// &so_module, &mime_module, &access_module, &auth_module, &negotiation_module, - &includes_module, +// &includes_module, &autoindex_module, &dir_module, - &cgi_module, +// &cgi_module, &userdir_module, &alias_module, &env_module, @@ -45,20 +46,20 @@ module *ap_prelinked_modules[] = { &imap_module, &action_module, &setenvif_module, - &isapi_module, +// &isapi_module, NULL }; module *ap_preloaded_modules[] = { &core_module, - &so_module, +// &so_module, &mime_module, &access_module, &auth_module, &negotiation_module, - &includes_module, +// &includes_module, &autoindex_module, &dir_module, - &cgi_module, +// &cgi_module, &userdir_module, &alias_module, &env_module, @@ -67,6 +68,6 @@ module *ap_preloaded_modules[] = { &imap_module, &action_module, &setenvif_module, - &isapi_module, +// &isapi_module, NULL }; diff --git a/os/win32/os.h b/os/win32/os.h index 4d07b0f74b..c034f7d8a5 100644 --- a/os/win32/os.h +++ b/os/win32/os.h @@ -123,4 +123,39 @@ API_EXPORT(int) ap_os_is_filename_valid(const char *file); /* Other ap_os_ routines not used by this platform */ #define ap_os_kill(pid, sig) kill(pid, sig) +/* Moved from multithread.h. Axe this stuff when APR comes online... */ + +#define MULTI_OK (0) +#define MULTI_TIMEOUT (1) +#define MULTI_ERR (2) + +typedef void mutex; +typedef void semaphore; +typedef void thread; +typedef void event; + +thread *create_thread(void (thread_fn) (void *thread_arg), void *thread_arg); +int kill_thread(thread *thread_id); +int await_thread(thread *thread_id, int sec_to_wait); +void exit_thread(int status); +void free_thread(thread *thread_id); + +API_EXPORT(mutex *) ap_create_mutex(char *name); +API_EXPORT(mutex *) ap_open_mutex(char *name); +API_EXPORT(int) ap_acquire_mutex(mutex *mutex_id); +API_EXPORT(int) ap_release_mutex(mutex *mutex_id); +API_EXPORT(void) ap_destroy_mutex(mutex *mutex_id); + +semaphore *create_semaphore(int initial); +int acquire_semaphore(semaphore *semaphore_id); +int release_semaphore(semaphore *semaphore_id); +void destroy_semaphore(semaphore *semaphore_id); + +event *create_event(int manual, int initial, char *name); +event *open_event(char *name); +int acquire_event(event *event_id); +int set_event(event *event_id); +int reset_event(event *event_id); +void destroy_event(event *event_id); + #endif /* ! APACHE_OS_H */ diff --git a/server/main.c b/server/main.c index 86c204146b..7e443bf879 100644 --- a/server/main.c +++ b/server/main.c @@ -233,8 +233,12 @@ static void usage(char *bin) } pool *g_pHookPool; - +#ifdef WIN32 +__declspec(dllexport) + int apache_main(int argc, char *argv[]) +#else int main(int argc, char **argv) +#endif { int c; int configtestonly = 0; diff --git a/server/mpm/winnt/mpm_winnt.c b/server/mpm/winnt/mpm_winnt.c index 1adf15002d..aa732a99cf 100644 --- a/server/mpm/winnt/mpm_winnt.c +++ b/server/mpm/winnt/mpm_winnt.c @@ -66,12 +66,12 @@ #include "ap_mpm.h" #include "ap_config.h" #include "ap_listen.h" -#include "multithread.h" #include "../os/win32/getopt.h" #include "mpm_default.h" #include "../os/win32/iol_socket.h" #include "winnt.h" + /* * Definitions of WINNT MPM specific config globals */ -- 2.50.1