summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--librpc/idl/svcctl.idl36
-rw-r--r--source3/include/rpc_svcctl.h14
2 files changed, 26 insertions, 24 deletions
diff --git a/librpc/idl/svcctl.idl b/librpc/idl/svcctl.idl
index 500d4949e3..c1227597a8 100644
--- a/librpc/idl/svcctl.idl
+++ b/librpc/idl/svcctl.idl
@@ -172,11 +172,27 @@ import "misc.idl", "security.idl";
/*****************/
/* Function 0x0b */
+
+ typedef [v1_enum] enum {
+ SVCCTL_SVC_ERROR_IGNORE = 0x00000000,
+ SVCCTL_SVC_ERROR_NORMAL = 0x00000001,
+ SVCCTL_SVC_ERROR_CRITICAL = 0x00000002,
+ SVCCTL_SVC_ERROR_SEVERE = 0x00000003
+ } svcctl_ErrorControl;
+
+ typedef [v1_enum] enum {
+ SVCCTL_BOOT_START = 0x00000000,
+ SVCCTL_SYSTEM_START = 0x00000001,
+ SVCCTL_AUTO_START = 0x00000002,
+ SVCCTL_DEMAND_START = 0x00000003,
+ SVCCTL_DISABLED = 0x00000004
+ } svcctl_StartType;
+
WERROR svcctl_ChangeServiceConfigW(
[in,ref] policy_handle *handle,
[in] uint32 type,
- [in] uint32 start,
- [in] uint32 error,
+ [in] svcctl_StartType start_type,
+ [in] svcctl_ErrorControl error_control,
[in,unique] [string,charset(UTF16)] uint16 *binary_path,
[in,unique] [string,charset(UTF16)] uint16 *load_order_group,
[out,ref] uint32 *tag_id,
@@ -194,8 +210,8 @@ import "misc.idl", "security.idl";
[in,unique] [string,charset(UTF16)] uint16 *DisplayName,
[in] uint32 desired_access,
[in] uint32 type,
- [in] uint32 start_type,
- [in] uint32 error_control,
+ [in] svcctl_StartType start_type,
+ [in] svcctl_ErrorControl error_control,
[in] [string,charset(UTF16)] uint16 binary_path[],
[in,unique] [string,charset(UTF16)] uint16 *LoadOrderGroupKey,
[in,out,unique] uint32 *TagId,
@@ -320,8 +336,8 @@ import "misc.idl", "security.idl";
typedef [public,gensize] struct {
uint32 service_type;
- uint32 start_type;
- uint32 error_control;
+ svcctl_StartType start_type;
+ svcctl_ErrorControl error_control;
[string,charset(UTF16)] [range(0,8192)] uint16 *executablepath;
[string,charset(UTF16)] [range(0,8192)] uint16 *loadordergroup;
uint32 tag_id;
@@ -386,8 +402,8 @@ import "misc.idl", "security.idl";
WERROR svcctl_ChangeServiceConfigA(
[in,ref] policy_handle *handle,
[in] uint32 type,
- [in] uint32 start,
- [in] uint32 error,
+ [in] svcctl_StartType start_type,
+ [in] svcctl_ErrorControl error_control,
[in,unique] [string,charset(UTF16)] uint16 *binary_path,
[in,unique] [string,charset(UTF16)] uint16 *load_order_group,
[out,ref] uint32 *tag_id,
@@ -405,8 +421,8 @@ import "misc.idl", "security.idl";
[in,unique] [string,charset(UTF16)] uint16 *DisplayName,
[in] uint32 desired_access,
[in] uint32 type,
- [in] uint32 start_type,
- [in] uint32 error_control,
+ [in] svcctl_StartType start_type,
+ [in] svcctl_ErrorControl error_control,
[in,unique] [string,charset(UTF16)] uint16 *binary_path,
[in,unique] [string,charset(UTF16)] uint16 *LoadOrderGroupKey,
[out,unique] uint32 *TagId,
diff --git a/source3/include/rpc_svcctl.h b/source3/include/rpc_svcctl.h
index baa1404316..303b126a54 100644
--- a/source3/include/rpc_svcctl.h
+++ b/source3/include/rpc_svcctl.h
@@ -77,13 +77,6 @@
#define SVCCTL_ACCEPT_HARDWAREPROFILECHANGE 0x00000020
#define SVCCTL_ACCEPT_POWEREVENT 0x00000040
-/* SERVER_STATUS - ControlAccepted */
-#define SVCCTL_SVC_ERROR_IGNORE 0x00000000
-#define SVCCTL_SVC_ERROR_NORMAL 0x00000001
-#define SVCCTL_SVC_ERROR_CRITICAL 0x00000002
-#define SVCCTL_SVC_ERROR_SEVERE 0x00000003
-
-
/* Service Config - values for ServiceType field*/
#define SVCCTL_KERNEL_DRVR 0x00000001 /* doubtful we'll have these */
@@ -92,13 +85,6 @@
#define SVCCTL_WIN32_SHARED_PROC 0x00000020
#define SVCCTL_WIN32_INTERACTIVE 0x00000100
-/* Service Config - values for StartType field */
-#define SVCCTL_BOOT_START 0x00000000
-#define SVCCTL_SYSTEM_START 0x00000001
-#define SVCCTL_AUTO_START 0x00000002
-#define SVCCTL_DEMAND_START 0x00000003
-#define SVCCTL_DISABLED 0x00000004
-
#define SVC_HANDLE_IS_SCM 0x0000001
#define SVC_HANDLE_IS_SERVICE 0x0000002
#define SVC_HANDLE_IS_DBLOCK 0x0000003