1 /* header auto-generated by pidl */
5 #include "libcli/util/ntstatus.h"
7 #include "librpc/gen_ndr/drsuapi.h"
8 #include "librpc/gen_ndr/misc.h"
9 #include "librpc/gen_ndr/samr.h"
10 #include "librpc/gen_ndr/lsa.h"
11 #ifndef _HEADER_drsblobs
12 #define _HEADER_drsblobs
14 #define SUPPLEMENTAL_CREDENTIALS_PREFIX ( " " )
15 struct replPropertyMetaData1 {
16 enum drsuapi_DsAttributeId attid;
18 NTTIME originating_change_time;
19 struct GUID originating_invocation_id;
20 uint64_t originating_usn;
24 struct replPropertyMetaDataCtr1 {
27 struct replPropertyMetaData1 *array;
30 union replPropertyMetaDataCtr {
31 struct replPropertyMetaDataCtr1 ctr1;/* [case] */
32 }/* [nodiscriminant] */;
34 struct replPropertyMetaDataBlob {
37 union replPropertyMetaDataCtr ctr;/* [switch_is(version)] */
40 struct replUpToDateVectorCtr1 {
43 struct drsuapi_DsReplicaCursor *cursors;
46 struct replUpToDateVectorCtr2 {
49 struct drsuapi_DsReplicaCursor2 *cursors;
52 union replUpToDateVectorCtr {
53 struct replUpToDateVectorCtr1 ctr1;/* [case] */
54 struct replUpToDateVectorCtr2 ctr2;/* [case(2)] */
55 }/* [nodiscriminant] */;
57 struct replUpToDateVectorBlob {
60 union replUpToDateVectorCtr ctr;/* [switch_is(version)] */
63 struct repsFromTo1OtherInfo {
64 uint32_t __dns_name_size;/* [value(strlen(dns_name)+1)] */
65 const char *dns_name;/* [charset(DOS)] */
66 }/* [gensize,public] */;
69 uint32_t blobsize;/* [value(ndr_size_repsFromTo1(this,ndr->iconv_convenience,ndr->flags)+8)] */
70 uint32_t consecutive_sync_failures;
73 WERROR result_last_attempt;
74 struct repsFromTo1OtherInfo *other_info;/* [relative] */
75 uint32_t other_info_length;/* [value(ndr_size_repsFromTo1OtherInfo(other_info,ndr->iconv_convenience,ndr->flags))] */
76 uint32_t replica_flags;
79 struct drsuapi_DsReplicaHighWaterMark highwatermark;
80 struct GUID source_dsa_obj_guid;
81 struct GUID source_dsa_invocation_id;
82 struct GUID transport_guid;
83 }/* [gensize,public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
86 struct repsFromTo1 ctr1;/* [case] */
87 }/* [nodiscriminant] */;
89 struct repsFromToBlob {
92 union repsFromTo ctr;/* [switch_is(version)] */
95 struct partialAttributeSetCtr1 {
97 enum drsuapi_DsAttributeId *array;
100 union partialAttributeSetCtr {
101 struct partialAttributeSetCtr1 ctr1;/* [case] */
102 }/* [nodiscriminant] */;
104 struct partialAttributeSetBlob {
107 union partialAttributeSetCtr ctr;/* [switch_is(version)] */
110 enum prefixMapVersion
111 #ifndef USE_UINT_ENUMS
113 PREFIX_MAP_VERSION_DSDB=0x44534442
116 { __donnot_use_enum_prefixMapVersion=0x7FFFFFFF}
117 #define PREFIX_MAP_VERSION_DSDB ( 0x44534442 )
122 struct drsuapi_DsReplicaOIDMapping_Ctr dsdb;/* [case(PREFIX_MAP_VERSION_DSDB)] */
123 }/* [nodiscriminant] */;
125 struct prefixMapBlob {
126 enum prefixMapVersion version;
128 union prefixMapCtr ctr;/* [switch_is(version)] */
132 #ifndef USE_UINT_ENUMS
137 { __donnot_use_enum_repsToVersion=0x7FFFFFFF}
138 #define REPSTO_VERSION1 ( 1 )
143 const char * dest_dsa_dns_name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
144 struct GUID dest_guid;
150 struct repsToDest *reps;/* [size_is(count)] */
154 struct repsTov1 r;/* [case(REPSTO_VERSION1)] */
155 }/* [nodiscriminant] */;
158 enum repsToVersion version;
159 union repsToCtr ctr;/* [switch_is(version)] */
162 union ldapControlDirSyncExtra {
163 struct replUpToDateVectorBlob uptodateness_vector;/* [default] */
164 }/* [gensize,nodiscriminant] */;
166 struct ldapControlDirSyncBlob {
167 uint32_t u1;/* [value(3)] */
171 uint32_t extra_length;/* [value(ndr_size_ldapControlDirSyncExtra(&extra,extra.uptodateness_vector.version,ndr->iconv_convenience,0))] */
172 struct drsuapi_DsReplicaHighWaterMark highwatermark;
174 union ldapControlDirSyncExtra extra;/* [switch_is(extra_length)] */
177 struct ldapControlDirSyncCookie {
178 const char *msds;/* [value("MSDS"),charset(DOS)] */
179 struct ldapControlDirSyncBlob blob;/* [subcontext(0)] */
180 }/* [relative_base,public] */;
182 struct supplementalCredentialsPackage {
183 uint16_t name_len;/* [value(2*strlen_m(name))] */
184 uint16_t data_len;/* [value(strlen(data))] */
186 const char *name;/* [charset(UTF16)] */
187 const char *data;/* [charset(DOS)] */
190 enum supplementalCredentialsSignature
191 #ifndef USE_UINT_ENUMS
193 SUPPLEMENTAL_CREDENTIALS_SIGNATURE=0x0050
196 { __donnot_use_enum_supplementalCredentialsSignature=0x7FFFFFFF}
197 #define SUPPLEMENTAL_CREDENTIALS_SIGNATURE ( 0x0050 )
201 struct supplementalCredentialsSubBlob {
202 const char *prefix;/* [value(SUPPLEMENTAL_CREDENTIALS_PREFIX),charset(UTF16)] */
203 enum supplementalCredentialsSignature signature;/* [value(SUPPLEMENTAL_CREDENTIALS_SIGNATURE)] */
204 uint16_t num_packages;
205 struct supplementalCredentialsPackage *packages;
208 struct supplementalCredentialsBlob {
209 uint32_t unknown1;/* [value(0)] */
210 uint32_t __ndr_size;/* [value(ndr_size_supplementalCredentialsSubBlob(&sub,ndr->iconv_convenience,ndr->flags))] */
211 uint32_t unknown2;/* [value(0)] */
212 struct supplementalCredentialsSubBlob sub;/* [subcontext_size(__ndr_size),subcontext(0)] */
213 uint8_t unknown3;/* [value(0)] */
216 struct package_PackagesBlob {
217 const char ** names;/* [flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
220 struct package_PrimaryKerberosString {
221 uint16_t length;/* [value(2*strlen_m(string))] */
222 uint16_t size;/* [value(2*strlen_m(string))] */
223 const char * string;/* [relative,subcontext_size(size),subcontext(0),flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
226 struct package_PrimaryKerberosKey3 {
227 uint16_t reserved1;/* [value(0)] */
228 uint16_t reserved2;/* [value(0)] */
229 uint32_t reserved3;/* [value(0)] */
231 uint32_t value_len;/* [value((value?value->length:0))] */
232 DATA_BLOB *value;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
235 struct package_PrimaryKerberosCtr3 {
237 uint16_t num_old_keys;
238 struct package_PrimaryKerberosString salt;
239 struct package_PrimaryKerberosKey3 *keys;
240 struct package_PrimaryKerberosKey3 *old_keys;
241 uint32_t padding1;/* [value(0)] */
242 uint32_t padding2;/* [value(0)] */
243 uint32_t padding3;/* [value(0)] */
244 uint32_t padding4;/* [value(0)] */
245 uint32_t padding5;/* [value(0)] */
248 struct package_PrimaryKerberosKey4 {
249 uint16_t reserved1;/* [value(0)] */
250 uint16_t reserved2;/* [value(0)] */
251 uint32_t reserved3;/* [value(0)] */
252 uint32_t iteration_count;
254 uint32_t value_len;/* [value((value?value->length:0))] */
255 DATA_BLOB *value;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
258 struct package_PrimaryKerberosCtr4 {
260 uint16_t num_service_keys;/* [value(0)] */
261 uint16_t num_old_keys;
262 uint16_t num_older_keys;
263 struct package_PrimaryKerberosString salt;
264 uint32_t default_iteration_count;
265 struct package_PrimaryKerberosKey4 *keys;
266 struct package_PrimaryKerberosKey4 *service_keys;
267 struct package_PrimaryKerberosKey4 *old_keys;
268 struct package_PrimaryKerberosKey4 *older_keys;
271 union package_PrimaryKerberosCtr {
272 struct package_PrimaryKerberosCtr3 ctr3;/* [case(3)] */
273 struct package_PrimaryKerberosCtr4 ctr4;/* [case(4)] */
274 }/* [nodiscriminant] */;
276 struct package_PrimaryKerberosBlob {
278 uint16_t flags;/* [value(0)] */
279 union package_PrimaryKerberosCtr ctr;/* [switch_is(version)] */
282 struct package_PrimaryCLEARTEXTBlob {
283 DATA_BLOB cleartext;/* [flag(LIBNDR_FLAG_REMAINING)] */
286 struct package_PrimaryWDigestHash {
288 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
290 struct package_PrimaryWDigestBlob {
291 uint16_t unknown1;/* [value(0x31)] */
292 uint8_t unknown2;/* [value(0x01)] */
294 uint32_t unknown3;/* [value(0)] */
295 uint64_t uuknown4;/* [value(0)] */
296 struct package_PrimaryWDigestHash *hashes;
299 struct AuthInfoNone {
300 uint32_t size;/* [value(0)] */
303 struct AuthInfoNT4Owf {
304 uint32_t size;/* [value(16)] */
305 struct samr_Password password;
308 struct AuthInfoClear {
313 struct AuthInfoVersion {
314 uint32_t size;/* [value(4)] */
319 struct AuthInfoNone none;/* [case(TRUST_AUTH_TYPE_NONE)] */
320 struct AuthInfoNT4Owf nt4owf;/* [case(TRUST_AUTH_TYPE_NT4OWF)] */
321 struct AuthInfoClear clear;/* [case(TRUST_AUTH_TYPE_CLEAR)] */
322 struct AuthInfoVersion version;/* [case(TRUST_AUTH_TYPE_VERSION)] */
323 }/* [nodiscriminant] */;
325 struct AuthenticationInformation {
326 NTTIME LastUpdateTime;
327 enum lsa_TrustAuthType AuthType;
328 union AuthInfo AuthInfo;/* [switch_is(AuthType)] */
329 DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN4)] */
332 struct AuthenticationInformationArray {
333 struct AuthenticationInformation *array;/* [size_is] */
334 }/* [noprint,nopush,nopull] */;
336 struct trustAuthInOutBlob {
338 struct AuthenticationInformationArray *current;/* [relative] */
339 struct AuthenticationInformationArray *previous;/* [relative] */
340 }/* [noprint,gensize,nopull,public,nopush] */;
342 struct trustCurrentPasswords {
344 struct AuthenticationInformation **current;/* [relative] */
345 }/* [gensize,public] */;
347 struct trustDomainPasswords {
348 uint8_t confounder[512];
349 struct trustCurrentPasswords outgoing;/* [subcontext_size(outgoing_size),subcontext(0)] */
350 struct trustCurrentPasswords incoming;/* [subcontext_size(incoming_size),subcontext(0)] */
351 uint32_t outgoing_size;/* [value(ndr_size_trustCurrentPasswords(&outgoing,ndr->iconv_convenience,ndr->flags))] */
352 uint32_t incoming_size;/* [value(ndr_size_trustCurrentPasswords(&incoming,ndr->iconv_convenience,ndr->flags))] */
353 }/* [public,nopull] */;
355 struct DsCompressedChunk {
360 struct ExtendedErrorAString {
362 const char *string;/* [unique,charset(DOS),size_is(__size)] */
365 struct ExtendedErrorUString {
367 const char *string;/* [unique,charset(UTF16),size_is(__size)] */
370 struct ExtendedErrorBlob {
372 uint8_t *data;/* [unique,size_is(length)] */
375 enum ExtendedErrorComputerNamePresent
376 #ifndef USE_UINT_ENUMS
378 EXTENDED_ERROR_COMPUTER_NAME_PRESENT=1,
379 EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT=2
382 { __donnot_use_enum_ExtendedErrorComputerNamePresent=0x7FFFFFFF}
383 #define EXTENDED_ERROR_COMPUTER_NAME_PRESENT ( 1 )
384 #define EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT ( 2 )
388 union ExtendedErrorComputerNameU {
389 struct ExtendedErrorUString name;/* [case(EXTENDED_ERROR_COMPUTER_NAME_PRESENT)] */
390 }/* [switch_type(ExtendedErrorComputerNamePresent)] */;
392 struct ExtendedErrorComputerName {
393 enum ExtendedErrorComputerNamePresent present;
394 union ExtendedErrorComputerNameU n;/* [switch_is(present)] */
397 enum ExtendedErrorParamType
398 #ifndef USE_UINT_ENUMS
400 EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING=1,
401 EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING=2,
402 EXTENDED_ERROR_PARAM_TYPE_UINT32=3,
403 EXTENDED_ERROR_PARAM_TYPE_UINT16=4,
404 EXTENDED_ERROR_PARAM_TYPE_UINT64=5,
405 EXTENDED_ERROR_PARAM_TYPE_NONE=6,
406 EXTENDED_ERROR_PARAM_TYPE_BLOB=7
409 { __donnot_use_enum_ExtendedErrorParamType=0x7FFFFFFF}
410 #define EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING ( 1 )
411 #define EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING ( 2 )
412 #define EXTENDED_ERROR_PARAM_TYPE_UINT32 ( 3 )
413 #define EXTENDED_ERROR_PARAM_TYPE_UINT16 ( 4 )
414 #define EXTENDED_ERROR_PARAM_TYPE_UINT64 ( 5 )
415 #define EXTENDED_ERROR_PARAM_TYPE_NONE ( 6 )
416 #define EXTENDED_ERROR_PARAM_TYPE_BLOB ( 7 )
420 union ExtendedErrorParamU {
421 struct ExtendedErrorAString a_string;/* [case(EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING)] */
422 struct ExtendedErrorUString u_string;/* [case(EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING)] */
423 uint32_t uint32;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT32)] */
424 uint16_t uint16;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT16)] */
425 uint64_t uint64;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT64)] */
426 struct ExtendedErrorBlob blob;/* [case(EXTENDED_ERROR_PARAM_TYPE_BLOB)] */
427 }/* [switch_type(ExtendedErrorParamType)] */;
429 struct ExtendedErrorParam {
430 enum ExtendedErrorParamType type;
431 union ExtendedErrorParamU p;/* [switch_is(type)] */
434 struct ExtendedErrorInfo {
435 struct ExtendedErrorInfo *next;/* [unique] */
436 struct ExtendedErrorComputerName computer_name;
439 uint32_t generating_component;
441 uint16_t detection_location;
444 struct ExtendedErrorParam *params;/* [size_is(num_params)] */
447 struct ExtendedErrorInfoPtr {
448 struct ExtendedErrorInfo *info;/* [unique] */
452 struct decode_replPropertyMetaData {
454 struct replPropertyMetaDataBlob blob;
460 struct decode_replUpToDateVector {
462 struct replUpToDateVectorBlob blob;
468 struct decode_repsFromTo {
470 struct repsFromToBlob blob;
476 struct decode_partialAttributeSet {
478 struct partialAttributeSetBlob blob;
484 struct decode_prefixMap {
486 struct prefixMapBlob blob;
492 struct decode_ldapControlDirSync {
494 struct ldapControlDirSyncCookie cookie;
500 struct decode_supplementalCredentials {
502 struct supplementalCredentialsBlob blob;
508 struct decode_Packages {
510 struct package_PackagesBlob blob;
516 struct decode_PrimaryKerberos {
518 struct package_PrimaryKerberosBlob blob;
524 struct decode_PrimaryCLEARTEXT {
526 struct package_PrimaryCLEARTEXTBlob blob;
532 struct decode_PrimaryWDigest {
534 struct package_PrimaryWDigestBlob blob;
540 struct decode_trustAuthInOut {
542 struct trustAuthInOutBlob blob;
548 struct decode_trustDomainPasswords {
550 struct trustDomainPasswords blob;
556 struct decode_ExtendedErrorInfo {
558 struct ExtendedErrorInfoPtr ptr;/* [subcontext(0xFFFFFC01)] */
563 #endif /* _HEADER_drsblobs */