Use close_handle().
[nssm.git] / settings.h
index 71e31d1..80b5a35 100644 (file)
@@ -1,40 +1,50 @@
-#ifndef SETTINGS_H
-#define SETTINGS_H
-
-#define NSSM_NATIVE_DESCRIPTION _T("Description")
-#define NSSM_NATIVE_DISPLAYNAME _T("DisplayName")
-#define NSSM_NATIVE_IMAGEPATH _T("ImagePath")
-#define NSSM_NATIVE_OBJECTNAME _T("ObjectName")
-#define NSSM_NATIVE_STARTUP _T("Start")
-#define NSSM_NATIVE_TYPE _T("Type")
-
-/* Are additional arguments needed? */
-#define ADDITIONAL_GETTING (1 << 0)
-#define ADDITIONAL_SETTING (1 << 1)
-#define ADDITIONAL_RESETTING (1 << 2)
-#define ADDITIONAL_CRLF (1 << 3)
-#define ADDITIONAL_MANDATORY ADDITIONAL_GETTING|ADDITIONAL_SETTING|ADDITIONAL_RESETTING
-
-typedef union {
-  unsigned long numeric;
-  TCHAR *string;
-} value_t;
-
-typedef int (*setting_function_t)(const TCHAR *, void *, const TCHAR *, void *, value_t *, const TCHAR *);
-
-typedef struct {
-  const TCHAR *name;
-  unsigned long type;
-  void *default_value;
-  bool native;
-  int additional;
-  setting_function_t set;
-  setting_function_t get;
-} settings_t;
-
-int set_setting(const TCHAR *, HKEY, settings_t *, value_t *, const TCHAR *);
-int set_setting(const TCHAR *, SC_HANDLE, settings_t *, value_t *, const TCHAR *);
-int get_setting(const TCHAR *, HKEY, settings_t *, value_t *, const TCHAR *);
-int get_setting(const TCHAR *, SC_HANDLE, settings_t *, value_t *, const TCHAR *);
-
-#endif
+#ifndef SETTINGS_H\r
+#define SETTINGS_H\r
+\r
+#define NSSM_NATIVE_DEPENDONGROUP _T("DependOnGroup")\r
+#define NSSM_NATIVE_DEPENDONSERVICE _T("DependOnService")\r
+#define NSSM_NATIVE_DESCRIPTION _T("Description")\r
+#define NSSM_NATIVE_DISPLAYNAME _T("DisplayName")\r
+#define NSSM_NATIVE_ENVIRONMENT _T("Environment")\r
+#define NSSM_NATIVE_IMAGEPATH _T("ImagePath")\r
+#define NSSM_NATIVE_NAME _T("Name")\r
+#define NSSM_NATIVE_OBJECTNAME _T("ObjectName")\r
+#define NSSM_NATIVE_STARTUP _T("Start")\r
+#define NSSM_NATIVE_TYPE _T("Type")\r
+\r
+/* Are additional arguments needed? */\r
+#define ADDITIONAL_GETTING (1 << 0)\r
+#define ADDITIONAL_SETTING (1 << 1)\r
+#define ADDITIONAL_RESETTING (1 << 2)\r
+#define ADDITIONAL_CRLF (1 << 3)\r
+#define ADDITIONAL_MANDATORY ADDITIONAL_GETTING|ADDITIONAL_SETTING|ADDITIONAL_RESETTING\r
+\r
+#define DEPENDENCY_SERVICES (1 << 0)\r
+#define DEPENDENCY_GROUPS (1 << 1)\r
+#define DEPENDENCY_ALL (DEPENDENCY_SERVICES|DEPENDENCY_GROUPS)\r
+\r
+typedef union {\r
+  unsigned long numeric;\r
+  TCHAR *string;\r
+} value_t;\r
+\r
+typedef int (*setting_function_t)(const TCHAR *, void *, const TCHAR *, void *, value_t *, const TCHAR *);\r
+\r
+typedef struct {\r
+  const TCHAR *name;\r
+  unsigned long type;\r
+  void *default_value;\r
+  bool native;\r
+  int additional;\r
+  setting_function_t set;\r
+  setting_function_t get;\r
+  setting_function_t dump;\r
+} settings_t;\r
+\r
+int set_setting(const TCHAR *, HKEY, settings_t *, value_t *, const TCHAR *);\r
+int set_setting(const TCHAR *, SC_HANDLE, settings_t *, value_t *, const TCHAR *);\r
+int get_setting(const TCHAR *, HKEY, settings_t *, value_t *, const TCHAR *);\r
+int get_setting(const TCHAR *, SC_HANDLE, settings_t *, value_t *, const TCHAR *);\r
+int dump_setting(const TCHAR *, HKEY, SC_HANDLE, settings_t *);\r
+\r
+#endif\r