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

#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