From 4365b7b408b2c328e983d96794eec4df1cc31926 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 23 Sep 2009 20:41:44 +0200 Subject: winreg: add winreg_Data union to IDL. Guenther --- librpc/idl/misc.idl | 26 ++++++++++++++++++++++++++ librpc/idl/winreg.idl | 17 +---------------- 2 files changed, 27 insertions(+), 16 deletions(-) (limited to 'librpc/idl') diff --git a/librpc/idl/misc.idl b/librpc/idl/misc.idl index 5bc3c9f976..5a2bf75a74 100644 --- a/librpc/idl/misc.idl +++ b/librpc/idl/misc.idl @@ -1,3 +1,5 @@ +#include "idl_types.h" + /* miscellaneous IDL structures */ @@ -43,4 +45,28 @@ interface misc uint32 unknown1; uint32 unknown2; /* 0x00000001 */ } KRB5_EDATA_NTSTATUS; + + typedef [public,v1_enum] enum { + REG_NONE = 0, + REG_SZ = 1, + REG_EXPAND_SZ = 2, + REG_BINARY = 3, + REG_DWORD = 4, + REG_DWORD_BIG_ENDIAN = 5, + REG_LINK = 6, + REG_MULTI_SZ = 7, + REG_RESOURCE_LIST = 8, + REG_FULL_RESOURCE_DESCRIPTOR = 9, + REG_RESOURCE_REQUIREMENTS_LIST = 10, + REG_QWORD = 11 + } winreg_Type; + + typedef [nodiscriminant,public] union { + [case(REG_NONE)]; + [case(REG_SZ)] nstring string; + [case(REG_BINARY),flag(NDR_REMAINING)] DATA_BLOB binary; + [case(REG_DWORD)] uint32 value; + [case(REG_MULTI_SZ)] nstring_array string_array; + [default,flag(NDR_REMAINING)] DATA_BLOB data; + } winreg_Data; } diff --git a/librpc/idl/winreg.idl b/librpc/idl/winreg.idl index 18b5edcb5d..f1f4dfb719 100644 --- a/librpc/idl/winreg.idl +++ b/librpc/idl/winreg.idl @@ -2,7 +2,7 @@ winreg interface definition */ -import "lsa.idl", "security.idl"; +import "lsa.idl", "security.idl", "misc.idl"; [ uuid("338cd001-2244-31f1-aaaa-900038001003"), @@ -45,21 +45,6 @@ import "lsa.idl", "security.idl"; REG_KEY_WRITE | KEY_CREATE_LINK); - typedef [public,v1_enum] enum { - REG_NONE = 0, - REG_SZ = 1, - REG_EXPAND_SZ = 2, - REG_BINARY = 3, - REG_DWORD = 4, - REG_DWORD_BIG_ENDIAN = 5, - REG_LINK = 6, - REG_MULTI_SZ = 7, - REG_RESOURCE_LIST = 8, - REG_FULL_RESOURCE_DESCRIPTOR = 9, - REG_RESOURCE_REQUIREMENTS_LIST = 10, - REG_QWORD = 11 - } winreg_Type; - typedef [public] struct { [value(strlen_m_term(name)*2)] uint16 name_len; [value(strlen_m_term(name)*2)] uint16 name_size; -- cgit