mirror of http://git.nssm.cc/nssm/nssm.git
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.
70 lines
1.9 KiB
C
70 lines
1.9 KiB
C
#ifndef NSSM_H
|
|
#define NSSM_H
|
|
|
|
#define _WIN32_WINNT 0x0500
|
|
#include <shlwapi.h>
|
|
#include <stdarg.h>
|
|
#include <stdio.h>
|
|
#include <windows.h>
|
|
#include "event.h"
|
|
#include "imports.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 "2.16"
|
|
#define NSSM_VERSIONINFO 2,16,0,0
|
|
#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
|
|
|
|
/* 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)
|
|
|
|
#endif
|