bb33464c76778e4b92e0e52f7a0ab8328d9fda54
[amitay/samba.git] / librpc / gen_ndr / drsblobs.h
1 /* header auto-generated by pidl */
2
3 #include <stdint.h>
4
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
11
12 #define SUPPLEMENTAL_CREDENTIALS_PREFIX ( "                                                " )
13 struct replPropertyMetaData1 {
14         enum drsuapi_DsAttributeId attid;
15         uint32_t version;
16         NTTIME originating_change_time;
17         struct GUID originating_invocation_id;
18         uint64_t originating_usn;
19         uint64_t local_usn;
20 };
21
22 struct replPropertyMetaDataCtr1 {
23         uint32_t count;
24         uint32_t reserved;
25         struct replPropertyMetaData1 *array;
26 };
27
28 union replPropertyMetaDataCtr {
29         struct replPropertyMetaDataCtr1 ctr1;/* [case] */
30 }/* [nodiscriminant] */;
31
32 struct replPropertyMetaDataBlob {
33         uint32_t version;
34         uint32_t reserved;
35         union replPropertyMetaDataCtr ctr;/* [switch_is(version)] */
36 }/* [public] */;
37
38 struct replUpToDateVectorCtr1 {
39         uint32_t count;
40         uint32_t reserved;
41         struct drsuapi_DsReplicaCursor *cursors;
42 };
43
44 struct replUpToDateVectorCtr2 {
45         uint32_t count;
46         uint32_t reserved;
47         struct drsuapi_DsReplicaCursor2 *cursors;
48 };
49
50 union replUpToDateVectorCtr {
51         struct replUpToDateVectorCtr1 ctr1;/* [case] */
52         struct replUpToDateVectorCtr2 ctr2;/* [case(2)] */
53 }/* [nodiscriminant] */;
54
55 struct replUpToDateVectorBlob {
56         uint32_t version;
57         uint32_t reserved;
58         union replUpToDateVectorCtr ctr;/* [switch_is(version)] */
59 }/* [public] */;
60
61 struct repsFromTo1OtherInfo {
62         uint32_t __dns_name_size;/* [value(strlen(dns_name)+1)] */
63         const char *dns_name;/* [charset(DOS)] */
64 }/* [gensize,public] */;
65
66 struct repsFromTo1 {
67         uint32_t blobsize;/* [value(ndr_size_repsFromTo1(this,ndr->iconv_convenience,ndr->flags)+8)] */
68         uint32_t consecutive_sync_failures;
69         NTTIME last_success;
70         NTTIME last_attempt;
71         WERROR result_last_attempt;
72         struct repsFromTo1OtherInfo *other_info;/* [relative] */
73         uint32_t other_info_length;/* [value(ndr_size_repsFromTo1OtherInfo(other_info,ndr->iconv_convenience,ndr->flags))] */
74         uint32_t replica_flags;
75         uint8_t schedule[84];
76         uint32_t reserved;
77         struct drsuapi_DsReplicaHighWaterMark highwatermark;
78         struct GUID source_dsa_obj_guid;
79         struct GUID source_dsa_invocation_id;
80         struct GUID transport_guid;
81 }/* [gensize,public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
82
83 union repsFromTo {
84         struct repsFromTo1 ctr1;/* [case] */
85 }/* [nodiscriminant] */;
86
87 struct repsFromToBlob {
88         uint32_t version;
89         uint32_t reserved;
90         union repsFromTo ctr;/* [switch_is(version)] */
91 }/* [public] */;
92
93 struct partialAttributeSetCtr1 {
94         uint32_t count;
95         enum drsuapi_DsAttributeId *array;
96 };
97
98 union partialAttributeSetCtr {
99         struct partialAttributeSetCtr1 ctr1;/* [case] */
100 }/* [nodiscriminant] */;
101
102 struct partialAttributeSetBlob {
103         uint32_t version;
104         uint32_t reserved;
105         union partialAttributeSetCtr ctr;/* [switch_is(version)] */
106 }/* [public] */;
107
108 enum prefixMapVersion
109 #ifndef USE_UINT_ENUMS
110  {
111         PREFIX_MAP_VERSION_DSDB=0x44534442
112 }
113 #else
114  { __donnot_use_enum_prefixMapVersion=0x7FFFFFFF}
115 #define PREFIX_MAP_VERSION_DSDB ( 0x44534442 )
116 #endif
117 ;
118
119 union prefixMapCtr {
120         struct drsuapi_DsReplicaOIDMapping_Ctr dsdb;/* [case(PREFIX_MAP_VERSION_DSDB)] */
121 }/* [nodiscriminant] */;
122
123 struct prefixMapBlob {
124         enum prefixMapVersion version;
125         uint32_t reserved;
126         union prefixMapCtr ctr;/* [switch_is(version)] */
127 }/* [public] */;
128
129 union ldapControlDirSyncExtra {
130         struct replUpToDateVectorBlob uptodateness_vector;/* [default] */
131 }/* [gensize,nodiscriminant] */;
132
133 struct ldapControlDirSyncBlob {
134         uint32_t u1;/* [value(3)] */
135         NTTIME time;
136         uint32_t u2;
137         uint32_t u3;
138         uint32_t extra_length;/* [value(ndr_size_ldapControlDirSyncExtra(&extra,extra.uptodateness_vector.version,ndr->iconv_convenience,0))] */
139         struct drsuapi_DsReplicaHighWaterMark highwatermark;
140         struct GUID guid1;
141         union ldapControlDirSyncExtra extra;/* [switch_is(extra_length)] */
142 };
143
144 struct ldapControlDirSyncCookie {
145         const char *msds;/* [value("MSDS"),charset(DOS)] */
146         struct ldapControlDirSyncBlob blob;/* [subcontext(0)] */
147 }/* [relative_base,public] */;
148
149 struct supplementalCredentialsPackage {
150         uint16_t name_len;/* [value(2*strlen_m(name))] */
151         uint16_t data_len;/* [value(strlen(data))] */
152         uint16_t reserved;
153         const char *name;/* [charset(UTF16)] */
154         const char *data;/* [charset(DOS)] */
155 };
156
157 enum supplementalCredentialsSignature
158 #ifndef USE_UINT_ENUMS
159  {
160         SUPPLEMENTAL_CREDENTIALS_SIGNATURE=0x0050
161 }
162 #else
163  { __donnot_use_enum_supplementalCredentialsSignature=0x7FFFFFFF}
164 #define SUPPLEMENTAL_CREDENTIALS_SIGNATURE ( 0x0050 )
165 #endif
166 ;
167
168 struct supplementalCredentialsSubBlob {
169         const char *prefix;/* [value(SUPPLEMENTAL_CREDENTIALS_PREFIX),charset(UTF16)] */
170         enum supplementalCredentialsSignature signature;/* [value(SUPPLEMENTAL_CREDENTIALS_SIGNATURE)] */
171         uint16_t num_packages;
172         struct supplementalCredentialsPackage *packages;
173 }/* [gensize] */;
174
175 struct supplementalCredentialsBlob {
176         uint32_t unknown1;/* [value(0)] */
177         uint32_t __ndr_size;/* [value(ndr_size_supplementalCredentialsSubBlob(&sub,ndr->iconv_convenience,ndr->flags))] */
178         uint32_t unknown2;/* [value(0)] */
179         struct supplementalCredentialsSubBlob sub;/* [subcontext_size(__ndr_size),subcontext(0)] */
180         uint8_t unknown3;/* [value(0)] */
181 }/* [public] */;
182
183 struct package_PackagesBlob {
184         const char ** names;/* [flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
185 }/* [public] */;
186
187 struct package_PrimaryKerberosString {
188         uint16_t length;/* [value(2*strlen_m(string))] */
189         uint16_t size;/* [value(2*strlen_m(string))] */
190         const char * string;/* [relative,subcontext_size(size),subcontext(0),flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
191 };
192
193 struct package_PrimaryKerberosKey3 {
194         uint16_t reserved1;/* [value(0)] */
195         uint16_t reserved2;/* [value(0)] */
196         uint32_t reserved3;/* [value(0)] */
197         uint32_t keytype;
198         uint32_t value_len;/* [value((value?value->length:0))] */
199         DATA_BLOB *value;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
200 };
201
202 struct package_PrimaryKerberosCtr3 {
203         uint16_t num_keys;
204         uint16_t num_old_keys;
205         struct package_PrimaryKerberosString salt;
206         struct package_PrimaryKerberosKey3 *keys;
207         struct package_PrimaryKerberosKey3 *old_keys;
208         uint32_t padding1;/* [value(0)] */
209         uint32_t padding2;/* [value(0)] */
210         uint32_t padding3;/* [value(0)] */
211         uint32_t padding4;/* [value(0)] */
212         uint32_t padding5;/* [value(0)] */
213 };
214
215 struct package_PrimaryKerberosKey4 {
216         uint16_t reserved1;/* [value(0)] */
217         uint16_t reserved2;/* [value(0)] */
218         uint32_t reserved3;/* [value(0)] */
219         uint32_t iteration_count;
220         uint32_t keytype;
221         uint32_t value_len;/* [value((value?value->length:0))] */
222         DATA_BLOB *value;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
223 };
224
225 struct package_PrimaryKerberosCtr4 {
226         uint16_t num_keys;
227         uint16_t num_service_keys;/* [value(0)] */
228         uint16_t num_old_keys;
229         uint16_t num_older_keys;
230         struct package_PrimaryKerberosString salt;
231         uint32_t default_iteration_count;
232         struct package_PrimaryKerberosKey4 *keys;
233         struct package_PrimaryKerberosKey4 *service_keys;
234         struct package_PrimaryKerberosKey4 *old_keys;
235         struct package_PrimaryKerberosKey4 *older_keys;
236 };
237
238 union package_PrimaryKerberosCtr {
239         struct package_PrimaryKerberosCtr3 ctr3;/* [case(3)] */
240         struct package_PrimaryKerberosCtr4 ctr4;/* [case(4)] */
241 }/* [nodiscriminant] */;
242
243 struct package_PrimaryKerberosBlob {
244         uint16_t version;
245         uint16_t flags;/* [value(0)] */
246         union package_PrimaryKerberosCtr ctr;/* [switch_is(version)] */
247 }/* [public] */;
248
249 struct package_PrimaryCLEARTEXTBlob {
250         DATA_BLOB cleartext;/* [flag(LIBNDR_FLAG_REMAINING)] */
251 }/* [public] */;
252
253 struct package_PrimaryWDigestHash {
254         uint8_t hash[16];
255 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
256
257 struct package_PrimaryWDigestBlob {
258         uint16_t unknown1;/* [value(0x31)] */
259         uint8_t unknown2;/* [value(0x01)] */
260         uint8_t num_hashes;
261         uint32_t unknown3;/* [value(0)] */
262         uint64_t uuknown4;/* [value(0)] */
263         struct package_PrimaryWDigestHash *hashes;
264 }/* [public] */;
265
266 struct AuthInfoNone {
267         uint32_t size;/* [value(0)] */
268 };
269
270 struct AuthInfoNT4Owf {
271         uint32_t size;/* [value(16)] */
272         struct samr_Password password;
273 };
274
275 struct AuthInfoClear {
276         uint32_t size;
277         uint8_t *password;
278 };
279
280 struct AuthInfoVersion {
281         uint32_t size;/* [value(4)] */
282         uint32_t version;
283 };
284
285 union AuthInfo {
286         struct AuthInfoNone none;/* [case(TRUST_AUTH_TYPE_NONE)] */
287         struct AuthInfoNT4Owf nt4owf;/* [case(TRUST_AUTH_TYPE_NT4OWF)] */
288         struct AuthInfoClear clear;/* [case(TRUST_AUTH_TYPE_CLEAR)] */
289         struct AuthInfoVersion version;/* [case(TRUST_AUTH_TYPE_VERSION)] */
290 }/* [nodiscriminant] */;
291
292 struct AuthenticationInformation {
293         NTTIME LastUpdateTime;
294         enum lsa_TrustAuthType AuthType;
295         union AuthInfo AuthInfo;/* [switch_is(AuthType)] */
296         DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN4)] */
297 }/* [public] */;
298
299 struct AuthenticationInformationArray {
300         struct AuthenticationInformation *array;/* [size_is] */
301 }/* [noprint,nopush,nopull] */;
302
303 struct trustAuthInOutBlob {
304         uint32_t count;
305         struct AuthenticationInformationArray *current;/* [relative] */
306         struct AuthenticationInformationArray *previous;/* [relative] */
307 }/* [noprint,gensize,nopull,public,nopush] */;
308
309 struct trustCurrentPasswords {
310         uint32_t count;
311         struct AuthenticationInformation **current;/* [relative] */
312 }/* [gensize,public] */;
313
314 struct trustDomainPasswords {
315         uint8_t confounder[512];
316         struct trustCurrentPasswords outgoing;/* [subcontext_size(outgoing_size),subcontext(0)] */
317         struct trustCurrentPasswords incoming;/* [subcontext_size(incoming_size),subcontext(0)] */
318         uint32_t outgoing_size;/* [value(ndr_size_trustCurrentPasswords(&outgoing,ndr->iconv_convenience,ndr->flags))] */
319         uint32_t incoming_size;/* [value(ndr_size_trustCurrentPasswords(&incoming,ndr->iconv_convenience,ndr->flags))] */
320 }/* [public,nopull] */;
321
322 struct DsCompressedChunk {
323         uint32_t marker;
324         DATA_BLOB data;
325 }/* [public] */;
326
327 struct ExtendedErrorAString {
328         uint16_t __size;
329         const char *string;/* [unique,charset(DOS),size_is(__size)] */
330 };
331
332 struct ExtendedErrorUString {
333         uint16_t __size;
334         const char *string;/* [unique,charset(UTF16),size_is(__size)] */
335 };
336
337 struct ExtendedErrorBlob {
338         uint16_t length;
339         uint8_t *data;/* [unique,size_is(length)] */
340 };
341
342 enum ExtendedErrorComputerNamePresent
343 #ifndef USE_UINT_ENUMS
344  {
345         EXTENDED_ERROR_COMPUTER_NAME_PRESENT=1,
346         EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT=2
347 }
348 #else
349  { __donnot_use_enum_ExtendedErrorComputerNamePresent=0x7FFFFFFF}
350 #define EXTENDED_ERROR_COMPUTER_NAME_PRESENT ( 1 )
351 #define EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT ( 2 )
352 #endif
353 ;
354
355 union ExtendedErrorComputerNameU {
356         struct ExtendedErrorUString name;/* [case(EXTENDED_ERROR_COMPUTER_NAME_PRESENT)] */
357 }/* [switch_type(ExtendedErrorComputerNamePresent)] */;
358
359 struct ExtendedErrorComputerName {
360         enum ExtendedErrorComputerNamePresent present;
361         union ExtendedErrorComputerNameU n;/* [switch_is(present)] */
362 };
363
364 enum ExtendedErrorParamType
365 #ifndef USE_UINT_ENUMS
366  {
367         EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING=1,
368         EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING=2,
369         EXTENDED_ERROR_PARAM_TYPE_UINT32=3,
370         EXTENDED_ERROR_PARAM_TYPE_UINT16=4,
371         EXTENDED_ERROR_PARAM_TYPE_UINT64=5,
372         EXTENDED_ERROR_PARAM_TYPE_NONE=6,
373         EXTENDED_ERROR_PARAM_TYPE_BLOB=7
374 }
375 #else
376  { __donnot_use_enum_ExtendedErrorParamType=0x7FFFFFFF}
377 #define EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING ( 1 )
378 #define EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING ( 2 )
379 #define EXTENDED_ERROR_PARAM_TYPE_UINT32 ( 3 )
380 #define EXTENDED_ERROR_PARAM_TYPE_UINT16 ( 4 )
381 #define EXTENDED_ERROR_PARAM_TYPE_UINT64 ( 5 )
382 #define EXTENDED_ERROR_PARAM_TYPE_NONE ( 6 )
383 #define EXTENDED_ERROR_PARAM_TYPE_BLOB ( 7 )
384 #endif
385 ;
386
387 union ExtendedErrorParamU {
388         struct ExtendedErrorAString a_string;/* [case(EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING)] */
389         struct ExtendedErrorUString u_string;/* [case(EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING)] */
390         uint32_t uint32;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT32)] */
391         uint16_t uint16;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT16)] */
392         uint64_t uint64;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT64)] */
393         struct ExtendedErrorBlob blob;/* [case(EXTENDED_ERROR_PARAM_TYPE_BLOB)] */
394 }/* [switch_type(ExtendedErrorParamType)] */;
395
396 struct ExtendedErrorParam {
397         enum ExtendedErrorParamType type;
398         union ExtendedErrorParamU p;/* [switch_is(type)] */
399 };
400
401 struct ExtendedErrorInfo {
402         struct ExtendedErrorInfo *next;/* [unique] */
403         struct ExtendedErrorComputerName computer_name;
404         uint64_t pid;
405         NTTIME time;
406         uint32_t generating_component;
407         WERROR status;
408         uint16_t detection_location;
409         uint16_t flags;
410         uint16_t num_params;
411         struct ExtendedErrorParam *params;/* [size_is(num_params)] */
412 }/* [public] */;
413
414 struct ExtendedErrorInfoPtr {
415         struct ExtendedErrorInfo *info;/* [unique] */
416 };
417
418
419 struct decode_replPropertyMetaData {
420         struct {
421                 struct replPropertyMetaDataBlob blob;
422         } in;
423
424 };
425
426
427 struct decode_replUpToDateVector {
428         struct {
429                 struct replUpToDateVectorBlob blob;
430         } in;
431
432 };
433
434
435 struct decode_repsFromTo {
436         struct {
437                 struct repsFromToBlob blob;
438         } in;
439
440 };
441
442
443 struct decode_partialAttributeSet {
444         struct {
445                 struct partialAttributeSetBlob blob;
446         } in;
447
448 };
449
450
451 struct decode_prefixMap {
452         struct {
453                 struct prefixMapBlob blob;
454         } in;
455
456 };
457
458
459 struct decode_ldapControlDirSync {
460         struct {
461                 struct ldapControlDirSyncCookie cookie;
462         } in;
463
464 };
465
466
467 struct decode_supplementalCredentials {
468         struct {
469                 struct supplementalCredentialsBlob blob;
470         } in;
471
472 };
473
474
475 struct decode_Packages {
476         struct {
477                 struct package_PackagesBlob blob;
478         } in;
479
480 };
481
482
483 struct decode_PrimaryKerberos {
484         struct {
485                 struct package_PrimaryKerberosBlob blob;
486         } in;
487
488 };
489
490
491 struct decode_PrimaryCLEARTEXT {
492         struct {
493                 struct package_PrimaryCLEARTEXTBlob blob;
494         } in;
495
496 };
497
498
499 struct decode_PrimaryWDigest {
500         struct {
501                 struct package_PrimaryWDigestBlob blob;
502         } in;
503
504 };
505
506
507 struct decode_trustAuthInOut {
508         struct {
509                 struct trustAuthInOutBlob blob;
510         } in;
511
512 };
513
514
515 struct decode_trustDomainPasswords {
516         struct {
517                 struct trustDomainPasswords blob;
518         } in;
519
520 };
521
522
523 struct decode_ExtendedErrorInfo {
524         struct {
525                 struct ExtendedErrorInfoPtr ptr;/* [subcontext(0xFFFFFC01)] */
526         } in;
527
528 };
529
530 #endif /* _HEADER_drsblobs */