s4: commit generated DRS changes
[kai/samba-autobuild/.git] / librpc / gen_ndr / drsblobs.h
1 /* header auto-generated by pidl */
2
3 #include <stdint.h>
4
5 #include "libcli/util/ntstatus.h"
6
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
13
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;
22 };
23
24 struct replPropertyMetaDataCtr1 {
25         uint32_t count;
26         uint32_t reserved;
27         struct replPropertyMetaData1 *array;
28 };
29
30 union replPropertyMetaDataCtr {
31         struct replPropertyMetaDataCtr1 ctr1;/* [case] */
32 }/* [nodiscriminant] */;
33
34 struct replPropertyMetaDataBlob {
35         uint32_t version;
36         uint32_t reserved;
37         union replPropertyMetaDataCtr ctr;/* [switch_is(version)] */
38 }/* [public] */;
39
40 struct replUpToDateVectorCtr1 {
41         uint32_t count;
42         uint32_t reserved;
43         struct drsuapi_DsReplicaCursor *cursors;
44 };
45
46 struct replUpToDateVectorCtr2 {
47         uint32_t count;
48         uint32_t reserved;
49         struct drsuapi_DsReplicaCursor2 *cursors;
50 };
51
52 union replUpToDateVectorCtr {
53         struct replUpToDateVectorCtr1 ctr1;/* [case] */
54         struct replUpToDateVectorCtr2 ctr2;/* [case(2)] */
55 }/* [nodiscriminant] */;
56
57 struct replUpToDateVectorBlob {
58         uint32_t version;
59         uint32_t reserved;
60         union replUpToDateVectorCtr ctr;/* [switch_is(version)] */
61 }/* [public] */;
62
63 struct repsFromTo1OtherInfo {
64         uint32_t __dns_name_size;/* [value(strlen(dns_name)+1)] */
65         const char *dns_name;/* [charset(DOS)] */
66 }/* [gensize,public] */;
67
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)] */;
84
85 union repsFromTo {
86         struct repsFromTo1 ctr1;/* [case] */
87 }/* [nodiscriminant] */;
88
89 struct repsFromToBlob {
90         uint32_t version;
91         uint32_t reserved;
92         union repsFromTo ctr;/* [switch_is(version)] */
93 }/* [public] */;
94
95 struct partialAttributeSetCtr1 {
96         uint32_t count;
97         enum drsuapi_DsAttributeId *array;
98 };
99
100 union partialAttributeSetCtr {
101         struct partialAttributeSetCtr1 ctr1;/* [case] */
102 }/* [nodiscriminant] */;
103
104 struct partialAttributeSetBlob {
105         uint32_t version;
106         uint32_t reserved;
107         union partialAttributeSetCtr ctr;/* [switch_is(version)] */
108 }/* [public] */;
109
110 enum prefixMapVersion
111 #ifndef USE_UINT_ENUMS
112  {
113         PREFIX_MAP_VERSION_DSDB=0x44534442
114 }
115 #else
116  { __donnot_use_enum_prefixMapVersion=0x7FFFFFFF}
117 #define PREFIX_MAP_VERSION_DSDB ( 0x44534442 )
118 #endif
119 ;
120
121 union prefixMapCtr {
122         struct drsuapi_DsReplicaOIDMapping_Ctr dsdb;/* [case(PREFIX_MAP_VERSION_DSDB)] */
123 }/* [nodiscriminant] */;
124
125 struct prefixMapBlob {
126         enum prefixMapVersion version;
127         uint32_t reserved;
128         union prefixMapCtr ctr;/* [switch_is(version)] */
129 }/* [public] */;
130
131 enum repsToVersion
132 #ifndef USE_UINT_ENUMS
133  {
134         REPSTO_VERSION1=1
135 }
136 #else
137  { __donnot_use_enum_repsToVersion=0x7FFFFFFF}
138 #define REPSTO_VERSION1 ( 1 )
139 #endif
140 ;
141
142 struct repsToDest {
143         const char * dest_dsa_dns_name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
144         struct GUID dest_guid;
145         uint32_t options;
146 };
147
148 struct repsTov1 {
149         uint32_t count;
150         struct repsToDest *reps;/* [size_is(count)] */
151 };
152
153 union repsToCtr {
154         struct repsTov1 r;/* [case(REPSTO_VERSION1)] */
155 }/* [nodiscriminant] */;
156
157 struct repsTo {
158         enum repsToVersion version;
159         union repsToCtr ctr;/* [switch_is(version)] */
160 }/* [public] */;
161
162 union ldapControlDirSyncExtra {
163         struct replUpToDateVectorBlob uptodateness_vector;/* [default] */
164 }/* [gensize,nodiscriminant] */;
165
166 struct ldapControlDirSyncBlob {
167         uint32_t u1;/* [value(3)] */
168         NTTIME time;
169         uint32_t u2;
170         uint32_t u3;
171         uint32_t extra_length;/* [value(ndr_size_ldapControlDirSyncExtra(&extra,extra.uptodateness_vector.version,ndr->iconv_convenience,0))] */
172         struct drsuapi_DsReplicaHighWaterMark highwatermark;
173         struct GUID guid1;
174         union ldapControlDirSyncExtra extra;/* [switch_is(extra_length)] */
175 };
176
177 struct ldapControlDirSyncCookie {
178         const char *msds;/* [value("MSDS"),charset(DOS)] */
179         struct ldapControlDirSyncBlob blob;/* [subcontext(0)] */
180 }/* [relative_base,public] */;
181
182 struct supplementalCredentialsPackage {
183         uint16_t name_len;/* [value(2*strlen_m(name))] */
184         uint16_t data_len;/* [value(strlen(data))] */
185         uint16_t reserved;
186         const char *name;/* [charset(UTF16)] */
187         const char *data;/* [charset(DOS)] */
188 };
189
190 enum supplementalCredentialsSignature
191 #ifndef USE_UINT_ENUMS
192  {
193         SUPPLEMENTAL_CREDENTIALS_SIGNATURE=0x0050
194 }
195 #else
196  { __donnot_use_enum_supplementalCredentialsSignature=0x7FFFFFFF}
197 #define SUPPLEMENTAL_CREDENTIALS_SIGNATURE ( 0x0050 )
198 #endif
199 ;
200
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;
206 }/* [gensize] */;
207
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)] */
214 }/* [public] */;
215
216 struct package_PackagesBlob {
217         const char ** names;/* [flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
218 }/* [public] */;
219
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)] */
224 };
225
226 struct package_PrimaryKerberosKey3 {
227         uint16_t reserved1;/* [value(0)] */
228         uint16_t reserved2;/* [value(0)] */
229         uint32_t reserved3;/* [value(0)] */
230         uint32_t keytype;
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)] */
233 };
234
235 struct package_PrimaryKerberosCtr3 {
236         uint16_t num_keys;
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)] */
246 };
247
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;
253         uint32_t keytype;
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)] */
256 };
257
258 struct package_PrimaryKerberosCtr4 {
259         uint16_t num_keys;
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;
269 };
270
271 union package_PrimaryKerberosCtr {
272         struct package_PrimaryKerberosCtr3 ctr3;/* [case(3)] */
273         struct package_PrimaryKerberosCtr4 ctr4;/* [case(4)] */
274 }/* [nodiscriminant] */;
275
276 struct package_PrimaryKerberosBlob {
277         uint16_t version;
278         uint16_t flags;/* [value(0)] */
279         union package_PrimaryKerberosCtr ctr;/* [switch_is(version)] */
280 }/* [public] */;
281
282 struct package_PrimaryCLEARTEXTBlob {
283         DATA_BLOB cleartext;/* [flag(LIBNDR_FLAG_REMAINING)] */
284 }/* [public] */;
285
286 struct package_PrimaryWDigestHash {
287         uint8_t hash[16];
288 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
289
290 struct package_PrimaryWDigestBlob {
291         uint16_t unknown1;/* [value(0x31)] */
292         uint8_t unknown2;/* [value(0x01)] */
293         uint8_t num_hashes;
294         uint32_t unknown3;/* [value(0)] */
295         uint64_t uuknown4;/* [value(0)] */
296         struct package_PrimaryWDigestHash *hashes;
297 }/* [public] */;
298
299 struct AuthInfoNone {
300         uint32_t size;/* [value(0)] */
301 };
302
303 struct AuthInfoNT4Owf {
304         uint32_t size;/* [value(16)] */
305         struct samr_Password password;
306 };
307
308 struct AuthInfoClear {
309         uint32_t size;
310         uint8_t *password;
311 };
312
313 struct AuthInfoVersion {
314         uint32_t size;/* [value(4)] */
315         uint32_t version;
316 };
317
318 union AuthInfo {
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] */;
324
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)] */
330 }/* [public] */;
331
332 struct AuthenticationInformationArray {
333         struct AuthenticationInformation *array;/* [size_is] */
334 }/* [noprint,nopush,nopull] */;
335
336 struct trustAuthInOutBlob {
337         uint32_t count;
338         struct AuthenticationInformationArray *current;/* [relative] */
339         struct AuthenticationInformationArray *previous;/* [relative] */
340 }/* [noprint,gensize,nopull,public,nopush] */;
341
342 struct trustCurrentPasswords {
343         uint32_t count;
344         struct AuthenticationInformation **current;/* [relative] */
345 }/* [gensize,public] */;
346
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] */;
354
355 struct DsCompressedChunk {
356         uint32_t marker;
357         DATA_BLOB data;
358 }/* [public] */;
359
360 struct ExtendedErrorAString {
361         uint16_t __size;
362         const char *string;/* [unique,charset(DOS),size_is(__size)] */
363 };
364
365 struct ExtendedErrorUString {
366         uint16_t __size;
367         const char *string;/* [unique,charset(UTF16),size_is(__size)] */
368 };
369
370 struct ExtendedErrorBlob {
371         uint16_t length;
372         uint8_t *data;/* [unique,size_is(length)] */
373 };
374
375 enum ExtendedErrorComputerNamePresent
376 #ifndef USE_UINT_ENUMS
377  {
378         EXTENDED_ERROR_COMPUTER_NAME_PRESENT=1,
379         EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT=2
380 }
381 #else
382  { __donnot_use_enum_ExtendedErrorComputerNamePresent=0x7FFFFFFF}
383 #define EXTENDED_ERROR_COMPUTER_NAME_PRESENT ( 1 )
384 #define EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT ( 2 )
385 #endif
386 ;
387
388 union ExtendedErrorComputerNameU {
389         struct ExtendedErrorUString name;/* [case(EXTENDED_ERROR_COMPUTER_NAME_PRESENT)] */
390 }/* [switch_type(ExtendedErrorComputerNamePresent)] */;
391
392 struct ExtendedErrorComputerName {
393         enum ExtendedErrorComputerNamePresent present;
394         union ExtendedErrorComputerNameU n;/* [switch_is(present)] */
395 };
396
397 enum ExtendedErrorParamType
398 #ifndef USE_UINT_ENUMS
399  {
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
407 }
408 #else
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 )
417 #endif
418 ;
419
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)] */;
428
429 struct ExtendedErrorParam {
430         enum ExtendedErrorParamType type;
431         union ExtendedErrorParamU p;/* [switch_is(type)] */
432 };
433
434 struct ExtendedErrorInfo {
435         struct ExtendedErrorInfo *next;/* [unique] */
436         struct ExtendedErrorComputerName computer_name;
437         uint64_t pid;
438         NTTIME time;
439         uint32_t generating_component;
440         WERROR status;
441         uint16_t detection_location;
442         uint16_t flags;
443         uint16_t num_params;
444         struct ExtendedErrorParam *params;/* [size_is(num_params)] */
445 }/* [public] */;
446
447 struct ExtendedErrorInfoPtr {
448         struct ExtendedErrorInfo *info;/* [unique] */
449 };
450
451
452 struct decode_replPropertyMetaData {
453         struct {
454                 struct replPropertyMetaDataBlob blob;
455         } in;
456
457 };
458
459
460 struct decode_replUpToDateVector {
461         struct {
462                 struct replUpToDateVectorBlob blob;
463         } in;
464
465 };
466
467
468 struct decode_repsFromTo {
469         struct {
470                 struct repsFromToBlob blob;
471         } in;
472
473 };
474
475
476 struct decode_partialAttributeSet {
477         struct {
478                 struct partialAttributeSetBlob blob;
479         } in;
480
481 };
482
483
484 struct decode_prefixMap {
485         struct {
486                 struct prefixMapBlob blob;
487         } in;
488
489 };
490
491
492 struct decode_ldapControlDirSync {
493         struct {
494                 struct ldapControlDirSyncCookie cookie;
495         } in;
496
497 };
498
499
500 struct decode_supplementalCredentials {
501         struct {
502                 struct supplementalCredentialsBlob blob;
503         } in;
504
505 };
506
507
508 struct decode_Packages {
509         struct {
510                 struct package_PackagesBlob blob;
511         } in;
512
513 };
514
515
516 struct decode_PrimaryKerberos {
517         struct {
518                 struct package_PrimaryKerberosBlob blob;
519         } in;
520
521 };
522
523
524 struct decode_PrimaryCLEARTEXT {
525         struct {
526                 struct package_PrimaryCLEARTEXTBlob blob;
527         } in;
528
529 };
530
531
532 struct decode_PrimaryWDigest {
533         struct {
534                 struct package_PrimaryWDigestBlob blob;
535         } in;
536
537 };
538
539
540 struct decode_trustAuthInOut {
541         struct {
542                 struct trustAuthInOutBlob blob;
543         } in;
544
545 };
546
547
548 struct decode_trustDomainPasswords {
549         struct {
550                 struct trustDomainPasswords blob;
551         } in;
552
553 };
554
555
556 struct decode_ExtendedErrorInfo {
557         struct {
558                 struct ExtendedErrorInfoPtr ptr;/* [subcontext(0xFFFFFC01)] */
559         } in;
560
561 };
562
563 #endif /* _HEADER_drsblobs */