X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=nssm.h;h=636524df567904e02bc78618ffd380b94caa1e13;hb=7aa403b0a0d8ecf1e59c9d4ab3709181941e2f4c;hp=08371267eb2e04aa868857b3e2d5ea55f4136bfc;hpb=167b3e74003ed8f2b61bda7037f31447c488c29b;p=nssm.git diff --git a/nssm.h b/nssm.h index 0837126..636524d 100644 --- a/nssm.h +++ b/nssm.h @@ -2,19 +2,72 @@ #define NSSM_H #define _WIN32_WINNT 0x0500 +#include #include #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 *); +int str_equiv(const TCHAR *, const TCHAR *); +void strip_basename(TCHAR *); +int usage(int); + +#define NSSM _T("nssm") +#include "version.h" + +/* + 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. 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. 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. 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) + +/* Startup types. */ +#define NSSM_STARTUP_AUTOMATIC 0 +#define NSSM_STARTUP_DELAYED 1 +#define NSSM_STARTUP_MANUAL 2 +#define NSSM_STARTUP_DISABLED 3 + +/* Exit actions. */ +#define NSSM_EXIT_RESTART 0 +#define NSSM_EXIT_IGNORE 1 +#define NSSM_EXIT_REALLY 2 +#define NSSM_EXIT_UNCLEAN 3 +#define NSSM_NUM_EXIT_ACTIONS 4 -#define NSSM "nssm" -#define NSSM_VERSION "2.0" -#define NSSM_DATE "2006-09-09" -#define NSSM_RUN "run" +/* How many milliseconds to wait before updating service status. */ +#define NSSM_SERVICE_STATUS_DEADLINE 20000 #endif