X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=nssm.h;h=6edfedfe5143311f34868336197c21e33c8c7475;hb=fce252d07bdf443e3b283c26a940d3b0f26fd440;hp=ae4114ae043cea12e857b7ce4164c40e85bc795b;hpb=2d6da67fe869e8a512bdd48ffb10fe18d76231bb;p=nssm.git diff --git a/nssm.h b/nssm.h index ae4114a..6edfedf 100644 --- a/nssm.h +++ b/nssm.h @@ -6,31 +6,21 @@ #include #include #include +#include "service.h" #include "event.h" +#include "imports.h" #include "messages.h" #include "process.h" #include "registry.h" -#include "service.h" +#include "io.h" #include "gui.h" int str_equiv(const char *, const char *); #define NSSM "nssm" -#define NSSM_VERSION "2.11" -#define NSSM_DATE "2012-04-04" - -/* - MSDN says the commandline in CreateProcess() is limited to 32768 characters - and the application name to MAX_PATH. - A registry key is limited to 255 characters. - A registry value is limited to 16383 characters. - Therefore we limit the service name to accommodate the path under HKLM. -*/ -#define EXE_LENGTH MAX_PATH -#define CMD_LENGTH 32768 -#define KEY_LENGTH 255 -#define VALUE_LENGTH 16383 -#define SERVICE_NAME_LENGTH KEY_LENGTH - 55 +#define NSSM_VERSION "2.18" +#define NSSM_VERSIONINFO 2,18,0,0 +#define NSSM_DATE "2013-11-15" /* Throttle the restart of the service if it stops before this many @@ -38,18 +28,32 @@ int str_equiv(const char *, const char *); */ #define NSSM_RESET_THROTTLE_RESTART 1500 +/* + How many milliseconds to wait for the application to die after sending + a Control-C event to its console. Override in registry. +*/ +#define NSSM_KILL_CONSOLE_GRACE_PERIOD 1500 /* How many milliseconds to wait for the application to die after posting to - its windows' message queues. + its windows' message queues. Override in registry. */ #define NSSM_KILL_WINDOW_GRACE_PERIOD 1500 /* How many milliseconds to wait for the application to die after posting to - its threads' message queues. + its threads' message queues. Override in registry. */ #define NSSM_KILL_THREADS_GRACE_PERIOD 1500 /* Margin of error for service status wait hints in milliseconds. */ #define NSSM_WAITHINT_MARGIN 2000 +/* Methods used to try to stop the application. */ +#define NSSM_STOP_METHOD_CONSOLE (1 << 0) +#define NSSM_STOP_METHOD_WINDOW (1 << 1) +#define NSSM_STOP_METHOD_THREADS (1 << 2) +#define NSSM_STOP_METHOD_TERMINATE (1 << 3) + +/* How many milliseconds to wait before updating service status. */ +#define NSSM_SERVICE_STATUS_DEADLINE 20000 + #endif