From 4d6e935897dcd89592a827ab3631925ad57bf678 Mon Sep 17 00:00:00 2001 From: Matthieu Patou Date: Sun, 20 Oct 2013 20:16:27 -0700 Subject: [PATCH 1/2] librpc-idl: replace int32 by the enumeration as it's the type that we use in union's switch drsuapi_DsGetDCInfoCtrLevels Signed-off-by: Matthieu Patou Signed-off-by: Stefan Metzmacher Reviewed-by: Stefan Metzmacher --- librpc/idl/drsuapi.idl | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/librpc/idl/drsuapi.idl b/librpc/idl/drsuapi.idl index 063d135..297db08 100644 --- a/librpc/idl/drsuapi.idl +++ b/librpc/idl/drsuapi.idl @@ -1107,9 +1107,16 @@ interface drsuapi /*****************/ /* Function 0x10 */ + typedef [v1_enum] enum { + DRSUAPI_DC_INFO_CTR_1 = 1, + DRSUAPI_DC_INFO_CTR_2 = 2, + DRSUAPI_DC_INFO_CTR_3 = 3, + DRSUAPI_DC_CONNECTION_CTR_01 = 0xFFFFFFFF + } drsuapi_DsGetDCInfoCtrLevels; + typedef struct { [charset(UTF16),string] uint16 *domain_name; /* netbios or dns */ - int32 level; /* specifies the switch level for the request */ + drsuapi_DsGetDCInfoCtrLevels level; /* specifies the switch level for the request */ } drsuapi_DsGetDCInfoRequest1; typedef [switch_type(int32)] union { @@ -1204,14 +1211,7 @@ interface drsuapi [size_is(count)] drsuapi_DsGetDCConnection01 *array; } drsuapi_DsGetDCConnectionCtr01; - typedef [v1_enum] enum { - DRSUAPI_DC_INFO_CTR_1 = 1, - DRSUAPI_DC_INFO_CTR_2 = 2, - DRSUAPI_DC_INFO_CTR_3 = 3, - DRSUAPI_DC_CONNECTION_CTR_01 = -1 - } drsuapi_DsGetDCInfoCtrLevels; - - typedef [switch_type(int32)] union { + typedef [switch_type(drsuapi_DsGetDCInfoCtrLevels)] union { [case(DRSUAPI_DC_INFO_CTR_1)] drsuapi_DsGetDCInfoCtr1 ctr1; [case(DRSUAPI_DC_INFO_CTR_2)] drsuapi_DsGetDCInfoCtr2 ctr2; [case(DRSUAPI_DC_INFO_CTR_3)] drsuapi_DsGetDCInfoCtr3 ctr3; @@ -1222,7 +1222,7 @@ interface drsuapi [in] policy_handle *bind_handle, [in] int32 level, [in,ref,switch_is(level)] drsuapi_DsGetDCInfoRequest *req, - [out,ref] int32 *level_out, + [out,ref] drsuapi_DsGetDCInfoCtrLevels *level_out, [out,ref,switch_is(*level_out)] drsuapi_DsGetDCInfoCtr *ctr ); -- 1.7.9.5 From 66fda40cd246da0e86566dd52e7d44eb4cd98f8e Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 21 Oct 2013 08:40:28 +0200 Subject: [PATCH 2/2] TODO Matthieu please add a commit message Signed-off-by: Stefan Metzmacher Reviewed-by: Stefan Metzmacher --- librpc/idl/drsuapi.idl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/librpc/idl/drsuapi.idl b/librpc/idl/drsuapi.idl index 297db08..7e3d343 100644 --- a/librpc/idl/drsuapi.idl +++ b/librpc/idl/drsuapi.idl @@ -1119,7 +1119,7 @@ interface drsuapi drsuapi_DsGetDCInfoCtrLevels level; /* specifies the switch level for the request */ } drsuapi_DsGetDCInfoRequest1; - typedef [switch_type(int32)] union { + typedef [switch_type(uint32)] union { [case(1)] drsuapi_DsGetDCInfoRequest1 req1; } drsuapi_DsGetDCInfoRequest; @@ -1220,7 +1220,7 @@ interface drsuapi WERROR drsuapi_DsGetDomainControllerInfo( [in] policy_handle *bind_handle, - [in] int32 level, + [in] uint32 level, [in,ref,switch_is(level)] drsuapi_DsGetDCInfoRequest *req, [out,ref] drsuapi_DsGetDCInfoCtrLevels *level_out, [out,ref,switch_is(*level_out)] drsuapi_DsGetDCInfoCtr *ctr -- 1.7.9.5