X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Fservices%2Ftcpsvcs%2Ftcpsvcs.c;h=188fbfa5a68d27c5f73fcc54a88c4a3dd34c928d;hp=014fcdedfb8c7e93b0168759440c7021421d7ed9;hb=64bc82cc1af8c7ac445c20d3bf073cf697e5bdba;hpb=9ed49dabde41844e059dff6165c6ea13b973f5bc diff --git a/reactos/services/tcpsvcs/tcpsvcs.c b/reactos/services/tcpsvcs/tcpsvcs.c index 014fcdedfb8..188fbfa5a68 100644 --- a/reactos/services/tcpsvcs/tcpsvcs.c +++ b/reactos/services/tcpsvcs/tcpsvcs.c @@ -15,32 +15,31 @@ * TODO: * - Start tcpsvcs as a service. * - write debugging function and print all dbg info via that. - * + * - change 'temp' to something meaningfull */ - -#include -#include -#include + + #include "tcpsvcs.h" -#if 0 +//#define NDEBUG +//#include + + /* * globals */ +VOID WINAPI ServiceMain(DWORD argc, LPTSTR argv[]); + static SERVICE_STATUS hServStatus; static SERVICE_STATUS_HANDLE hSStat; + FILE *hLogFile; -BOOL bLogEvents = TRUE; -BOOL ShutDown, PauseFlag; -LPCTSTR LogFileName = "tcpsvcs_log.log"; +BOOL bShutDown = FALSE; +BOOL bPause = FALSE; -static SERVICE_TABLE_ENTRY -ServiceTable[2] = -{ - {_T("tcpsvcs"), ServiceMain}, - {NULL, NULL} -}; -#endif +LPCTSTR LogFileName = "\\tcpsvcs_log.log"; +LPTSTR ServiceName = _T("Simp Tcp"); +//LPTSTR DisplayName = _T("Simple TCP/IP Services"); static SERVICES Services[NUM_SERVICES] = @@ -53,97 +52,65 @@ Services[NUM_SERVICES] = }; -int main(void) +int +main(int argc, char *argv[]) { - DWORD dwThreadId[NUM_SERVICES]; - HANDLE hThread[NUM_SERVICES]; - WSADATA wsaData; - DWORD RetVal; - INT i; - - if ((RetVal = WSAStartup(MAKEWORD(2, 2), &wsaData)) != 0) - { - _tprintf(_T("WSAStartup() failed : %lu\n"), RetVal); - return -1; - } - - /* Create MAX_THREADS worker threads. */ - for( i=0; i= 0) hServStatus.dwCurrentState = NewStatus; - if (!SetServiceStatus (hSStat, &hServStatus)) - LogEvent (_T("Cannot set service status"), 101, TRUE); + if (Check < 0 ) + hServStatus.dwCheckPoint++; + else + hServStatus.dwCheckPoint = Check; + + if (NewStatus >= 0) + hServStatus.dwCurrentState = NewStatus; + + if (! SetServiceStatus (hSStat, &hServStatus)) + LogEvent(_T("Cannot set service status\n"), -1, TRUE); + return; } @@ -206,14 +187,27 @@ CreateServers() { DWORD dwThreadId[NUM_SERVICES]; HANDLE hThread[NUM_SERVICES]; + WSADATA wsaData; + TCHAR buf[256]; INT i; - + DWORD RetVal; + + if ((RetVal = WSAStartup(MAKEWORD(2, 2), &wsaData)) != 0) + { + _stprintf(buf, _T("WSAStartup() failed : %lu\n"), RetVal); + LogEvent(buf, RetVal, TRUE); + return -1; + } + UpdateStatus(-1, -1); /* increment checkpoint */ + LogEvent(_T("Creating server Threads\n"), 0, FALSE); + /* Create MAX_THREADS worker threads. */ for( i=0; i 0) - ExitProcess (ExitCode); + if (ExitCode != 0) + ExitProcess(ExitCode); else return; } - -#endif