X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=nssm.h;h=4a328599ece8a783158d2c728c347dbd8924bdfc;hb=40792fac2ef98e69c331b9cd5a9279dc3e1eb730;hp=ab812393319afcecefdb5a6abe70bbe9006470ee;hpb=d007ff22cecf2ce85cc68a1de81a010d4a65badc;p=nssm.git diff --git a/nssm.h b/nssm.h index ab81239..4a32859 100644 --- a/nssm.h +++ b/nssm.h @@ -2,17 +2,60 @@ #define NSSM_H #define _WIN32_WINNT 0x0500 +#include #include #include #include #include "event.h" +#include "messages.h" +#include "process.h" #include "registry.h" +#include "io.h" #include "service.h" #include "gui.h" +int str_equiv(const char *, const char *); + #define NSSM "nssm" -#define NSSM_VERSION "1.0" -#define NSSM_DATE "2003-05-30" -#define NSSM_RUN "run" +#define NSSM_VERSION "2.16" +#define NSSM_DATE "2012-12-01" + +/* + 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 + +/* + Throttle the restart of the service if it stops before this many + milliseconds have elapsed since startup. Override in registry. +*/ +#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. +*/ +#define NSSM_KILL_CONSOLE_GRACE_PERIOD 1500 +/* + How many milliseconds to wait for the application to die after posting to + its windows' message queues. +*/ +#define NSSM_KILL_WINDOW_GRACE_PERIOD 1500 +/* + How many milliseconds to wait for the application to die after posting to + its threads' message queues. +*/ +#define NSSM_KILL_THREADS_GRACE_PERIOD 1500 + +/* Margin of error for service status wait hints in milliseconds. */ +#define NSSM_WAITHINT_MARGIN 2000 #endif