diff options
author | Günther Deschner <gd@samba.org> | 2009-09-23 20:41:44 +0200 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2009-09-29 23:38:47 +0200 |
commit | 4365b7b408b2c328e983d96794eec4df1cc31926 (patch) | |
tree | 1b7ead1e310849b7de340901d1cf7ca185031e21 /librpc/idl | |
parent | 21794b0dd28a80b149342b3218d7ebb4c8791e09 (diff) | |
download | samba-4365b7b408b2c328e983d96794eec4df1cc31926.tar.gz samba-4365b7b408b2c328e983d96794eec4df1cc31926.tar.bz2 samba-4365b7b408b2c328e983d96794eec4df1cc31926.zip |
winreg: add winreg_Data union to IDL.
Guenther
Diffstat (limited to 'librpc/idl')
-rw-r--r-- | librpc/idl/misc.idl | 26 | ||||
-rw-r--r-- | librpc/idl/winreg.idl | 17 |
2 files changed, 27 insertions, 16 deletions
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; |