From 55da3807d744c3e53e1cae6021357afd6fa0329d Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Tue, 6 Jan 2009 18:15:01 +0100 Subject: svcctl: add svcctl_ErrorControl and svcctl_Type (based on samba3) to IDL. Guenther --- librpc/idl/svcctl.idl | 36 ++++++++++++++++++++++++++---------- source3/include/rpc_svcctl.h | 14 -------------- 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/librpc/idl/svcctl.idl b/librpc/idl/svcctl.idl index 500d4949e3b..c1227597a89 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 baa1404316f..303b126a54f 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 -- cgit