X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=nssm.h;h=79c2065b073fda2eea00a61b831cbfe2842936ba;hb=2cd1c7c29ef4d2d3df3c5afd3ca6c788aede2bef;hp=83940a71e9b87e6da4f159cbbb980ef1e26a06d0;hpb=96e7f4484a3dc962482c240909fd52b0e0226a60;p=nssm.git diff --git a/nssm.h b/nssm.h index 83940a7..79c2065 100644 --- a/nssm.h +++ b/nssm.h @@ -2,9 +2,12 @@ #define NSSM_H #define _WIN32_WINNT 0x0500 +#include +#include #include #include #include +#include #include #include "service.h" #include "event.h" @@ -12,16 +15,30 @@ #include "messages.h" #include "process.h" #include "registry.h" +#include "settings.h" #include "io.h" #include "gui.h" -int str_equiv(const char *, const char *); -void strip_basename(char *); +int str_equiv(const TCHAR *, const TCHAR *); +void strip_basename(TCHAR *); +int str_number(const TCHAR *, unsigned long *, TCHAR **); +int str_number(const TCHAR *, unsigned long *); +int num_cpus(); +int usage(int); -#define NSSM "nssm" -#define NSSM_VERSION "2.20" -#define NSSM_VERSIONINFO 2,20,0,0 -#define NSSM_DATE "2013-11-23" +#define NSSM _T("NSSM") +#ifdef _WIN64 +#define NSSM_ARCHITECTURE _T("64-bit") +#else +#define NSSM_ARCHITECTURE _T("32-bit") +#endif +#ifdef _DEBUG +#define NSSM_DEBUG _T(" debug") +#else +#define NSSM_DEBUG _T("") +#endif +#define NSSM_CONFIGURATION NSSM_ARCHITECTURE NSSM_DEBUG +#include "version.h" /* Throttle the restart of the service if it stops before this many @@ -54,6 +71,12 @@ void strip_basename(char *); #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 @@ -61,7 +84,18 @@ void strip_basename(char *); #define NSSM_EXIT_UNCLEAN 3 #define NSSM_NUM_EXIT_ACTIONS 4 +/* Process priority. */ +#define NSSM_REALTIME_PRIORITY 0 +#define NSSM_HIGH_PRIORITY 1 +#define NSSM_ABOVE_NORMAL_PRIORITY 2 +#define NSSM_NORMAL_PRIORITY 3 +#define NSSM_BELOW_NORMAL_PRIORITY 4 +#define NSSM_IDLE_PRIORITY 5 + /* How many milliseconds to wait before updating service status. */ #define NSSM_SERVICE_STATUS_DEADLINE 20000 +/* User-defined service controls can be in the range 128-255. */ +#define NSSM_SERVICE_CONTROL_ROTATE 128 + #endif