/*@@ @file Startup.c @date Wed Sep 13 21:26:56 2000 @author Tom Goodale @desc @enddesc @version $Header$ @@*/ #include #include #include "cctk.h" #include "cctk_Arguments.h" #include "cctk_Parameters.h" #include "httpd.h" #include "http_Steer.h" static char *rcsid = "$Header$"; CCTK_FILEVERSION(DevThorn_http_Startup_c) /*@@ @routine HTTP_Startup @date Wed Sep 13 21:26:56 2000 @author Tom Goodale @desc Startup routine for the webserver. @enddesc @calls @calledby @history @endhistory @@*/ int HTTP_Startup(void) { DECLARE_CCTK_PARAMETERS httpState state; if(CCTK_MyProc(NULL) == 0) { /* Does the server provide any pages by default ? */ if(provide_pages) { HTTP_RegisterPages(); } HTTP_SetupServer(port, queue_length, hunt); } HTTP_UpdateState(NULL, &state); do { if(CCTK_MyProc(NULL) == 0) { HTTP_Poll(NULL, state.timeout_seconds, state.timeout_useconds); } if(state.steer == 1) { HTTP_SteerDispatch(); HTTP_UpdateState(NULL, &state); } if(state.terminate) { HTTP_Terminate(NULL); } } while(state.paused); return 0; } /*@@ @routine HTTP_Work @date Wed Sep 13 21:26:56 2000 @author Tom Goodale @desc Main working routine for the webserver. @enddesc @calls @calledby @history @endhistory @@*/ void HTTP_Work(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS DECLARE_CCTK_PARAMETERS httpState state; HTTP_UpdateState(cctkGH, &state); do { if(CCTK_MyProc(cctkGH) == 0) { HTTP_Poll(cctkGH, state.timeout_seconds, state.timeout_useconds); } if(state.steer == 1) { HTTP_SteerDispatch(); HTTP_UpdateState(cctkGH, &state); } if(state.terminate) { HTTP_Terminate(cctkGH); } } while(state.paused); } /*@@ @routine HTTP_Shutdown @date Wed Sep 13 21:26:56 2000 @author Tom Goodale @desc Shurdown routine for the webserver. @enddesc @calls @calledby @history @endhistory @@*/ int HTTP_Shutdown(void) { if(CCTK_MyProc(NULL) == 0) { HTTP_ShutdownServer(); } return 0; }