You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
2.1 KiB
C

22 years ago
#ifndef NSSM_H
#define NSSM_H
#define _WIN32_WINNT 0x0500
#include <shlwapi.h>
22 years ago
#include <stdarg.h>
#include <stdio.h>
#include <windows.h>
#include "event.h"
#include "imports.h"
#include "messages.h"
#include "process.h"
22 years ago
#include "registry.h"
#include "io.h"
22 years ago
#include "service.h"
#include "gui.h"
19 years ago
int str_equiv(const char *, const char *);
22 years ago
#define NSSM "nssm"
11 years ago
#define NSSM_VERSION "2.18"
#define NSSM_VERSIONINFO 2,18,0,0
#define NSSM_DATE "2013-11-15"
22 years ago
/*
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. 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)
/* How many milliseconds to wait before updating service status. */
#define NSSM_SERVICE_STATUS_DEADLINE 20000
22 years ago
#endif