1 /* header auto-generated by pidl */
5 #include "librpc/gen_ndr/drsuapi.h"
6 #include "librpc/gen_ndr/misc.h"
7 #include "librpc/gen_ndr/samr.h"
8 #include "librpc/gen_ndr/lsa.h"
9 #ifndef _HEADER_drsblobs
10 #define _HEADER_drsblobs
12 #define SUPPLEMENTAL_CREDENTIALS_PREFIX ( " " )
13 struct replPropertyMetaData1 {
14 enum drsuapi_DsAttributeId attid;
16 NTTIME originating_change_time;
17 struct GUID originating_invocation_id;
18 uint64_t originating_usn;
22 struct replPropertyMetaDataCtr1 {
25 struct replPropertyMetaData1 *array;
28 union replPropertyMetaDataCtr {
29 struct replPropertyMetaDataCtr1 ctr1;/* [case] */
30 }/* [nodiscriminant] */;
32 struct replPropertyMetaDataBlob {
35 union replPropertyMetaDataCtr ctr;/* [switch_is(version)] */
38 struct replUpToDateVectorCtr1 {
41 struct drsuapi_DsReplicaCursor *cursors;
44 struct replUpToDateVectorCtr2 {
47 struct drsuapi_DsReplicaCursor2 *cursors;
50 union replUpToDateVectorCtr {
51 struct replUpToDateVectorCtr1 ctr1;/* [case] */
52 struct replUpToDateVectorCtr2 ctr2;/* [case(2)] */
53 }/* [nodiscriminant] */;
55 struct replUpToDateVectorBlob {
58 union replUpToDateVectorCtr ctr;/* [switch_is(version)] */
61 struct repsFromTo1OtherInfo {
62 uint32_t __dns_name_size;/* [value(strlen(dns_name)+1)] */
63 const char *dns_name;/* [charset(DOS)] */
64 }/* [gensize,public] */;
67 uint32_t blobsize;/* [value(ndr_size_repsFromTo1(this,ndr->iconv_convenience,ndr->flags)+8)] */
68 uint32_t consecutive_sync_failures;
71 WERROR result_last_attempt;
72 struct repsFromTo1OtherInfo *other_info;/* [relative] */
73 uint32_t other_info_length;/* [value(ndr_size_repsFromTo1OtherInfo(other_info,ndr->iconv_convenience,ndr->flags))] */
74 uint32_t replica_flags;
77 struct drsuapi_DsReplicaHighWaterMark highwatermark;
78 struct GUID source_dsa_obj_guid;
79 struct GUID source_dsa_invocation_id;
80 struct GUID transport_guid;
81 }/* [gensize,public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
84 struct repsFromTo1 ctr1;/* [case] */
85 }/* [nodiscriminant] */;
87 struct repsFromToBlob {
90 union repsFromTo ctr;/* [switch_is(version)] */
93 struct partialAttributeSetCtr1 {
95 enum drsuapi_DsAttributeId *array;
98 union partialAttributeSetCtr {
99 struct partialAttributeSetCtr1 ctr1;/* [case] */
100 }/* [nodiscriminant] */;
102 struct partialAttributeSetBlob {
105 union partialAttributeSetCtr ctr;/* [switch_is(version)] */
108 enum prefixMapVersion
109 #ifndef USE_UINT_ENUMS
111 PREFIX_MAP_VERSION_DSDB=0x44534442
114 { __donnot_use_enum_prefixMapVersion=0x7FFFFFFF}
115 #define PREFIX_MAP_VERSION_DSDB ( 0x44534442 )
120 struct drsuapi_DsReplicaOIDMapping_Ctr dsdb;/* [case(PREFIX_MAP_VERSION_DSDB)] */
121 }/* [nodiscriminant] */;
123 struct prefixMapBlob {
124 enum prefixMapVersion version;
126 union prefixMapCtr ctr;/* [switch_is(version)] */
129 union ldapControlDirSyncExtra {
130 struct replUpToDateVectorBlob uptodateness_vector;/* [default] */
131 }/* [gensize,nodiscriminant] */;
133 struct ldapControlDirSyncBlob {
134 uint32_t u1;/* [value(3)] */
138 uint32_t extra_length;/* [value(ndr_size_ldapControlDirSyncExtra(&extra,extra.uptodateness_vector.version,ndr->iconv_convenience,0))] */
139 struct drsuapi_DsReplicaHighWaterMark highwatermark;
141 union ldapControlDirSyncExtra extra;/* [switch_is(extra_length)] */
144 struct ldapControlDirSyncCookie {
145 const char *msds;/* [value("MSDS"),charset(DOS)] */
146 struct ldapControlDirSyncBlob blob;/* [subcontext(0)] */
147 }/* [relative_base,public] */;
149 struct supplementalCredentialsPackage {
150 uint16_t name_len;/* [value(2*strlen_m(name))] */
151 uint16_t data_len;/* [value(strlen(data))] */
153 const char *name;/* [charset(UTF16)] */
154 const char *data;/* [charset(DOS)] */
157 enum supplementalCredentialsSignature
158 #ifndef USE_UINT_ENUMS
160 SUPPLEMENTAL_CREDENTIALS_SIGNATURE=0x0050
163 { __donnot_use_enum_supplementalCredentialsSignature=0x7FFFFFFF}
164 #define SUPPLEMENTAL_CREDENTIALS_SIGNATURE ( 0x0050 )
168 struct supplementalCredentialsSubBlob {
169 const char *prefix;/* [value(SUPPLEMENTAL_CREDENTIALS_PREFIX),charset(UTF16)] */
170 enum supplementalCredentialsSignature signature;/* [value(SUPPLEMENTAL_CREDENTIALS_SIGNATURE)] */
171 uint16_t num_packages;
172 struct supplementalCredentialsPackage *packages;
175 struct supplementalCredentialsBlob {
176 uint32_t unknown1;/* [value(0)] */
177 uint32_t __ndr_size;/* [value(ndr_size_supplementalCredentialsSubBlob(&sub,ndr->iconv_convenience,ndr->flags))] */
178 uint32_t unknown2;/* [value(0)] */
179 struct supplementalCredentialsSubBlob sub;/* [subcontext_size(__ndr_size),subcontext(0)] */
180 uint8_t unknown3;/* [value(0)] */
183 struct package_PackagesBlob {
184 const char ** names;/* [flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
187 struct package_PrimaryKerberosString {
188 uint16_t length;/* [value(2*strlen_m(string))] */
189 uint16_t size;/* [value(2*strlen_m(string))] */
190 const char * string;/* [relative,subcontext_size(size),subcontext(0),flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
193 struct package_PrimaryKerberosKey3 {
194 uint16_t reserved1;/* [value(0)] */
195 uint16_t reserved2;/* [value(0)] */
196 uint32_t reserved3;/* [value(0)] */
198 uint32_t value_len;/* [value((value?value->length:0))] */
199 DATA_BLOB *value;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
202 struct package_PrimaryKerberosCtr3 {
204 uint16_t num_old_keys;
205 struct package_PrimaryKerberosString salt;
206 struct package_PrimaryKerberosKey3 *keys;
207 struct package_PrimaryKerberosKey3 *old_keys;
208 uint32_t padding1;/* [value(0)] */
209 uint32_t padding2;/* [value(0)] */
210 uint32_t padding3;/* [value(0)] */
211 uint32_t padding4;/* [value(0)] */
212 uint32_t padding5;/* [value(0)] */
215 struct package_PrimaryKerberosKey4 {
216 uint16_t reserved1;/* [value(0)] */
217 uint16_t reserved2;/* [value(0)] */
218 uint32_t reserved3;/* [value(0)] */
219 uint32_t iteration_count;
221 uint32_t value_len;/* [value((value?value->length:0))] */
222 DATA_BLOB *value;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
225 struct package_PrimaryKerberosCtr4 {
227 uint16_t num_service_keys;/* [value(0)] */
228 uint16_t num_old_keys;
229 uint16_t num_older_keys;
230 struct package_PrimaryKerberosString salt;
231 uint32_t default_iteration_count;
232 struct package_PrimaryKerberosKey4 *keys;
233 struct package_PrimaryKerberosKey4 *service_keys;
234 struct package_PrimaryKerberosKey4 *old_keys;
235 struct package_PrimaryKerberosKey4 *older_keys;
238 union package_PrimaryKerberosCtr {
239 struct package_PrimaryKerberosCtr3 ctr3;/* [case(3)] */
240 struct package_PrimaryKerberosCtr4 ctr4;/* [case(4)] */
241 }/* [nodiscriminant] */;
243 struct package_PrimaryKerberosBlob {
245 uint16_t flags;/* [value(0)] */
246 union package_PrimaryKerberosCtr ctr;/* [switch_is(version)] */
249 struct package_PrimaryCLEARTEXTBlob {
250 DATA_BLOB cleartext;/* [flag(LIBNDR_FLAG_REMAINING)] */
253 struct package_PrimaryWDigestHash {
255 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
257 struct package_PrimaryWDigestBlob {
258 uint16_t unknown1;/* [value(0x31)] */
259 uint8_t unknown2;/* [value(0x01)] */
261 uint32_t unknown3;/* [value(0)] */
262 uint64_t uuknown4;/* [value(0)] */
263 struct package_PrimaryWDigestHash *hashes;
266 struct AuthInfoNone {
267 uint32_t size;/* [value(0)] */
270 struct AuthInfoNT4Owf {
271 uint32_t size;/* [value(16)] */
272 struct samr_Password password;
275 struct AuthInfoClear {
280 struct AuthInfoVersion {
281 uint32_t size;/* [value(4)] */
286 struct AuthInfoNone none;/* [case(TRUST_AUTH_TYPE_NONE)] */
287 struct AuthInfoNT4Owf nt4owf;/* [case(TRUST_AUTH_TYPE_NT4OWF)] */
288 struct AuthInfoClear clear;/* [case(TRUST_AUTH_TYPE_CLEAR)] */
289 struct AuthInfoVersion version;/* [case(TRUST_AUTH_TYPE_VERSION)] */
290 }/* [nodiscriminant] */;
292 struct AuthenticationInformation {
293 NTTIME LastUpdateTime;
294 enum lsa_TrustAuthType AuthType;
295 union AuthInfo AuthInfo;/* [switch_is(AuthType)] */
296 DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN4)] */
299 struct AuthenticationInformationArray {
300 struct AuthenticationInformation *array;/* [size_is] */
301 }/* [noprint,nopush,nopull] */;
303 struct trustAuthInOutBlob {
305 struct AuthenticationInformationArray *current;/* [relative] */
306 struct AuthenticationInformationArray *previous;/* [relative] */
307 }/* [noprint,gensize,nopull,public,nopush] */;
309 struct trustCurrentPasswords {
311 struct AuthenticationInformation **current;/* [relative] */
312 }/* [gensize,public] */;
314 struct trustDomainPasswords {
315 uint8_t confounder[512];
316 struct trustCurrentPasswords outgoing;/* [subcontext_size(outgoing_size),subcontext(0)] */
317 struct trustCurrentPasswords incoming;/* [subcontext_size(incoming_size),subcontext(0)] */
318 uint32_t outgoing_size;/* [value(ndr_size_trustCurrentPasswords(&outgoing,ndr->iconv_convenience,ndr->flags))] */
319 uint32_t incoming_size;/* [value(ndr_size_trustCurrentPasswords(&incoming,ndr->iconv_convenience,ndr->flags))] */
320 }/* [public,nopull] */;
322 struct DsCompressedChunk {
327 struct ExtendedErrorAString {
329 const char *string;/* [unique,charset(DOS),size_is(__size)] */
332 struct ExtendedErrorUString {
334 const char *string;/* [unique,charset(UTF16),size_is(__size)] */
337 struct ExtendedErrorBlob {
339 uint8_t *data;/* [unique,size_is(length)] */
342 enum ExtendedErrorComputerNamePresent
343 #ifndef USE_UINT_ENUMS
345 EXTENDED_ERROR_COMPUTER_NAME_PRESENT=1,
346 EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT=2
349 { __donnot_use_enum_ExtendedErrorComputerNamePresent=0x7FFFFFFF}
350 #define EXTENDED_ERROR_COMPUTER_NAME_PRESENT ( 1 )
351 #define EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT ( 2 )
355 union ExtendedErrorComputerNameU {
356 struct ExtendedErrorUString name;/* [case(EXTENDED_ERROR_COMPUTER_NAME_PRESENT)] */
357 }/* [switch_type(ExtendedErrorComputerNamePresent)] */;
359 struct ExtendedErrorComputerName {
360 enum ExtendedErrorComputerNamePresent present;
361 union ExtendedErrorComputerNameU n;/* [switch_is(present)] */
364 enum ExtendedErrorParamType
365 #ifndef USE_UINT_ENUMS
367 EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING=1,
368 EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING=2,
369 EXTENDED_ERROR_PARAM_TYPE_UINT32=3,
370 EXTENDED_ERROR_PARAM_TYPE_UINT16=4,
371 EXTENDED_ERROR_PARAM_TYPE_UINT64=5,
372 EXTENDED_ERROR_PARAM_TYPE_NONE=6,
373 EXTENDED_ERROR_PARAM_TYPE_BLOB=7
376 { __donnot_use_enum_ExtendedErrorParamType=0x7FFFFFFF}
377 #define EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING ( 1 )
378 #define EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING ( 2 )
379 #define EXTENDED_ERROR_PARAM_TYPE_UINT32 ( 3 )
380 #define EXTENDED_ERROR_PARAM_TYPE_UINT16 ( 4 )
381 #define EXTENDED_ERROR_PARAM_TYPE_UINT64 ( 5 )
382 #define EXTENDED_ERROR_PARAM_TYPE_NONE ( 6 )
383 #define EXTENDED_ERROR_PARAM_TYPE_BLOB ( 7 )
387 union ExtendedErrorParamU {
388 struct ExtendedErrorAString a_string;/* [case(EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING)] */
389 struct ExtendedErrorUString u_string;/* [case(EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING)] */
390 uint32_t uint32;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT32)] */
391 uint16_t uint16;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT16)] */
392 uint64_t uint64;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT64)] */
393 struct ExtendedErrorBlob blob;/* [case(EXTENDED_ERROR_PARAM_TYPE_BLOB)] */
394 }/* [switch_type(ExtendedErrorParamType)] */;
396 struct ExtendedErrorParam {
397 enum ExtendedErrorParamType type;
398 union ExtendedErrorParamU p;/* [switch_is(type)] */
401 struct ExtendedErrorInfo {
402 struct ExtendedErrorInfo *next;/* [unique] */
403 struct ExtendedErrorComputerName computer_name;
406 uint32_t generating_component;
408 uint16_t detection_location;
411 struct ExtendedErrorParam *params;/* [size_is(num_params)] */
414 struct ExtendedErrorInfoPtr {
415 struct ExtendedErrorInfo *info;/* [unique] */
419 struct decode_replPropertyMetaData {
421 struct replPropertyMetaDataBlob blob;
427 struct decode_replUpToDateVector {
429 struct replUpToDateVectorBlob blob;
435 struct decode_repsFromTo {
437 struct repsFromToBlob blob;
443 struct decode_partialAttributeSet {
445 struct partialAttributeSetBlob blob;
451 struct decode_prefixMap {
453 struct prefixMapBlob blob;
459 struct decode_ldapControlDirSync {
461 struct ldapControlDirSyncCookie cookie;
467 struct decode_supplementalCredentials {
469 struct supplementalCredentialsBlob blob;
475 struct decode_Packages {
477 struct package_PackagesBlob blob;
483 struct decode_PrimaryKerberos {
485 struct package_PrimaryKerberosBlob blob;
491 struct decode_PrimaryCLEARTEXT {
493 struct package_PrimaryCLEARTEXTBlob blob;
499 struct decode_PrimaryWDigest {
501 struct package_PrimaryWDigestBlob blob;
507 struct decode_trustAuthInOut {
509 struct trustAuthInOutBlob blob;
515 struct decode_trustDomainPasswords {
517 struct trustDomainPasswords blob;
523 struct decode_ExtendedErrorInfo {
525 struct ExtendedErrorInfoPtr ptr;/* [subcontext(0xFFFFFC01)] */
530 #endif /* _HEADER_drsblobs */