2009-09-23 22:41:44 +04:00
#include "idl_types.h"
2006-09-18 23:02:06 +04:00
/*
miscellaneous IDL structures
*/
2009-04-21 13:14:11 +04:00
2006-09-18 23:02:06 +04:00
[
2009-04-21 13:14:11 +04:00
pyhelper("librpc/ndr/py_misc.c"),
2006-09-18 23:02:06 +04:00
pointer_default(unique)
]
interface misc
{
2008-12-12 13:48:42 +03:00
typedef [public,noprint,gensize] struct {
2006-09-18 23:02:06 +04:00
uint32 time_low;
uint16 time_mid;
uint16 time_hi_and_version;
uint8 clock_seq[2];
uint8 node[6];
} GUID;
2007-08-18 12:18:38 +04:00
typedef [public] struct {
GUID uuid;
2010-02-19 07:55:28 +03:00
/* The major version is encoded in the 16 least significant bits,
the minor in the 16 most significant bits.
http://www.opengroup.org/onlinepubs/9629399/chap12.htm */
2007-08-18 12:18:38 +04:00
uint32 if_version;
} ndr_syntax_id;
2006-09-18 23:02:06 +04:00
typedef [public] struct {
uint32 handle_type;
GUID uuid;
} policy_handle;
/* secure channel types */
/* Only SEC_CHAN_WKSTA can forward requests to other domains. */
typedef [public] enum {
2008-10-13 16:09:10 +04:00
SEC_CHAN_NULL = 0,
SEC_CHAN_WKSTA = 2,
SEC_CHAN_DNS_DOMAIN = 3,
SEC_CHAN_DOMAIN = 4,
SEC_CHAN_BDC = 6
2006-09-18 23:02:06 +04:00
} netr_SchannelType;
2009-02-05 04:07:39 +03:00
typedef [public] struct {
NTSTATUS ntstatus;
uint32 unknown1;
uint32 unknown2; /* 0x00000001 */
} KRB5_EDATA_NTSTATUS;
2009-09-23 22:41:44 +04:00
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;
2009-11-27 13:18:30 +03:00
typedef [nodiscriminant,public,flag(NDR_LITTLE_ENDIAN)] union {
2009-09-23 22:41:44 +04:00
[case(REG_NONE)];
[case(REG_SZ)] nstring string;
2009-11-27 13:18:30 +03:00
[case(REG_EXPAND_SZ)] nstring string;
2009-09-23 22:41:44 +04:00
[case(REG_BINARY),flag(NDR_REMAINING)] DATA_BLOB binary;
[case(REG_DWORD)] uint32 value;
2009-11-27 13:18:30 +03:00
[case(REG_DWORD_BIG_ENDIAN),flag(NDR_BIG_ENDIAN)] uint32 value;
2009-09-23 22:41:44 +04:00
[case(REG_MULTI_SZ)] nstring_array string_array;
[default,flag(NDR_REMAINING)] DATA_BLOB data;
} winreg_Data;
2006-09-18 23:02:06 +04:00
}