idl-drsblobs: mark some more reserved values as value(0)
[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;/* [value(0)] */
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;/* [value(0)] */
37         union replPropertyMetaDataCtr ctr;/* [switch_is(version)] */
38 }/* [public] */;
39
40 struct replUpToDateVectorCtr1 {
41         uint32_t count;
42         uint32_t reserved;/* [value(0)] */
43         struct drsuapi_DsReplicaCursor *cursors;
44 };
45
46 struct replUpToDateVectorCtr2 {
47         uint32_t count;
48         uint32_t reserved;/* [value(0)] */
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;/* [value(0)] */
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;/* [value(0)] */
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 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)] */
88         uint32_t unknown1;
89         const char * dns_name2;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
90         uint64_t unknown2;
91 }/* [relative_base,gensize,public] */;
92
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;/* [value(0)] */
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)] */;
110
111 union repsFromTo {
112         struct repsFromTo1 ctr1;/* [case] */
113         struct repsFromTo2 ctr2;/* [case(2)] */
114 }/* [nodiscriminant] */;
115
116 struct repsFromToBlob {
117         uint32_t version;
118         uint32_t reserved;/* [value(0)] */
119         union repsFromTo ctr;/* [switch_is(version)] */
120 }/* [public] */;
121
122 struct partialAttributeSetCtr1 {
123         uint32_t count;
124         enum drsuapi_DsAttributeId *array;
125 };
126
127 union partialAttributeSetCtr {
128         struct partialAttributeSetCtr1 ctr1;/* [case] */
129 }/* [nodiscriminant] */;
130
131 struct partialAttributeSetBlob {
132         uint32_t version;
133         uint32_t reserved;/* [value(0)] */
134         union partialAttributeSetCtr ctr;/* [switch_is(version)] */
135 }/* [public] */;
136
137 enum prefixMapVersion
138 #ifndef USE_UINT_ENUMS
139  {
140         PREFIX_MAP_VERSION_DSDB=(int)(0x44534442)
141 }
142 #else
143  { __donnot_use_enum_prefixMapVersion=0x7FFFFFFF}
144 #define PREFIX_MAP_VERSION_DSDB ( 0x44534442 )
145 #endif
146 ;
147
148 union prefixMapCtr {
149         struct drsuapi_DsReplicaOIDMapping_Ctr dsdb;/* [case(PREFIX_MAP_VERSION_DSDB)] */
150 }/* [nodiscriminant] */;
151
152 struct prefixMapBlob {
153         enum prefixMapVersion version;
154         uint32_t reserved;/* [value(0)] */
155         union prefixMapCtr ctr;/* [switch_is(version)] */
156 }/* [public] */;
157
158 union ldapControlDirSyncExtra {
159         struct replUpToDateVectorBlob uptodateness_vector;/* [default] */
160 }/* [gensize,nodiscriminant] */;
161
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)] */
171 };
172
173 struct ldapControlDirSyncCookie {
174         const char *msds;/* [value("MSDS"),charset(DOS)] */
175         struct ldapControlDirSyncBlob blob;/* [subcontext(0)] */
176 }/* [relative_base,public] */;
177
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)] */
184 };
185
186 enum supplementalCredentialsSignature
187 #ifndef USE_UINT_ENUMS
188  {
189         SUPPLEMENTAL_CREDENTIALS_SIGNATURE=(int)(0x0050)
190 }
191 #else
192  { __donnot_use_enum_supplementalCredentialsSignature=0x7FFFFFFF}
193 #define SUPPLEMENTAL_CREDENTIALS_SIGNATURE ( 0x0050 )
194 #endif
195 ;
196
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] */;
203
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] */;
211
212 struct package_PackagesBlob {
213         const char ** names;/* [flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
214 }/* [public] */;
215
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)] */
220 };
221
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)] */
229 };
230
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)] */
242 };
243
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)] */
252 };
253
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;
265 };
266
267 union package_PrimaryKerberosCtr {
268         struct package_PrimaryKerberosCtr3 ctr3;/* [case(3)] */
269         struct package_PrimaryKerberosCtr4 ctr4;/* [case(4)] */
270 }/* [nodiscriminant] */;
271
272 struct package_PrimaryKerberosBlob {
273         uint16_t version;
274         uint16_t flags;/* [value(0)] */
275         union package_PrimaryKerberosCtr ctr;/* [switch_is(version)] */
276 }/* [public] */;
277
278 struct package_PrimaryCLEARTEXTBlob {
279         DATA_BLOB cleartext;/* [flag(LIBNDR_FLAG_REMAINING)] */
280 }/* [public] */;
281
282 struct package_PrimaryWDigestHash {
283         uint8_t hash[16];
284 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
285
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] */;
294
295 struct AuthInfoNone {
296         uint32_t size;/* [value(0)] */
297 };
298
299 struct AuthInfoNT4Owf {
300         uint32_t size;/* [value(16)] */
301         struct samr_Password password;
302 };
303
304 struct AuthInfoClear {
305         uint32_t size;
306         uint8_t *password;
307 };
308
309 struct AuthInfoVersion {
310         uint32_t size;/* [value(4)] */
311         uint32_t version;
312 };
313
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] */;
320
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] */;
327
328 struct AuthenticationInformationArray {
329         struct AuthenticationInformation *array;/* [size_is] */
330 }/* [noprint,nopush,nopull] */;
331
332 struct trustAuthInOutBlob {
333         uint32_t count;
334         struct AuthenticationInformationArray *current;/* [relative] */
335         struct AuthenticationInformationArray *previous;/* [relative] */
336 }/* [noprint,gensize,nopull,public,nopush] */;
337
338 struct trustCurrentPasswords {
339         uint32_t count;
340         struct AuthenticationInformation **current;/* [relative] */
341 }/* [gensize,public] */;
342
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] */;
350
351 struct DsCompressedChunk {
352         uint32_t marker;
353         DATA_BLOB data;
354 }/* [public] */;
355
356 struct ExtendedErrorAString {
357         uint16_t __size;
358         const char *string;/* [unique,charset(DOS),size_is(__size)] */
359 };
360
361 struct ExtendedErrorUString {
362         uint16_t __size;
363         const char *string;/* [unique,charset(UTF16),size_is(__size)] */
364 };
365
366 struct ExtendedErrorBlob {
367         uint16_t length;
368         uint8_t *data;/* [unique,size_is(length)] */
369 };
370
371 enum ExtendedErrorComputerNamePresent
372 #ifndef USE_UINT_ENUMS
373  {
374         EXTENDED_ERROR_COMPUTER_NAME_PRESENT=(int)(1),
375         EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT=(int)(2)
376 }
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
382 ;
383
384 union ExtendedErrorComputerNameU {
385         struct ExtendedErrorUString name;/* [case(EXTENDED_ERROR_COMPUTER_NAME_PRESENT)] */
386 }/* [switch_type(ExtendedErrorComputerNamePresent)] */;
387
388 struct ExtendedErrorComputerName {
389         enum ExtendedErrorComputerNamePresent present;
390         union ExtendedErrorComputerNameU n;/* [switch_is(present)] */
391 };
392
393 enum ExtendedErrorParamType
394 #ifndef USE_UINT_ENUMS
395  {
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)
403 }
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
414 ;
415
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)] */;
424
425 struct ExtendedErrorParam {
426         enum ExtendedErrorParamType type;
427         union ExtendedErrorParamU p;/* [switch_is(type)] */
428 };
429
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] */;
442
443 struct ExtendedErrorInfoPtr {
444         struct ExtendedErrorInfo *info;/* [unique] */
445 };
446
447
448 struct decode_replPropertyMetaData {
449         struct {
450                 struct replPropertyMetaDataBlob blob;
451         } in;
452
453 };
454
455
456 struct decode_replUpToDateVector {
457         struct {
458                 struct replUpToDateVectorBlob blob;
459         } in;
460
461 };
462
463
464 struct decode_repsFromTo {
465         struct {
466                 struct repsFromToBlob blob;
467         } in;
468
469 };
470
471
472 struct decode_partialAttributeSet {
473         struct {
474                 struct partialAttributeSetBlob blob;
475         } in;
476
477 };
478
479
480 struct decode_prefixMap {
481         struct {
482                 struct prefixMapBlob blob;
483         } in;
484
485 };
486
487
488 struct decode_ldapControlDirSync {
489         struct {
490                 struct ldapControlDirSyncCookie cookie;
491         } in;
492
493 };
494
495
496 struct decode_supplementalCredentials {
497         struct {
498                 struct supplementalCredentialsBlob blob;
499         } in;
500
501 };
502
503
504 struct decode_Packages {
505         struct {
506                 struct package_PackagesBlob blob;
507         } in;
508
509 };
510
511
512 struct decode_PrimaryKerberos {
513         struct {
514                 struct package_PrimaryKerberosBlob blob;
515         } in;
516
517 };
518
519
520 struct decode_PrimaryCLEARTEXT {
521         struct {
522                 struct package_PrimaryCLEARTEXTBlob blob;
523         } in;
524
525 };
526
527
528 struct decode_PrimaryWDigest {
529         struct {
530                 struct package_PrimaryWDigestBlob blob;
531         } in;
532
533 };
534
535
536 struct decode_trustAuthInOut {
537         struct {
538                 struct trustAuthInOutBlob blob;
539         } in;
540
541 };
542
543
544 struct decode_trustDomainPasswords {
545         struct {
546                 struct trustDomainPasswords blob;
547         } in;
548
549 };
550
551
552 struct decode_ExtendedErrorInfo {
553         struct {
554                 struct ExtendedErrorInfoPtr ptr;/* [subcontext(0xFFFFFC01)] */
555         } in;
556
557 };
558
559 #endif /* _HEADER_drsblobs */