1 #define WIN32_NO_STATUS
13 #define _swprintf swprintf
17 #define LOG_EVENTLOG 2
19 #define LOG_ALL (LOG_FILE | LOG_EVENTLOG | LOG_ERROR)
21 /* default port numbers */
23 #define DISCARD_PORT 9
24 #define DAYTIME_PORT 13
26 #define CHARGEN_PORT 19
28 #define NUM_SERVICES 5
29 #define CS_TIMEOUT 1000
32 /* data structure to pass to threads */
33 typedef struct _Services
37 LPTHREAD_START_ROUTINE lpService
;
38 } SERVICES
, *PSERVICES
;
40 extern volatile BOOL bShutdown
;
41 extern volatile BOOL bPause
;
43 /* logging functions */
44 BOOL
InitLogging(VOID
);
45 VOID
UninitLogging(VOID
);
46 VOID
LogEvent(LPCWSTR lpMsg
, DWORD errNum
, DWORD exitCode
, UINT flags
);
48 /* skelserver functions */
49 DWORD WINAPI
StartServer(LPVOID lpParam
);
50 BOOL
ShutdownConnection(SOCKET Sock
, BOOL bRec
);
52 /* server thread handlers */
53 DWORD WINAPI
ChargenHandler(VOID
* sock_
);
54 DWORD WINAPI
DaytimeHandler(VOID
* sock_
);
55 DWORD WINAPI
EchoHandler(VOID
* sock_
);
56 DWORD WINAPI
DiscardHandler(VOID
* sock_
);
57 DWORD WINAPI
QotdHandler(VOID
* sock_
);