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.

39 lines
1.7 KiB
C

#ifndef REGISTRY_H
#define REGISTRY_H
#define NSSM_REGISTRY "SYSTEM\\CurrentControlSet\\Services\\%s\\Parameters"
#define NSSM_REG_EXE "Application"
#define NSSM_REG_FLAGS "AppParameters"
#define NSSM_REG_DIR "AppDirectory"
#define NSSM_REG_ENV "AppEnvironment"
#define NSSM_REG_ENV_EXTRA "AppEnvironmentExtra"
#define NSSM_REG_EXIT "AppExit"
#define NSSM_REG_THROTTLE "AppThrottle"
#define NSSM_REG_STOP_METHOD_SKIP "AppStopMethodSkip"
#define NSSM_REG_KILL_CONSOLE_GRACE_PERIOD "AppStopMethodConsole"
#define NSSM_REG_KILL_WINDOW_GRACE_PERIOD "AppStopMethodWindow"
#define NSSM_REG_KILL_THREADS_GRACE_PERIOD "AppStopMethodThreads"
#define NSSM_REG_STDIN "AppStdin"
#define NSSM_REG_STDOUT "AppStdout"
#define NSSM_REG_STDERR "AppStderr"
#define NSSM_REG_STDIO_SHARING "ShareMode"
#define NSSM_REG_STDIO_DISPOSITION "CreationDisposition"
#define NSSM_REG_STDIO_FLAGS "FlagsAndAttributes"
#define NSSM_STDIO_LENGTH 29
int create_messages();
int create_parameters(nssm_service_t *);
int create_exit_action(char *, const char *);
int set_environment(char *, HKEY, char *, char **, unsigned long *);
int expand_parameter(HKEY, char *, char *, unsigned long, bool, bool);
int expand_parameter(HKEY, char *, char *, unsigned long, bool);
int set_expand_string(HKEY, char *, char *);
int set_number(HKEY, char *, unsigned long);
int get_number(HKEY, char *, unsigned long *, bool);
int get_number(HKEY, char *, unsigned long *);
void override_milliseconds(char *, HKEY, char *, unsigned long *, unsigned long, unsigned long);
int get_parameters(nssm_service_t *, STARTUPINFO *);
int get_exit_action(char *, unsigned long *, unsigned char *, bool *);
#endif