tevent: release 0.16.1
[Samba.git] / librpc / idl / misc.idl
bloba705b53b5f31a0bfd45b281ed4d1b35620601a4e
1 #include "idl_types.h"
3 /*
4 miscellaneous IDL structures
5 */
9 pyhelper("librpc/ndr/py_misc.c"),
10 pointer_default(unique)
12 interface misc
15 * While structures are not normally known by their order,
16 * please keep this as the first struct, we use this for a
17 * test of 'ndrdump misc 0 struct' (this helps debug failures
18 * from our NDR fuzzing tool, which doesn't use string names)
20 typedef [public,noprint,gensize] struct {
21 uint32 time_low;
22 uint16 time_mid;
23 uint16 time_hi_and_version;
24 uint8 clock_seq[2];
25 uint8 node[6];
26 } GUID;
28 typedef [public] struct {
29 GUID uuid;
30 /* The major version is encoded in the 16 least significant bits,
31 the minor in the 16 most significant bits.
32 http://www.opengroup.org/onlinepubs/9629399/chap12.htm */
33 uint32 if_version;
34 } ndr_syntax_id;
36 typedef [public] struct {
37 uint32 handle_type;
38 GUID uuid;
39 } policy_handle;
41 /* secure channel types */
42 /* Only SEC_CHAN_WKSTA can forward requests to other domains. */
44 typedef [public] enum {
45 SEC_CHAN_NULL = 0,
46 SEC_CHAN_LOCAL = 1,
47 SEC_CHAN_WKSTA = 2,
48 SEC_CHAN_DNS_DOMAIN = 3,
49 SEC_CHAN_DOMAIN = 4,
50 SEC_CHAN_LANMAN = 5,
51 SEC_CHAN_BDC = 6,
52 SEC_CHAN_RODC = 7
53 } netr_SchannelType;
55 typedef [public] struct {
56 NTSTATUS ntstatus;
57 uint32 unknown1;
58 uint32 unknown2; /* 0x00000001 */
59 } KRB5_EDATA_NTSTATUS;
61 typedef [public,v1_enum] enum {
62 REG_NONE = 0,
63 REG_SZ = 1,
64 REG_EXPAND_SZ = 2,
65 REG_BINARY = 3,
66 REG_DWORD = 4,
67 REG_DWORD_BIG_ENDIAN = 5,
68 REG_LINK = 6,
69 REG_MULTI_SZ = 7,
70 REG_RESOURCE_LIST = 8,
71 REG_FULL_RESOURCE_DESCRIPTOR = 9,
72 REG_RESOURCE_REQUIREMENTS_LIST = 10,
73 REG_QWORD = 11
74 } winreg_Type;
76 typedef [nodiscriminant,public,flag(NDR_LITTLE_ENDIAN)] union {
77 [case(REG_NONE)];
78 [case(REG_SZ)] nstring string;
79 [case(REG_EXPAND_SZ)] nstring string;
80 [case(REG_BINARY),flag(NDR_REMAINING)] DATA_BLOB binary;
81 [case(REG_DWORD)] uint32 value;
82 [case(REG_DWORD_BIG_ENDIAN),flag(NDR_BIG_ENDIAN)] uint32 value;
83 [case(REG_MULTI_SZ)] nstring_array string_array;
84 [case(REG_QWORD)] hyper qword;
85 [default,flag(NDR_REMAINING)] DATA_BLOB data;
86 } winreg_Data;
89 * We duplicate the above winreg_Data for usage in the GPO python
90 * parsers which cannot handle nstring_array. This should be only
91 * temporary, until we can get PIDL to generate the correct bindings.
93 typedef [nodiscriminant,public,flag(NDR_LITTLE_ENDIAN),gensize] union {
94 [case(REG_NONE)];
95 [case(REG_SZ)] nstring string;
96 [case(REG_EXPAND_SZ)] nstring string;
97 [case(REG_BINARY),flag(NDR_REMAINING)] DATA_BLOB binary;
98 [case(REG_DWORD)] uint32 value;
99 [case(REG_DWORD_BIG_ENDIAN),flag(NDR_BIG_ENDIAN)] uint32 value;
101 * There are no python handlers for nstring_array.
102 * Prefer a fallback to DATA_BLOB instead.
104 * [case(REG_MULTI_SZ)] nstring_array string_array;
106 [case(REG_QWORD)] hyper qword;
107 [default,flag(NDR_REMAINING)] DATA_BLOB data;
108 } winreg_Data_GPO;
110 /* SAM database types */
111 typedef [public,v1_enum] enum {
112 SAM_DATABASE_DOMAIN = 0, /* Domain users and groups */
113 SAM_DATABASE_BUILTIN = 1, /* BUILTIN users and groups */
114 SAM_DATABASE_PRIVS = 2 /* Privileges */
115 } netr_SamDatabaseID;
117 typedef [public,bitmap32bit] bitmap {
118 SV_TYPE_WORKSTATION = 0x00000001,
119 SV_TYPE_SERVER = 0x00000002,
120 SV_TYPE_SQLSERVER = 0x00000004,
121 SV_TYPE_DOMAIN_CTRL = 0x00000008,
122 SV_TYPE_DOMAIN_BAKCTRL = 0x00000010,
123 SV_TYPE_TIME_SOURCE = 0x00000020,
124 SV_TYPE_AFP = 0x00000040,
125 SV_TYPE_NOVELL = 0x00000080,
127 SV_TYPE_DOMAIN_MEMBER = 0x00000100,
128 SV_TYPE_PRINTQ_SERVER = 0x00000200,
129 SV_TYPE_DIALIN_SERVER = 0x00000400,
130 SV_TYPE_SERVER_UNIX = 0x00000800,
131 SV_TYPE_NT = 0x00001000,
132 SV_TYPE_WFW = 0x00002000,
133 SV_TYPE_SERVER_MFPN = 0x00004000,
134 SV_TYPE_SERVER_NT = 0x00008000,
135 SV_TYPE_POTENTIAL_BROWSER = 0x00010000,
136 SV_TYPE_BACKUP_BROWSER = 0x00020000,
137 SV_TYPE_MASTER_BROWSER = 0x00040000,
138 SV_TYPE_DOMAIN_MASTER = 0x00080000,
139 SV_TYPE_SERVER_OSF = 0x00100000,
140 SV_TYPE_SERVER_VMS = 0x00200000,
141 SV_TYPE_WIN95_PLUS = 0x00400000,
142 SV_TYPE_DFS_SERVER = 0x00800000,
143 SV_TYPE_ALTERNATE_XPORT = 0x20000000,
144 SV_TYPE_LOCAL_LIST_ONLY = 0x40000000,
145 SV_TYPE_DOMAIN_ENUM = 0x80000000
146 } svcctl_ServerType;
148 const uint32 SV_TYPE_ALL = 0xFFFFFFFF;