From ffae01d432c715961c44e499258ee2a9f7e3d5f1 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 6 Mar 2005 17:02:14 +0000 Subject: r5672: Use switch_type() and the token storage mechanism for unions: - Makes union handling less special - Allows unions in arrays, etc - Compatible with midl - Pidl will warn about switch_type() and the type of the switch_is() variable being different (This used to be commit dc6b4ffc82a191631bc16a4b93a4916a39183ec6) --- source4/librpc/idl/samr.idl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'source4/librpc/idl/samr.idl') diff --git a/source4/librpc/idl/samr.idl b/source4/librpc/idl/samr.idl index 85f032c414..e8b269dc66 100644 --- a/source4/librpc/idl/samr.idl +++ b/source4/librpc/idl/samr.idl @@ -202,7 +202,7 @@ uint32 unknown2; } samr_DomInfo13; - typedef union { + typedef [switch_type(uint16)] union { [case(1)] samr_DomInfo1 info1; [case(2)] samr_DomInfo2 info2; [case(3)] samr_DomInfo3 info3; @@ -383,7 +383,7 @@ GROUPINFOALL2 = 5 } samr_GroupInfoEnum; - typedef union { + typedef [switch_type(samr_GroupInfoEnum)] union { [case(GROUPINFOALL)] samr_GroupInfoAll all; [case(GROUPINFONAME)] samr_String name; [case(GROUPINFOX)] samr_GroupInfoX unknown; @@ -482,7 +482,7 @@ ALIASINFODESCRIPTION = 3 } samr_AliasInfoEnum; - typedef union { + typedef [switch_type(samr_AliasInfoEnum)] union { [case(ALIASINFOALL)] samr_AliasInfoAll all; [case(ALIASINFONAME)] samr_String name; [case(ALIASINFODESCRIPTION)] samr_String description; @@ -745,7 +745,7 @@ uint8 pw_len; } samr_UserInfo26; - typedef union { + typedef [switch_type(uint16)] union { [case(1)] samr_UserInfo1 info1; [case(2)] samr_UserInfo2 info2; [case(3)] samr_UserInfo3 info3; @@ -873,7 +873,7 @@ [size_is(count)] samr_DispEntryAscii *entries[]; } samr_DispInfoAscii; - typedef union { + typedef [switch_type(uint16)] union { [case(1)] samr_DispInfoGeneral info1;/* users */ [case(2)] samr_DispInfoFull info2; /* trust accounts? */ [case(3)] samr_DispInfoFull info3; /* groups */ -- cgit