4 miscellaneous IDL structures
9 pyhelper
("librpc/ndr/py_misc.c"),
10 headerhelper
("lib/util/data_blob.h"),
11 pointer_default(unique)
16 * While structures are not normally known by their order,
17 * please keep this as the first struct, we use this for a
18 * test of 'ndrdump misc 0 struct' (this helps debug failures
19 * from our NDR fuzzing tool, which doesn't use string names)
21 typedef [public,noprint
,gensize
] struct {
24 uint16 time_hi_and_version
;
29 typedef [public] struct {
31 /* The major version is encoded in the 16 least significant bits,
32 the minor in the 16 most significant bits.
33 http://www.opengroup.org/onlinepubs/9629399/chap12.htm */
37 typedef [public] struct {
42 /* secure channel types */
43 /* Only SEC_CHAN_WKSTA can forward requests to other domains. */
45 typedef [public] enum {
49 SEC_CHAN_DNS_DOMAIN
= 3,
56 typedef [public,v1_enum] enum {
62 REG_DWORD_BIG_ENDIAN
= 5,
65 REG_RESOURCE_LIST
= 8,
66 REG_FULL_RESOURCE_DESCRIPTOR
= 9,
67 REG_RESOURCE_REQUIREMENTS_LIST
= 10,
71 typedef [nodiscriminant
,public,flag
(NDR_LITTLE_ENDIAN
)] union {
73 [case(REG_SZ
)] nstring
string;
74 [case(REG_EXPAND_SZ
)] nstring
string;
75 [case(REG_BINARY
),flag
(NDR_REMAINING
)] DATA_BLOB binary
;
76 [case(REG_DWORD
)] uint32 value
;
77 [case(REG_DWORD_BIG_ENDIAN
),flag
(NDR_BIG_ENDIAN
)] uint32 value
;
78 [case(REG_MULTI_SZ
)] nstring_array string_array
;
79 [case(REG_QWORD
)] hyper qword
;
80 [default,flag
(NDR_REMAINING
)] DATA_BLOB data
;
84 * We duplicate the above winreg_Data for usage in the GPO python
85 * parsers which cannot handle nstring_array. This should be only
86 * temporary, until we can get PIDL to generate the correct bindings.
88 typedef [nodiscriminant
,public,flag
(NDR_LITTLE_ENDIAN
),gensize
] union {
90 [case(REG_SZ
)] nstring
string;
91 [case(REG_EXPAND_SZ
)] nstring
string;
92 [case(REG_BINARY
),flag
(NDR_REMAINING
)] DATA_BLOB binary
;
93 [case(REG_DWORD
)] uint32 value
;
94 [case(REG_DWORD_BIG_ENDIAN
),flag
(NDR_BIG_ENDIAN
)] uint32 value
;
96 * There are no python handlers for nstring_array.
97 * Prefer a fallback to DATA_BLOB instead.
99 * [case(REG_MULTI_SZ)] nstring_array string_array;
101 [case(REG_QWORD
)] hyper qword
;
102 [default,flag
(NDR_REMAINING
)] DATA_BLOB data
;
105 /* SAM database types */
106 typedef [public,v1_enum] enum {
107 SAM_DATABASE_DOMAIN
= 0, /* Domain users and groups */
108 SAM_DATABASE_BUILTIN
= 1, /* BUILTIN users and groups */
109 SAM_DATABASE_PRIVS
= 2 /* Privileges */
110 } netr_SamDatabaseID
;
112 typedef [public,bitmap32bit
] bitmap
{
113 SV_TYPE_WORKSTATION
= 0x00000001,
114 SV_TYPE_SERVER
= 0x00000002,
115 SV_TYPE_SQLSERVER
= 0x00000004,
116 SV_TYPE_DOMAIN_CTRL
= 0x00000008,
117 SV_TYPE_DOMAIN_BAKCTRL
= 0x00000010,
118 SV_TYPE_TIME_SOURCE
= 0x00000020,
119 SV_TYPE_AFP
= 0x00000040,
120 SV_TYPE_NOVELL
= 0x00000080,
122 SV_TYPE_DOMAIN_MEMBER
= 0x00000100,
123 SV_TYPE_PRINTQ_SERVER
= 0x00000200,
124 SV_TYPE_DIALIN_SERVER
= 0x00000400,
125 SV_TYPE_SERVER_UNIX
= 0x00000800,
126 SV_TYPE_NT
= 0x00001000,
127 SV_TYPE_WFW
= 0x00002000,
128 SV_TYPE_SERVER_MFPN
= 0x00004000,
129 SV_TYPE_SERVER_NT
= 0x00008000,
130 SV_TYPE_POTENTIAL_BROWSER
= 0x00010000,
131 SV_TYPE_BACKUP_BROWSER
= 0x00020000,
132 SV_TYPE_MASTER_BROWSER
= 0x00040000,
133 SV_TYPE_DOMAIN_MASTER
= 0x00080000,
134 SV_TYPE_SERVER_OSF
= 0x00100000,
135 SV_TYPE_SERVER_VMS
= 0x00200000,
136 SV_TYPE_WIN95_PLUS
= 0x00400000,
137 SV_TYPE_DFS_SERVER
= 0x00800000,
138 SV_TYPE_ALTERNATE_XPORT
= 0x20000000,
139 SV_TYPE_LOCAL_LIST_ONLY
= 0x40000000,
140 SV_TYPE_DOMAIN_ENUM
= 0x80000000
143 const uint32 SV_TYPE_ALL
= 0xFFFFFFFF;