svcctl: add svcctl_ErrorControl and svcctl_Type (based on samba3) to IDL.
authorGünther Deschner <gd@samba.org>
Tue, 6 Jan 2009 17:15:01 +0000 (18:15 +0100)
committerGünther Deschner <gd@samba.org>
Thu, 8 Jan 2009 10:19:12 +0000 (11:19 +0100)
Guenther

librpc/idl/svcctl.idl
source3/include/rpc_svcctl.h

index 500d4949e3bb885757cc24c0d443defaf76198b4..c1227597a89e779a698669d689b7ef148d235b9f 100644 (file)
@@ -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,
index baa1404316f2ca3609e230427f24ecb257a0ebc3..303b126a54f9616117f7d66e1d3e45b77816bfcc 100644 (file)
 #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 */
 #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