#define DIR_LENGTH PATH_LENGTH - 12\r
\r
#define _WIN32_WINNT 0x0500\r
+\r
+#define APSTUDIO_HIDDEN_SYMBOLS\r
+#include <windows.h>\r
+#include <prsht.h>\r
+#undef APSTUDIO_HIDDEN_SYMBOLS\r
+#include <commctrl.h>\r
+#include <tchar.h>\r
+#ifndef NSSM_COMPILE_RC\r
#include <fcntl.h>\r
#include <io.h>\r
#include <shlwapi.h>\r
#include <stdarg.h>\r
#include <stdio.h>\r
-#include <tchar.h>\r
-#include <windows.h>\r
+#include "utf8.h"\r
#include "service.h"\r
+#include "account.h"\r
+#include "console.h"\r
#include "env.h"\r
#include "event.h"\r
+#include "hook.h"\r
#include "imports.h"\r
#include "messages.h"\r
#include "process.h"\r
#include "settings.h"\r
#include "io.h"\r
#include "gui.h"\r
+#endif\r
\r
+void nssm_exit(int);\r
int str_equiv(const TCHAR *, const TCHAR *);\r
+int quote(const TCHAR *, TCHAR *, size_t);\r
void strip_basename(TCHAR *);\r
int str_number(const TCHAR *, unsigned long *, TCHAR **);\r
int str_number(const TCHAR *, unsigned long *);\r
int num_cpus();\r
int usage(int);\r
-void banner();\r
+const TCHAR *nssm_unquoted_imagepath();\r
+const TCHAR *nssm_imagepath();\r
+const TCHAR *nssm_exe();\r
\r
#define NSSM _T("NSSM")\r
#ifdef _WIN64\r
*/\r
#define NSSM_KILL_THREADS_GRACE_PERIOD 1500\r
\r
+/* How many milliseconds to pause after rotating logs. */\r
+#define NSSM_ROTATE_DELAY 0\r
+\r
/* Margin of error for service status wait hints in milliseconds. */\r
#define NSSM_WAITHINT_MARGIN 2000\r
\r
#define NSSM_SERVICE_CONTROL_START 0\r
#define NSSM_SERVICE_CONTROL_ROTATE 128\r
\r
+/* How many milliseconds to wait for a hook. */\r
+#define NSSM_HOOK_DEADLINE 60000\r
+\r
+/* How many milliseconds to wait for outstanding hooks. */\r
+#define NSSM_HOOK_THREAD_DEADLINE 80000\r
+\r
+/* How many milliseconds to wait for closing logging thread. */\r
+#define NSSM_CLEANUP_LOGGERS_DEADLINE 1500\r
+\r
#endif\r