mirror of
https://github.com/reactos/reactos.git
synced 2024-10-21 13:00:24 +00:00
f0078accf5
Simple telnet daemon, I found, hacked in to a service. Its wrong, I know, humor me, it works, someone more interested can finish this off and follow the spec.txt svn path=/trunk/; revision=37799
85 lines
1.8 KiB
C
85 lines
1.8 KiB
C
/*
|
|
* COPYRIGHT: See COPYING in the top level directory
|
|
* PROJECT: ReactOS kernel
|
|
* FILE: services/TelnetD/TelnetD.c
|
|
* PURPOSE: Printer spooler
|
|
* PROGRAMMER: Eric Kohl
|
|
*/
|
|
|
|
/* INCLUDES *****************************************************************/
|
|
|
|
#include "telnetd.h"
|
|
#define DPRINT printf
|
|
|
|
/* GLOBALS ******************************************************************/
|
|
|
|
#define SERVICE_NAME TEXT("TelnetD")
|
|
|
|
SERVICE_STATUS_HANDLE ServiceStatusHandle;
|
|
|
|
|
|
/* FUNCTIONS *****************************************************************/
|
|
|
|
|
|
static DWORD WINAPI
|
|
ServiceControlHandler(DWORD dwControl,
|
|
DWORD dwEventType,
|
|
LPVOID lpEventData,
|
|
LPVOID lpContext)
|
|
{
|
|
switch (dwControl)
|
|
{
|
|
case SERVICE_CONTROL_STOP:
|
|
case SERVICE_CONTROL_SHUTDOWN:
|
|
return ERROR_SUCCESS;
|
|
|
|
default :
|
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
static VOID CALLBACK
|
|
ServiceMain(DWORD argc, LPTSTR *argv)
|
|
{
|
|
UNREFERENCED_PARAMETER(argc);
|
|
UNREFERENCED_PARAMETER(argv);
|
|
|
|
DPRINT("ServiceMain() called\n");
|
|
|
|
ServiceStatusHandle = RegisterServiceCtrlHandlerExW(SERVICE_NAME,
|
|
ServiceControlHandler,
|
|
NULL);
|
|
|
|
DPRINT("ServiceMain() done\n");
|
|
}
|
|
|
|
|
|
int
|
|
wmain(int argc, WCHAR *argv[])
|
|
{
|
|
SERVICE_TABLE_ENTRY ServiceTable[2] =
|
|
{
|
|
{SERVICE_NAME, ServiceMain},
|
|
{NULL, NULL}
|
|
};
|
|
|
|
UNREFERENCED_PARAMETER(argc);
|
|
UNREFERENCED_PARAMETER(argv);
|
|
|
|
DPRINT("TelnetD: main() started\n");
|
|
|
|
StartServiceCtrlDispatcher(ServiceTable);
|
|
|
|
telnetd_main();
|
|
|
|
DPRINT("TelnetD: main() done\n");
|
|
|
|
ExitThread(0);
|
|
|
|
return 0;
|
|
}
|
|
|
|
/* EOF */
|