/*-------------------------------------------------------------------------- THE SICS SERVER This file contains the main entry point into the world of SICS. Mark Koennecke, October 1996 Copyright: see copyright.h Labor fuer Neutronenstreuung Paul Scherrer Institut CH-5423 Villigen-PSI ----------------------------------------------------------------------------*/ #include #include #include #include "nserver.h" /***************************** Necessary Globals ****************************/ IPair *pSICSOptions = NULL; pServer pServ = NULL; /* ========================= Less dreadful file statics =================== */ #define DEFAULTINIFILE "servo.tcl" /*--------------------------------------------------------------------------- The Servers Main program. May take one argument: the name of an initialisation file */ int main(int argc, char *argv[]) { int iRet; /* initialise, will die on you if problems */ if(argc >= 2) { iRet = InitServer(argv[1],&pServ); } else { iRet = InitServer(NULL,&pServ); } if(!iRet) { printf("Unrecoverable error on server startup, exiting........."); exit(1); } RunServer(pServ); StopServer(pServ); pServ = NULL; exit(0); } /*--------------------------------------------------------------------------*/ SicsInterp *GetInterpreter(void) { return pServ->pSics; } /*--------------------------------------------------------------------------*/ pExeList GetExecutor(void) { return pServ->pExecutor; } /*------------------------------------------------------------------------*/ void StopExit(void) { if(pServ) { StopServer(pServ); } } /*-------------------------------------------------------------------------*/ pTaskMan GetTasker(void) { return pServ->pTasker; }