misc: mark winreg_Data little-endian except for a REG_DWORD_BIG_ENDIAN.
[ira/wip.git] / librpc / idl / misc.idl
1 #include "idl_types.h"
2
3 /*
4   miscellaneous IDL structures
5 */
6
7
8 [
9         pyhelper("librpc/ndr/py_misc.c"),
10         pointer_default(unique)
11 ]
12 interface misc
13 {
14         typedef [public,noprint,gensize] struct {
15                 uint32 time_low;
16                 uint16 time_mid;
17                 uint16 time_hi_and_version;
18                 uint8  clock_seq[2];
19                 uint8  node[6];
20         } GUID;
21
22         typedef [public] struct {
23                 GUID uuid;
24                 uint32 if_version;
25         } ndr_syntax_id;
26
27         typedef [public] struct {
28                 uint32 handle_type;
29                 GUID   uuid;
30         } policy_handle;
31
32         /* secure channel types */
33         /* Only SEC_CHAN_WKSTA can forward requests to other domains. */
34
35         typedef [public] enum {
36                 SEC_CHAN_NULL        = 0,
37                 SEC_CHAN_WKSTA       = 2,
38                 SEC_CHAN_DNS_DOMAIN  = 3,
39                 SEC_CHAN_DOMAIN      = 4,
40                 SEC_CHAN_BDC         = 6
41         } netr_SchannelType;
42
43         typedef [public] struct {
44                 NTSTATUS ntstatus;
45                 uint32 unknown1;
46                 uint32 unknown2; /* 0x00000001 */
47         } KRB5_EDATA_NTSTATUS;
48
49         typedef [public,v1_enum] enum {
50                 REG_NONE                       = 0,
51                 REG_SZ                         = 1,
52                 REG_EXPAND_SZ                  = 2,
53                 REG_BINARY                     = 3,
54                 REG_DWORD                      = 4,
55                 REG_DWORD_BIG_ENDIAN           = 5,
56                 REG_LINK                       = 6,
57                 REG_MULTI_SZ                   = 7,
58                 REG_RESOURCE_LIST              = 8,
59                 REG_FULL_RESOURCE_DESCRIPTOR   = 9,
60                 REG_RESOURCE_REQUIREMENTS_LIST = 10,
61                 REG_QWORD                      = 11
62         } winreg_Type;
63
64         typedef [nodiscriminant,public,flag(NDR_LITTLE_ENDIAN)] union {
65                 [case(REG_NONE)];
66                 [case(REG_SZ)] nstring string;
67                 [case(REG_EXPAND_SZ)] nstring string;
68                 [case(REG_BINARY),flag(NDR_REMAINING)] DATA_BLOB binary;
69                 [case(REG_DWORD)] uint32 value;
70                 [case(REG_DWORD_BIG_ENDIAN),flag(NDR_BIG_ENDIAN)] uint32 value;
71                 [case(REG_MULTI_SZ)] nstring_array string_array;
72                 [default,flag(NDR_REMAINING)] DATA_BLOB data;
73         } winreg_Data;
74 }