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 enum drsuapi_DsAttributeId;
15 enum lsa_TrustAuthType;
17 struct replPropertyMetaData1 {
18 enum drsuapi_DsAttributeId attid;
20 NTTIME originating_change_time;
21 struct GUID originating_invocation_id;
22 uint64_t originating_usn;
26 struct replPropertyMetaDataCtr1 {
29 struct replPropertyMetaData1 *array;
32 union replPropertyMetaDataCtr {
33 struct replPropertyMetaDataCtr1 ctr1;/* [case] */
34 }/* [nodiscriminant] */;
36 struct replPropertyMetaDataBlob {
39 union replPropertyMetaDataCtr ctr;/* [switch_is(version)] */
42 struct replUpToDateVectorCtr1 {
45 struct drsuapi_DsReplicaCursor *cursors;
48 struct replUpToDateVectorCtr2 {
51 struct drsuapi_DsReplicaCursor2 *cursors;
54 union replUpToDateVectorCtr {
55 struct replUpToDateVectorCtr1 ctr1;/* [case] */
56 struct replUpToDateVectorCtr2 ctr2;/* [case(2)] */
57 }/* [nodiscriminant] */;
59 struct replUpToDateVectorBlob {
62 union replUpToDateVectorCtr ctr;/* [switch_is(version)] */
65 struct repsFromTo1OtherInfo {
66 uint32_t __dns_name_size;/* [value(strlen(dns_name)+1)] */
67 const char *dns_name;/* [charset(DOS)] */
68 }/* [gensize,public] */;
71 uint32_t blobsize;/* [value(ndr_size_repsFromTo1(this,ndr->flags)+8)] */
72 uint32_t consecutive_sync_failures;
75 WERROR result_last_attempt;
76 struct repsFromTo1OtherInfo *other_info;/* [relative] */
77 uint32_t other_info_length;/* [value(ndr_size_repsFromTo1OtherInfo(other_info,ndr->flags))] */
78 uint32_t replica_flags;
81 struct drsuapi_DsReplicaHighWaterMark highwatermark;
82 struct GUID source_dsa_obj_guid;
83 struct GUID source_dsa_invocation_id;
84 struct GUID transport_guid;
85 }/* [gensize,public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
88 struct repsFromTo1 ctr1;/* [case] */
89 }/* [nodiscriminant] */;
91 struct repsFromToBlob {
94 union repsFromTo ctr;/* [switch_is(version)] */
97 struct partialAttributeSetCtr1 {
99 enum drsuapi_DsAttributeId *array;
102 union partialAttributeSetCtr {
103 struct partialAttributeSetCtr1 ctr1;/* [case] */
104 }/* [nodiscriminant] */;
106 struct partialAttributeSetBlob {
109 union partialAttributeSetCtr ctr;/* [switch_is(version)] */
112 enum prefixMapVersion
113 #ifndef USE_UINT_ENUMS
115 PREFIX_MAP_VERSION_DSDB=0x44534442
118 { __donnot_use_enum_prefixMapVersion=0x7FFFFFFF}
119 #define PREFIX_MAP_VERSION_DSDB ( 0x44534442 )
124 struct drsuapi_DsReplicaOIDMapping_Ctr dsdb;/* [case(PREFIX_MAP_VERSION_DSDB)] */
125 }/* [nodiscriminant] */;
127 struct prefixMapBlob {
128 enum prefixMapVersion version;
130 union prefixMapCtr ctr;/* [switch_is(version)] */
133 union ldapControlDirSyncExtra {
134 struct replUpToDateVectorBlob uptodateness_vector;/* [default] */
135 }/* [gensize,nodiscriminant] */;
137 struct ldapControlDirSyncBlob {
138 uint32_t u1;/* [value(3)] */
142 uint32_t extra_length;/* [value(ndr_size_ldapControlDirSyncExtra(&extra,extra.uptodateness_vector.version,0))] */
143 struct drsuapi_DsReplicaHighWaterMark highwatermark;
145 union ldapControlDirSyncExtra extra;/* [switch_is(extra_length)] */
148 struct ldapControlDirSyncCookie {
149 const char *msds;/* [value("MSDS"),charset(DOS)] */
150 struct ldapControlDirSyncBlob blob;/* [subcontext(0)] */
151 }/* [relative_base,public] */;
153 struct supplementalCredentialsPackage {
154 uint16_t name_len;/* [value(2*strlen_m(name))] */
155 uint16_t data_len;/* [value(strlen(data))] */
157 const char *name;/* [charset(UTF16)] */
158 const char *data;/* [charset(DOS)] */
161 enum supplementalCredentialsSignature
162 #ifndef USE_UINT_ENUMS
164 SUPPLEMENTAL_CREDENTIALS_SIGNATURE=0x0050
167 { __donnot_use_enum_supplementalCredentialsSignature=0x7FFFFFFF}
168 #define SUPPLEMENTAL_CREDENTIALS_SIGNATURE ( 0x0050 )
172 struct supplementalCredentialsSubBlob {
173 const char *prefix;/* [value(SUPPLEMENTAL_CREDENTIALS_PREFIX),charset(UTF16)] */
174 enum supplementalCredentialsSignature signature;/* [value(SUPPLEMENTAL_CREDENTIALS_SIGNATURE)] */
175 uint16_t num_packages;
176 struct supplementalCredentialsPackage *packages;
179 struct supplementalCredentialsBlob {
180 uint32_t unknown1;/* [value(0)] */
181 uint32_t __ndr_size;/* [value(ndr_size_supplementalCredentialsSubBlob(&sub,ndr->flags))] */
182 uint32_t unknown2;/* [value(0)] */
183 struct supplementalCredentialsSubBlob sub;/* [subcontext_size(__ndr_size),subcontext(0)] */
184 uint8_t unknown3;/* [value(0)] */
187 struct package_PackagesBlob {
188 const char ** names;/* [flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
191 struct package_PrimaryKerberosString {
192 uint16_t length;/* [value(2*strlen_m(string))] */
193 uint16_t size;/* [value(2*strlen_m(string))] */
194 const char * string;/* [relative,subcontext_size(size),subcontext(0),flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
197 struct package_PrimaryKerberosKey3 {
198 uint16_t reserved1;/* [value(0)] */
199 uint16_t reserved2;/* [value(0)] */
200 uint32_t reserved3;/* [value(0)] */
202 uint32_t value_len;/* [value((value?value->length:0))] */
203 DATA_BLOB *value;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
206 struct package_PrimaryKerberosCtr3 {
208 uint16_t num_old_keys;
209 struct package_PrimaryKerberosString salt;
210 struct package_PrimaryKerberosKey3 *keys;
211 struct package_PrimaryKerberosKey3 *old_keys;
212 uint32_t padding1;/* [value(0)] */
213 uint32_t padding2;/* [value(0)] */
214 uint32_t padding3;/* [value(0)] */
215 uint32_t padding4;/* [value(0)] */
216 uint32_t padding5;/* [value(0)] */
219 struct package_PrimaryKerberosKey4 {
220 uint16_t reserved1;/* [value(0)] */
221 uint16_t reserved2;/* [value(0)] */
222 uint32_t reserved3;/* [value(0)] */
223 uint32_t iteration_count;
225 uint32_t value_len;/* [value((value?value->length:0))] */
226 DATA_BLOB *value;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
229 struct package_PrimaryKerberosCtr4 {
231 uint16_t num_service_keys;/* [value(0)] */
232 uint16_t num_old_keys;
233 uint16_t num_older_keys;
234 struct package_PrimaryKerberosString salt;
235 uint32_t default_iteration_count;
236 struct package_PrimaryKerberosKey4 *keys;
237 struct package_PrimaryKerberosKey4 *service_keys;
238 struct package_PrimaryKerberosKey4 *old_keys;
239 struct package_PrimaryKerberosKey4 *older_keys;
242 union package_PrimaryKerberosCtr {
243 struct package_PrimaryKerberosCtr3 ctr3;/* [case(3)] */
244 struct package_PrimaryKerberosCtr4 ctr4;/* [case(4)] */
245 }/* [nodiscriminant] */;
247 struct package_PrimaryKerberosBlob {
249 uint16_t flags;/* [value(0)] */
250 union package_PrimaryKerberosCtr ctr;/* [switch_is(version)] */
253 struct package_PrimaryCLEARTEXTBlob {
254 DATA_BLOB cleartext;/* [flag(LIBNDR_FLAG_REMAINING)] */
257 struct package_PrimaryWDigestHash {
259 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
261 struct package_PrimaryWDigestBlob {
262 uint16_t unknown1;/* [value(0x31)] */
263 uint8_t unknown2;/* [value(0x01)] */
265 uint32_t unknown3;/* [value(0)] */
266 uint64_t uuknown4;/* [value(0)] */
267 struct package_PrimaryWDigestHash *hashes;
270 struct AuthInfoNone {
271 uint32_t size;/* [value(0)] */
274 struct AuthInfoNT4Owf {
275 uint32_t size;/* [value(16)] */
276 struct samr_Password password;
279 struct AuthInfoClear {
284 struct AuthInfoVersion {
285 uint32_t size;/* [value(4)] */
290 struct AuthInfoNone none;/* [case(TRUST_AUTH_TYPE_NONE)] */
291 struct AuthInfoNT4Owf nt4owf;/* [case(TRUST_AUTH_TYPE_NT4OWF)] */
292 struct AuthInfoClear clear;/* [case(TRUST_AUTH_TYPE_CLEAR)] */
293 struct AuthInfoVersion version;/* [case(TRUST_AUTH_TYPE_VERSION)] */
294 }/* [nodiscriminant] */;
296 struct AuthenticationInformation {
297 NTTIME LastUpdateTime;
298 enum lsa_TrustAuthType AuthType;
299 union AuthInfo AuthInfo;/* [switch_is(AuthType)] */
300 DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN4)] */
303 struct AuthenticationInformationArray {
304 struct AuthenticationInformation *array;/* [size_is] */
305 }/* [noprint,nopush,nopull] */;
307 struct trustAuthInOutBlob {
309 struct AuthenticationInformationArray *current;/* [relative] */
310 struct AuthenticationInformationArray *previous;/* [relative] */
311 }/* [noprint,gensize,nopull,public,nopush] */;
313 struct trustCurrentPasswords {
315 struct AuthenticationInformation **current;/* [relative] */
316 }/* [gensize,public] */;
318 struct trustDomainPasswords {
319 uint8_t confounder[512];
320 struct trustCurrentPasswords outgoing;/* [subcontext_size(outgoing_size),subcontext(0)] */
321 struct trustCurrentPasswords incoming;/* [subcontext_size(incoming_size),subcontext(0)] */
322 uint32_t outgoing_size;/* [value(ndr_size_trustCurrentPasswords(&outgoing,ndr->flags))] */
323 uint32_t incoming_size;/* [value(ndr_size_trustCurrentPasswords(&incoming,ndr->flags))] */
324 }/* [public,nopull] */;
326 struct DsCompressedChunk {
331 struct ExtendedErrorAString {
333 const char *string;/* [unique,charset(DOS),size_is(__size)] */
336 struct ExtendedErrorUString {
338 const char *string;/* [unique,charset(UTF16),size_is(__size)] */
341 struct ExtendedErrorBlob {
343 uint8_t *data;/* [unique,size_is(length)] */
346 enum ExtendedErrorComputerNamePresent
347 #ifndef USE_UINT_ENUMS
349 EXTENDED_ERROR_COMPUTER_NAME_PRESENT=1,
350 EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT=2
353 { __donnot_use_enum_ExtendedErrorComputerNamePresent=0x7FFFFFFF}
354 #define EXTENDED_ERROR_COMPUTER_NAME_PRESENT ( 1 )
355 #define EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT ( 2 )
359 union ExtendedErrorComputerNameU {
360 struct ExtendedErrorUString name;/* [case(EXTENDED_ERROR_COMPUTER_NAME_PRESENT)] */
361 }/* [switch_type(ExtendedErrorComputerNamePresent)] */;
363 struct ExtendedErrorComputerName {
364 enum ExtendedErrorComputerNamePresent present;
365 union ExtendedErrorComputerNameU n;/* [switch_is(present)] */
368 enum ExtendedErrorParamType
369 #ifndef USE_UINT_ENUMS
371 EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING=1,
372 EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING=2,
373 EXTENDED_ERROR_PARAM_TYPE_UINT32=3,
374 EXTENDED_ERROR_PARAM_TYPE_UINT16=4,
375 EXTENDED_ERROR_PARAM_TYPE_UINT64=5,
376 EXTENDED_ERROR_PARAM_TYPE_NONE=6,
377 EXTENDED_ERROR_PARAM_TYPE_BLOB=7
380 { __donnot_use_enum_ExtendedErrorParamType=0x7FFFFFFF}
381 #define EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING ( 1 )
382 #define EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING ( 2 )
383 #define EXTENDED_ERROR_PARAM_TYPE_UINT32 ( 3 )
384 #define EXTENDED_ERROR_PARAM_TYPE_UINT16 ( 4 )
385 #define EXTENDED_ERROR_PARAM_TYPE_UINT64 ( 5 )
386 #define EXTENDED_ERROR_PARAM_TYPE_NONE ( 6 )
387 #define EXTENDED_ERROR_PARAM_TYPE_BLOB ( 7 )
391 union ExtendedErrorParamU {
392 struct ExtendedErrorAString a_string;/* [case(EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING)] */
393 struct ExtendedErrorUString u_string;/* [case(EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING)] */
394 uint32_t uint32;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT32)] */
395 uint16_t uint16;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT16)] */
396 uint64_t uint64;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT64)] */
397 struct ExtendedErrorBlob blob;/* [case(EXTENDED_ERROR_PARAM_TYPE_BLOB)] */
398 }/* [switch_type(ExtendedErrorParamType)] */;
400 struct ExtendedErrorParam {
401 enum ExtendedErrorParamType type;
402 union ExtendedErrorParamU p;/* [switch_is(type)] */
405 struct ExtendedErrorInfo {
406 struct ExtendedErrorInfo *next;/* [unique] */
407 struct ExtendedErrorComputerName computer_name;
410 uint32_t generating_component;
412 uint16_t detection_location;
415 struct ExtendedErrorParam *params;/* [size_is(num_params)] */
418 struct ExtendedErrorInfoPtr {
419 struct ExtendedErrorInfo *info;/* [unique] */
423 struct decode_replPropertyMetaData {
425 struct replPropertyMetaDataBlob blob;
431 struct decode_replUpToDateVector {
433 struct replUpToDateVectorBlob blob;
439 struct decode_repsFromTo {
441 struct repsFromToBlob blob;
447 struct decode_partialAttributeSet {
449 struct partialAttributeSetBlob blob;
455 struct decode_prefixMap {
457 struct prefixMapBlob blob;
463 struct decode_ldapControlDirSync {
465 struct ldapControlDirSyncCookie cookie;
471 struct decode_supplementalCredentials {
473 struct supplementalCredentialsBlob blob;
479 struct decode_Packages {
481 struct package_PackagesBlob blob;
487 struct decode_PrimaryKerberos {
489 struct package_PrimaryKerberosBlob blob;
495 struct decode_PrimaryCLEARTEXT {
497 struct package_PrimaryCLEARTEXTBlob blob;
503 struct decode_PrimaryWDigest {
505 struct package_PrimaryWDigestBlob blob;
511 struct decode_trustAuthInOut {
513 struct trustAuthInOutBlob blob;
519 struct decode_trustDomainPasswords {
521 struct trustDomainPasswords blob;
527 struct decode_ExtendedErrorInfo {
529 struct ExtendedErrorInfoPtr ptr;/* [subcontext(0xFFFFFC01)] */
534 #endif /* _HEADER_drsblobs */