s3-libads: Use a reducing page size to try and cope with a slow LDAP server
[Samba.git] / librpc / gen_ndr / drsblobs.h
blobf4adc570e28e5ec229790c09d01d15897f020f58
1 /* header auto-generated by pidl */
3 #include <stdint.h>
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;
17 uint32_t version;
18 NTTIME originating_change_time;
19 struct GUID originating_invocation_id;
20 uint64_t originating_usn;
21 uint64_t local_usn;
24 struct replPropertyMetaDataCtr1 {
25 uint32_t count;
26 uint32_t reserved;
27 struct replPropertyMetaData1 *array;
30 union replPropertyMetaDataCtr {
31 struct replPropertyMetaDataCtr1 ctr1;/* [case] */
32 }/* [nodiscriminant] */;
34 struct replPropertyMetaDataBlob {
35 uint32_t version;
36 uint32_t reserved;
37 union replPropertyMetaDataCtr ctr;/* [switch_is(version)] */
38 }/* [public] */;
40 struct replUpToDateVectorCtr1 {
41 uint32_t count;
42 uint32_t reserved;
43 struct drsuapi_DsReplicaCursor *cursors;
46 struct replUpToDateVectorCtr2 {
47 uint32_t count;
48 uint32_t reserved;
49 struct drsuapi_DsReplicaCursor2 *cursors;
52 union replUpToDateVectorCtr {
53 struct replUpToDateVectorCtr1 ctr1;/* [case] */
54 struct replUpToDateVectorCtr2 ctr2;/* [case(2)] */
55 }/* [nodiscriminant] */;
57 struct replUpToDateVectorBlob {
58 uint32_t version;
59 uint32_t reserved;
60 union replUpToDateVectorCtr ctr;/* [switch_is(version)] */
61 }/* [public] */;
63 struct repsFromTo1OtherInfo {
64 uint32_t __dns_name_size;/* [value(strlen(dns_name)+1)] */
65 const char *dns_name;/* [charset(DOS)] */
66 }/* [gensize,public] */;
68 struct repsFromTo1 {
69 uint32_t blobsize;/* [value(ndr_size_repsFromTo1(this,ndr->iconv_convenience,ndr->flags)+8)] */
70 uint32_t consecutive_sync_failures;
71 NTTIME last_success;
72 NTTIME last_attempt;
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;
77 uint8_t schedule[84];
78 uint32_t reserved;
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)] */;
85 struct repsFromTo2OtherInfo {
86 uint32_t __ndr_size;/* [value(ndr_size_repsFromTo2OtherInfo(this,ndr->iconv_convenience,ndr->flags))] */
87 const char * dns_name1;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
88 uint32_t unknown1;
89 const char * dns_name2;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
90 uint64_t unknown2;
91 }/* [relative_base,gensize,public] */;
93 struct repsFromTo2 {
94 uint32_t blobsize;/* [value(ndr_size_repsFromTo2(this,ndr->iconv_convenience,ndr->flags)+8)] */
95 uint32_t consecutive_sync_failures;
96 NTTIME last_success;
97 NTTIME last_attempt;
98 WERROR result_last_attempt;
99 struct repsFromTo2OtherInfo *other_info;/* [relative] */
100 uint32_t other_info_length;/* [value(ndr_size_repsFromTo2OtherInfo(other_info,ndr->iconv_convenience,ndr->flags))] */
101 uint32_t replica_flags;
102 uint8_t schedule[84];
103 uint32_t reserved;
104 struct drsuapi_DsReplicaHighWaterMark highwatermark;
105 struct GUID source_dsa_obj_guid;
106 struct GUID source_dsa_invocation_id;
107 struct GUID transport_guid;
108 uint64_t unknown1;
109 }/* [gensize,public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
111 union repsFromTo {
112 struct repsFromTo1 ctr1;/* [case] */
113 struct repsFromTo2 ctr2;/* [case(2)] */
114 }/* [nodiscriminant] */;
116 struct repsFromToBlob {
117 uint32_t version;
118 uint32_t reserved;
119 union repsFromTo ctr;/* [switch_is(version)] */
120 }/* [public] */;
122 struct partialAttributeSetCtr1 {
123 uint32_t count;
124 enum drsuapi_DsAttributeId *array;
127 union partialAttributeSetCtr {
128 struct partialAttributeSetCtr1 ctr1;/* [case] */
129 }/* [nodiscriminant] */;
131 struct partialAttributeSetBlob {
132 uint32_t version;
133 uint32_t reserved;
134 union partialAttributeSetCtr ctr;/* [switch_is(version)] */
135 }/* [public] */;
137 enum prefixMapVersion
138 #ifndef USE_UINT_ENUMS
140 PREFIX_MAP_VERSION_DSDB=(int)(0x44534442)
142 #else
143 { __donnot_use_enum_prefixMapVersion=0x7FFFFFFF}
144 #define PREFIX_MAP_VERSION_DSDB ( 0x44534442 )
145 #endif
148 union prefixMapCtr {
149 struct drsuapi_DsReplicaOIDMapping_Ctr dsdb;/* [case(PREFIX_MAP_VERSION_DSDB)] */
150 }/* [nodiscriminant] */;
152 struct prefixMapBlob {
153 enum prefixMapVersion version;
154 uint32_t reserved;
155 union prefixMapCtr ctr;/* [switch_is(version)] */
156 }/* [public] */;
158 union ldapControlDirSyncExtra {
159 struct replUpToDateVectorBlob uptodateness_vector;/* [default] */
160 }/* [gensize,nodiscriminant] */;
162 struct ldapControlDirSyncBlob {
163 uint32_t u1;/* [value(3)] */
164 NTTIME time;
165 uint32_t u2;
166 uint32_t u3;
167 uint32_t extra_length;/* [value(ndr_size_ldapControlDirSyncExtra(&extra,extra.uptodateness_vector.version,ndr->iconv_convenience,0))] */
168 struct drsuapi_DsReplicaHighWaterMark highwatermark;
169 struct GUID guid1;
170 union ldapControlDirSyncExtra extra;/* [switch_is(extra_length)] */
173 struct ldapControlDirSyncCookie {
174 const char *msds;/* [value("MSDS"),charset(DOS)] */
175 struct ldapControlDirSyncBlob blob;/* [subcontext(0)] */
176 }/* [relative_base,public] */;
178 struct supplementalCredentialsPackage {
179 uint16_t name_len;/* [value(2*strlen_m(name))] */
180 uint16_t data_len;/* [value(strlen(data))] */
181 uint16_t reserved;
182 const char *name;/* [charset(UTF16)] */
183 const char *data;/* [charset(DOS)] */
186 enum supplementalCredentialsSignature
187 #ifndef USE_UINT_ENUMS
189 SUPPLEMENTAL_CREDENTIALS_SIGNATURE=(int)(0x0050)
191 #else
192 { __donnot_use_enum_supplementalCredentialsSignature=0x7FFFFFFF}
193 #define SUPPLEMENTAL_CREDENTIALS_SIGNATURE ( 0x0050 )
194 #endif
197 struct supplementalCredentialsSubBlob {
198 const char *prefix;/* [value(SUPPLEMENTAL_CREDENTIALS_PREFIX),charset(UTF16)] */
199 enum supplementalCredentialsSignature signature;/* [value(SUPPLEMENTAL_CREDENTIALS_SIGNATURE)] */
200 uint16_t num_packages;
201 struct supplementalCredentialsPackage *packages;
202 }/* [gensize] */;
204 struct supplementalCredentialsBlob {
205 uint32_t unknown1;/* [value(0)] */
206 uint32_t __ndr_size;/* [value(ndr_size_supplementalCredentialsSubBlob(&sub,ndr->iconv_convenience,ndr->flags))] */
207 uint32_t unknown2;/* [value(0)] */
208 struct supplementalCredentialsSubBlob sub;/* [subcontext_size(__ndr_size),subcontext(0)] */
209 uint8_t unknown3;/* [value(0)] */
210 }/* [public] */;
212 struct package_PackagesBlob {
213 const char ** names;/* [flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
214 }/* [public] */;
216 struct package_PrimaryKerberosString {
217 uint16_t length;/* [value(2*strlen_m(string))] */
218 uint16_t size;/* [value(2*strlen_m(string))] */
219 const char * string;/* [relative,subcontext_size(size),subcontext(0),flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
222 struct package_PrimaryKerberosKey3 {
223 uint16_t reserved1;/* [value(0)] */
224 uint16_t reserved2;/* [value(0)] */
225 uint32_t reserved3;/* [value(0)] */
226 uint32_t keytype;
227 uint32_t value_len;/* [value((value?value->length:0))] */
228 DATA_BLOB *value;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
231 struct package_PrimaryKerberosCtr3 {
232 uint16_t num_keys;
233 uint16_t num_old_keys;
234 struct package_PrimaryKerberosString salt;
235 struct package_PrimaryKerberosKey3 *keys;
236 struct package_PrimaryKerberosKey3 *old_keys;
237 uint32_t padding1;/* [value(0)] */
238 uint32_t padding2;/* [value(0)] */
239 uint32_t padding3;/* [value(0)] */
240 uint32_t padding4;/* [value(0)] */
241 uint32_t padding5;/* [value(0)] */
244 struct package_PrimaryKerberosKey4 {
245 uint16_t reserved1;/* [value(0)] */
246 uint16_t reserved2;/* [value(0)] */
247 uint32_t reserved3;/* [value(0)] */
248 uint32_t iteration_count;
249 uint32_t keytype;
250 uint32_t value_len;/* [value((value?value->length:0))] */
251 DATA_BLOB *value;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
254 struct package_PrimaryKerberosCtr4 {
255 uint16_t num_keys;
256 uint16_t num_service_keys;/* [value(0)] */
257 uint16_t num_old_keys;
258 uint16_t num_older_keys;
259 struct package_PrimaryKerberosString salt;
260 uint32_t default_iteration_count;
261 struct package_PrimaryKerberosKey4 *keys;
262 struct package_PrimaryKerberosKey4 *service_keys;
263 struct package_PrimaryKerberosKey4 *old_keys;
264 struct package_PrimaryKerberosKey4 *older_keys;
267 union package_PrimaryKerberosCtr {
268 struct package_PrimaryKerberosCtr3 ctr3;/* [case(3)] */
269 struct package_PrimaryKerberosCtr4 ctr4;/* [case(4)] */
270 }/* [nodiscriminant] */;
272 struct package_PrimaryKerberosBlob {
273 uint16_t version;
274 uint16_t flags;/* [value(0)] */
275 union package_PrimaryKerberosCtr ctr;/* [switch_is(version)] */
276 }/* [public] */;
278 struct package_PrimaryCLEARTEXTBlob {
279 DATA_BLOB cleartext;/* [flag(LIBNDR_FLAG_REMAINING)] */
280 }/* [public] */;
282 struct package_PrimaryWDigestHash {
283 uint8_t hash[16];
284 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
286 struct package_PrimaryWDigestBlob {
287 uint16_t unknown1;/* [value(0x31)] */
288 uint8_t unknown2;/* [value(0x01)] */
289 uint8_t num_hashes;
290 uint32_t unknown3;/* [value(0)] */
291 uint64_t uuknown4;/* [value(0)] */
292 struct package_PrimaryWDigestHash *hashes;
293 }/* [public] */;
295 struct AuthInfoNone {
296 uint32_t size;/* [value(0)] */
299 struct AuthInfoNT4Owf {
300 uint32_t size;/* [value(16)] */
301 struct samr_Password password;
304 struct AuthInfoClear {
305 uint32_t size;
306 uint8_t *password;
309 struct AuthInfoVersion {
310 uint32_t size;/* [value(4)] */
311 uint32_t version;
314 union AuthInfo {
315 struct AuthInfoNone none;/* [case(TRUST_AUTH_TYPE_NONE)] */
316 struct AuthInfoNT4Owf nt4owf;/* [case(TRUST_AUTH_TYPE_NT4OWF)] */
317 struct AuthInfoClear clear;/* [case(TRUST_AUTH_TYPE_CLEAR)] */
318 struct AuthInfoVersion version;/* [case(TRUST_AUTH_TYPE_VERSION)] */
319 }/* [nodiscriminant] */;
321 struct AuthenticationInformation {
322 NTTIME LastUpdateTime;
323 enum lsa_TrustAuthType AuthType;
324 union AuthInfo AuthInfo;/* [switch_is(AuthType)] */
325 DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN4)] */
326 }/* [public] */;
328 struct AuthenticationInformationArray {
329 struct AuthenticationInformation *array;/* [size_is] */
330 }/* [noprint,nopush,nopull] */;
332 struct trustAuthInOutBlob {
333 uint32_t count;
334 struct AuthenticationInformationArray *current;/* [relative] */
335 struct AuthenticationInformationArray *previous;/* [relative] */
336 }/* [noprint,gensize,nopull,public,nopush] */;
338 struct trustCurrentPasswords {
339 uint32_t count;
340 struct AuthenticationInformation **current;/* [relative] */
341 }/* [gensize,public] */;
343 struct trustDomainPasswords {
344 uint8_t confounder[512];
345 struct trustCurrentPasswords outgoing;/* [subcontext_size(outgoing_size),subcontext(0)] */
346 struct trustCurrentPasswords incoming;/* [subcontext_size(incoming_size),subcontext(0)] */
347 uint32_t outgoing_size;/* [value(ndr_size_trustCurrentPasswords(&outgoing,ndr->iconv_convenience,ndr->flags))] */
348 uint32_t incoming_size;/* [value(ndr_size_trustCurrentPasswords(&incoming,ndr->iconv_convenience,ndr->flags))] */
349 }/* [public,nopull] */;
351 struct DsCompressedChunk {
352 uint32_t marker;
353 DATA_BLOB data;
354 }/* [public] */;
356 struct ExtendedErrorAString {
357 uint16_t __size;
358 const char *string;/* [unique,charset(DOS),size_is(__size)] */
361 struct ExtendedErrorUString {
362 uint16_t __size;
363 const char *string;/* [unique,charset(UTF16),size_is(__size)] */
366 struct ExtendedErrorBlob {
367 uint16_t length;
368 uint8_t *data;/* [unique,size_is(length)] */
371 enum ExtendedErrorComputerNamePresent
372 #ifndef USE_UINT_ENUMS
374 EXTENDED_ERROR_COMPUTER_NAME_PRESENT=(int)(1),
375 EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT=(int)(2)
377 #else
378 { __donnot_use_enum_ExtendedErrorComputerNamePresent=0x7FFFFFFF}
379 #define EXTENDED_ERROR_COMPUTER_NAME_PRESENT ( 1 )
380 #define EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT ( 2 )
381 #endif
384 union ExtendedErrorComputerNameU {
385 struct ExtendedErrorUString name;/* [case(EXTENDED_ERROR_COMPUTER_NAME_PRESENT)] */
386 }/* [switch_type(ExtendedErrorComputerNamePresent)] */;
388 struct ExtendedErrorComputerName {
389 enum ExtendedErrorComputerNamePresent present;
390 union ExtendedErrorComputerNameU n;/* [switch_is(present)] */
393 enum ExtendedErrorParamType
394 #ifndef USE_UINT_ENUMS
396 EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING=(int)(1),
397 EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING=(int)(2),
398 EXTENDED_ERROR_PARAM_TYPE_UINT32=(int)(3),
399 EXTENDED_ERROR_PARAM_TYPE_UINT16=(int)(4),
400 EXTENDED_ERROR_PARAM_TYPE_UINT64=(int)(5),
401 EXTENDED_ERROR_PARAM_TYPE_NONE=(int)(6),
402 EXTENDED_ERROR_PARAM_TYPE_BLOB=(int)(7)
404 #else
405 { __donnot_use_enum_ExtendedErrorParamType=0x7FFFFFFF}
406 #define EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING ( 1 )
407 #define EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING ( 2 )
408 #define EXTENDED_ERROR_PARAM_TYPE_UINT32 ( 3 )
409 #define EXTENDED_ERROR_PARAM_TYPE_UINT16 ( 4 )
410 #define EXTENDED_ERROR_PARAM_TYPE_UINT64 ( 5 )
411 #define EXTENDED_ERROR_PARAM_TYPE_NONE ( 6 )
412 #define EXTENDED_ERROR_PARAM_TYPE_BLOB ( 7 )
413 #endif
416 union ExtendedErrorParamU {
417 struct ExtendedErrorAString a_string;/* [case(EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING)] */
418 struct ExtendedErrorUString u_string;/* [case(EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING)] */
419 uint32_t uint32;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT32)] */
420 uint16_t uint16;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT16)] */
421 uint64_t uint64;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT64)] */
422 struct ExtendedErrorBlob blob;/* [case(EXTENDED_ERROR_PARAM_TYPE_BLOB)] */
423 }/* [switch_type(ExtendedErrorParamType)] */;
425 struct ExtendedErrorParam {
426 enum ExtendedErrorParamType type;
427 union ExtendedErrorParamU p;/* [switch_is(type)] */
430 struct ExtendedErrorInfo {
431 struct ExtendedErrorInfo *next;/* [unique] */
432 struct ExtendedErrorComputerName computer_name;
433 uint64_t pid;
434 NTTIME time;
435 uint32_t generating_component;
436 WERROR status;
437 uint16_t detection_location;
438 uint16_t flags;
439 uint16_t num_params;
440 struct ExtendedErrorParam *params;/* [size_is(num_params)] */
441 }/* [public] */;
443 struct ExtendedErrorInfoPtr {
444 struct ExtendedErrorInfo *info;/* [unique] */
448 struct decode_replPropertyMetaData {
449 struct {
450 struct replPropertyMetaDataBlob blob;
451 } in;
456 struct decode_replUpToDateVector {
457 struct {
458 struct replUpToDateVectorBlob blob;
459 } in;
464 struct decode_repsFromTo {
465 struct {
466 struct repsFromToBlob blob;
467 } in;
472 struct decode_partialAttributeSet {
473 struct {
474 struct partialAttributeSetBlob blob;
475 } in;
480 struct decode_prefixMap {
481 struct {
482 struct prefixMapBlob blob;
483 } in;
488 struct decode_ldapControlDirSync {
489 struct {
490 struct ldapControlDirSyncCookie cookie;
491 } in;
496 struct decode_supplementalCredentials {
497 struct {
498 struct supplementalCredentialsBlob blob;
499 } in;
504 struct decode_Packages {
505 struct {
506 struct package_PackagesBlob blob;
507 } in;
512 struct decode_PrimaryKerberos {
513 struct {
514 struct package_PrimaryKerberosBlob blob;
515 } in;
520 struct decode_PrimaryCLEARTEXT {
521 struct {
522 struct package_PrimaryCLEARTEXTBlob blob;
523 } in;
528 struct decode_PrimaryWDigest {
529 struct {
530 struct package_PrimaryWDigestBlob blob;
531 } in;
536 struct decode_trustAuthInOut {
537 struct {
538 struct trustAuthInOutBlob blob;
539 } in;
544 struct decode_trustDomainPasswords {
545 struct {
546 struct trustDomainPasswords blob;
547 } in;
552 struct decode_ExtendedErrorInfo {
553 struct {
554 struct ExtendedErrorInfoPtr ptr;/* [subcontext(0xFFFFFC01)] */
555 } in;
559 #endif /* _HEADER_drsblobs */