X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;ds=sidebyside;f=service.cpp;h=e952dbd8735715fabb983ac145fe62b9e546fd0e;hb=8d884cbd586f2c3158708eea541ea62508506907;hp=80742273691b38a5cfab30724f106ff9fce4a1ca;hpb=e78394a54828ac0fecb36f0438e6829556c88914;p=nssm.git diff --git a/service.cpp b/service.cpp index 8074227..e952dbd 100644 --- a/service.cpp +++ b/service.cpp @@ -1059,7 +1059,7 @@ int control_service(unsigned long control, int argc, TCHAR **argv) { int ret; unsigned long error; SERVICE_STATUS service_status; - if (control == 0) { + if (control == NSSM_SERVICE_CONTROL_START) { ret = StartService(service_handle, (unsigned long) argc, (const TCHAR **) argv); error = GetLastError(); CloseHandle(service_handle); @@ -1281,7 +1281,7 @@ int monitor_service(nssm_service_t *service) { TCHAR *service_control_text(unsigned long control) { switch (control) { /* HACK: there is no SERVICE_CONTROL_START constant */ - case 0: return _T("START"); + case NSSM_SERVICE_CONTROL_START: return _T("START"); case SERVICE_CONTROL_STOP: return _T("STOP"); case SERVICE_CONTROL_SHUTDOWN: return _T("SHUTDOWN"); case SERVICE_CONTROL_PAUSE: return _T("PAUSE"); @@ -1292,6 +1292,19 @@ TCHAR *service_control_text(unsigned long control) { } } +TCHAR *service_status_text(unsigned long status) { + switch (status) { + case SERVICE_STOPPED: return _T("SERVICE_STOPPED"); + case SERVICE_START_PENDING: return _T("SERVICE_START_PENDING"); + case SERVICE_STOP_PENDING: return _T("SERVICE_STOP_PENDING"); + case SERVICE_RUNNING: return _T("SERVICE_RUNNING"); + case SERVICE_CONTINUE_PENDING: return _T("SERVICE_CONTINUE_PENDING"); + case SERVICE_PAUSE_PENDING: return _T("SERVICE_PAUSE_PENDING"); + case SERVICE_PAUSED: return _T("SERVICE_PAUSED"); + default: return 0; + } +} + void log_service_control(TCHAR *service_name, unsigned long control, bool handled) { TCHAR *text = service_control_text(control); unsigned long event;