Allow editing service dependencies.
[nssm.git] / registry.h
1 #ifndef REGISTRY_H\r
2 #define REGISTRY_H\r
3 \r
4 #define NSSM_REGISTRY _T("SYSTEM\\CurrentControlSet\\Services\\%s\\Parameters")\r
5 #define NSSM_REGISTRY_GROUPS _T("SYSTEM\\CurrentControlSet\\Control\\ServiceGroupOrder")\r
6 #define NSSM_REG_GROUPS _T("List")\r
7 #define NSSM_REG_EXE _T("Application")\r
8 #define NSSM_REG_FLAGS _T("AppParameters")\r
9 #define NSSM_REG_DIR _T("AppDirectory")\r
10 #define NSSM_REG_ENV _T("AppEnvironment")\r
11 #define NSSM_REG_ENV_EXTRA _T("AppEnvironmentExtra")\r
12 #define NSSM_REG_EXIT _T("AppExit")\r
13 #define NSSM_REG_RESTART_DELAY _T("AppRestartDelay")\r
14 #define NSSM_REG_THROTTLE _T("AppThrottle")\r
15 #define NSSM_REG_STOP_METHOD_SKIP _T("AppStopMethodSkip")\r
16 #define NSSM_REG_KILL_CONSOLE_GRACE_PERIOD _T("AppStopMethodConsole")\r
17 #define NSSM_REG_KILL_WINDOW_GRACE_PERIOD _T("AppStopMethodWindow")\r
18 #define NSSM_REG_KILL_THREADS_GRACE_PERIOD _T("AppStopMethodThreads")\r
19 #define NSSM_REG_STDIN _T("AppStdin")\r
20 #define NSSM_REG_STDOUT _T("AppStdout")\r
21 #define NSSM_REG_STDERR _T("AppStderr")\r
22 #define NSSM_REG_STDIO_SHARING _T("ShareMode")\r
23 #define NSSM_REG_STDIO_DISPOSITION _T("CreationDisposition")\r
24 #define NSSM_REG_STDIO_FLAGS _T("FlagsAndAttributes")\r
25 #define NSSM_REG_ROTATE _T("AppRotateFiles")\r
26 #define NSSM_REG_ROTATE_ONLINE _T("AppRotateOnline")\r
27 #define NSSM_REG_ROTATE_SECONDS _T("AppRotateSeconds")\r
28 #define NSSM_REG_ROTATE_BYTES_LOW _T("AppRotateBytes")\r
29 #define NSSM_REG_ROTATE_BYTES_HIGH _T("AppRotateBytesHigh")\r
30 #define NSSM_REG_PRIORITY _T("AppPriority")\r
31 #define NSSM_REG_AFFINITY _T("AppAffinity")\r
32 #define NSSM_REG_NO_CONSOLE _T("AppNoConsole")\r
33 #define NSSM_STDIO_LENGTH 29\r
34 \r
35 HKEY open_registry(const TCHAR *, const TCHAR *, REGSAM sam);\r
36 HKEY open_registry(const TCHAR *, REGSAM sam);\r
37 int create_messages();\r
38 int create_parameters(nssm_service_t *, bool);\r
39 int create_exit_action(TCHAR *, const TCHAR *, bool);\r
40 int get_environment(TCHAR *, HKEY, TCHAR *, TCHAR **, unsigned long *);\r
41 int get_string(HKEY, TCHAR *, TCHAR *, unsigned long, bool, bool, bool);\r
42 int get_string(HKEY, TCHAR *, TCHAR *, unsigned long, bool);\r
43 int expand_parameter(HKEY, TCHAR *, TCHAR *, unsigned long, bool, bool);\r
44 int expand_parameter(HKEY, TCHAR *, TCHAR *, unsigned long, bool);\r
45 int set_string(HKEY, TCHAR *, TCHAR *, bool);\r
46 int set_string(HKEY, TCHAR *, TCHAR *);\r
47 int set_expand_string(HKEY, TCHAR *, TCHAR *);\r
48 int set_number(HKEY, TCHAR *, unsigned long);\r
49 int get_number(HKEY, TCHAR *, unsigned long *, bool);\r
50 int get_number(HKEY, TCHAR *, unsigned long *);\r
51 int format_double_null(TCHAR *, unsigned long, TCHAR **, unsigned long *);\r
52 int unformat_double_null(TCHAR *, unsigned long, TCHAR **, unsigned long *);\r
53 void override_milliseconds(TCHAR *, HKEY, TCHAR *, unsigned long *, unsigned long, unsigned long);\r
54 int get_io_parameters(nssm_service_t *, HKEY);\r
55 int get_parameters(nssm_service_t *, STARTUPINFO *);\r
56 int get_exit_action(const TCHAR *, unsigned long *, TCHAR *, bool *);\r
57 \r
58 #endif\r