4 miscellaneous IDL structures
9 pyhelper
("librpc/ndr/py_misc.c"),
10 pointer_default(unique)
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 {
23 uint16 time_hi_and_version
;
28 typedef [public] struct {
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 */
36 typedef [public] struct {
41 /* secure channel types */
42 /* Only SEC_CHAN_WKSTA can forward requests to other domains. */
44 typedef [public] enum {
48 SEC_CHAN_DNS_DOMAIN
= 3,
55 typedef [public] struct {
58 uint32 unknown2
; /* 0x00000001 */
59 } KRB5_EDATA_NTSTATUS
;
61 typedef [public,v1_enum] enum {
67 REG_DWORD_BIG_ENDIAN
= 5,
70 REG_RESOURCE_LIST
= 8,
71 REG_FULL_RESOURCE_DESCRIPTOR
= 9,
72 REG_RESOURCE_REQUIREMENTS_LIST
= 10,
76 typedef [nodiscriminant
,public,flag
(NDR_LITTLE_ENDIAN
)] union {
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
;
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 {
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
;
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
148 const uint32 SV_TYPE_ALL
= 0xFFFFFFFF;