9 #define LOG_ALL (LOG_FILE | LOG_EVENTLOG | LOG_ERROR)
11 /* default port numbers */
13 #define DISCARD_PORT 9
14 #define DAYTIME_PORT 13
16 #define CHARGEN_PORT 19
18 #define NUM_SERVICES 5
19 #define CS_TIMEOUT 1000
22 /* data structure to pass to threads */
23 typedef struct _Services
{
26 LPTHREAD_START_ROUTINE Service
;
27 } SERVICES
, *PSERVICES
;
29 extern volatile BOOL bShutdown
;
30 extern volatile BOOL bPause
;
32 /* logging functions */
35 VOID
LogEvent(LPCTSTR lpMsg
, DWORD errNum
, DWORD exitCode
, UINT flags
);
37 /* skelserver functions */
38 DWORD WINAPI
StartServer(LPVOID lpParam
);
39 BOOL
ShutdownConnection(SOCKET Sock
, BOOL bRec
);
41 /* server thread handlers */
42 DWORD WINAPI
ChargenHandler(VOID
* sock_
);
43 DWORD WINAPI
DaytimeHandler(VOID
* sock_
);
44 DWORD WINAPI
EchoHandler(VOID
* sock_
);
45 DWORD WINAPI
DiscardHandler(VOID
* sock_
);
46 DWORD WINAPI
QotdHandler(VOID
* sock_
);