1 /* header auto-generated by pidl */
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
;
18 NTTIME originating_change_time
;
19 struct GUID originating_invocation_id
;
20 uint64_t originating_usn
;
24 struct replPropertyMetaDataCtr1
{
26 uint32_t reserved
;/* [value(0)] */
27 struct replPropertyMetaData1
*array
;
30 union replPropertyMetaDataCtr
{
31 struct replPropertyMetaDataCtr1 ctr1
;/* [case] */
32 }/* [nodiscriminant] */;
34 struct replPropertyMetaDataBlob
{
36 uint32_t reserved
;/* [value(0)] */
37 union replPropertyMetaDataCtr ctr
;/* [switch_is(version)] */
40 struct replUpToDateVectorCtr1
{
42 uint32_t reserved
;/* [value(0)] */
43 struct drsuapi_DsReplicaCursor
*cursors
;
46 struct replUpToDateVectorCtr2
{
48 uint32_t reserved
;/* [value(0)] */
49 struct drsuapi_DsReplicaCursor2
*cursors
;
52 union replUpToDateVectorCtr
{
53 struct replUpToDateVectorCtr1 ctr1
;/* [case] */
54 struct replUpToDateVectorCtr2 ctr2
;/* [case(2)] */
55 }/* [nodiscriminant] */;
57 struct replUpToDateVectorBlob
{
59 uint32_t reserved
;/* [value(0)] */
60 union replUpToDateVectorCtr ctr
;/* [switch_is(version)] */
63 struct repsFromTo1OtherInfo
{
64 uint32_t __dns_name_size
;/* [value(strlen(dns_name)+1)] */
65 const char *dns_name
;/* [charset(DOS)] */
66 }/* [gensize,public] */;
69 uint32_t blobsize
;/* [value(ndr_size_repsFromTo1(this,ndr->iconv_convenience,ndr->flags)+8)] */
70 uint32_t consecutive_sync_failures
;
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
;
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)] */;
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)] */
89 const char * dns_name2
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
91 }/* [relative_base,gensize,public] */;
94 uint32_t blobsize
;/* [value(ndr_size_repsFromTo2(this,ndr->iconv_convenience,ndr->flags)+8)] */
95 uint32_t consecutive_sync_failures
;
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
;
109 }/* [gensize,public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
112 struct repsFromTo1 ctr1
;/* [case] */
113 struct repsFromTo2 ctr2
;/* [case(2)] */
114 }/* [nodiscriminant] */;
116 struct repsFromToBlob
{
118 uint32_t reserved
;/* [value(0)] */
119 union repsFromTo ctr
;/* [switch_is(version)] */
122 struct partialAttributeSetCtr1
{
124 enum drsuapi_DsAttributeId
*array
;
127 union partialAttributeSetCtr
{
128 struct partialAttributeSetCtr1 ctr1
;/* [case] */
129 }/* [nodiscriminant] */;
131 struct partialAttributeSetBlob
{
133 uint32_t reserved
;/* [value(0)] */
134 union partialAttributeSetCtr ctr
;/* [switch_is(version)] */
137 struct drsuapi_MSPrefixMap_Entry
{
141 }/* [noprint,flag(LIBNDR_FLAG_NOALIGN)] */;
143 struct drsuapi_MSPrefixMap_Ctr
{
144 uint32_t num_entries
;
145 uint32_t __ndr_size
;/* [value(ndr_size_drsuapi_MSPrefixMap_Ctr(r,ndr->iconv_convenience,ndr->flags))] */
146 struct drsuapi_MSPrefixMap_Entry
*entries
;
147 }/* [gensize,public] */;
149 enum prefixMapVersion
150 #ifndef USE_UINT_ENUMS
152 PREFIX_MAP_VERSION_DSDB
=(int)(0x44534442)
155 { __donnot_use_enum_prefixMapVersion
=0x7FFFFFFF}
156 #define PREFIX_MAP_VERSION_DSDB ( 0x44534442 )
161 struct drsuapi_DsReplicaOIDMapping_Ctr dsdb
;/* [case(PREFIX_MAP_VERSION_DSDB)] */
162 }/* [nodiscriminant] */;
164 struct prefixMapBlob
{
165 enum prefixMapVersion version
;
166 uint32_t reserved
;/* [value(0)] */
167 union prefixMapCtr ctr
;/* [switch_is(version)] */
170 union ldapControlDirSyncExtra
{
171 struct replUpToDateVectorBlob uptodateness_vector
;/* [default] */
172 }/* [gensize,nodiscriminant] */;
174 struct ldapControlDirSyncBlob
{
175 uint32_t u1
;/* [value(3)] */
179 uint32_t extra_length
;/* [value(ndr_size_ldapControlDirSyncExtra(&extra,extra.uptodateness_vector.version,ndr->iconv_convenience,0))] */
180 struct drsuapi_DsReplicaHighWaterMark highwatermark
;
182 union ldapControlDirSyncExtra extra
;/* [switch_is(extra_length)] */
185 struct ldapControlDirSyncCookie
{
186 const char *msds
;/* [value("MSDS"),charset(DOS)] */
187 struct ldapControlDirSyncBlob blob
;/* [subcontext(0)] */
188 }/* [relative_base,public] */;
190 struct supplementalCredentialsPackage
{
191 uint16_t name_len
;/* [value(2*strlen_m(name))] */
192 uint16_t data_len
;/* [value(strlen(data))] */
194 const char *name
;/* [charset(UTF16)] */
195 const char *data
;/* [charset(DOS)] */
198 enum supplementalCredentialsSignature
199 #ifndef USE_UINT_ENUMS
201 SUPPLEMENTAL_CREDENTIALS_SIGNATURE
=(int)(0x0050)
204 { __donnot_use_enum_supplementalCredentialsSignature
=0x7FFFFFFF}
205 #define SUPPLEMENTAL_CREDENTIALS_SIGNATURE ( 0x0050 )
209 struct supplementalCredentialsSubBlob
{
210 const char *prefix
;/* [value(SUPPLEMENTAL_CREDENTIALS_PREFIX),charset(UTF16)] */
211 enum supplementalCredentialsSignature signature
;/* [value(SUPPLEMENTAL_CREDENTIALS_SIGNATURE)] */
212 uint16_t num_packages
;
213 struct supplementalCredentialsPackage
*packages
;
216 struct supplementalCredentialsBlob
{
217 uint32_t unknown1
;/* [value(0)] */
218 uint32_t __ndr_size
;/* [value(ndr_size_supplementalCredentialsSubBlob(&sub,ndr->iconv_convenience,ndr->flags))] */
219 uint32_t unknown2
;/* [value(0)] */
220 struct supplementalCredentialsSubBlob sub
;/* [subcontext_size(__ndr_size),subcontext(0)] */
221 uint8_t unknown3
;/* [value(0)] */
224 struct package_PackagesBlob
{
225 const char ** names
;/* [flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
228 struct package_PrimaryKerberosString
{
229 uint16_t length
;/* [value(2*strlen_m(string))] */
230 uint16_t size
;/* [value(2*strlen_m(string))] */
231 const char * string
;/* [relative,subcontext_size(size),subcontext(0),flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
234 struct package_PrimaryKerberosKey3
{
235 uint16_t reserved1
;/* [value(0)] */
236 uint16_t reserved2
;/* [value(0)] */
237 uint32_t reserved3
;/* [value(0)] */
239 uint32_t value_len
;/* [value((value?value->length:0))] */
240 DATA_BLOB
*value
;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
243 struct package_PrimaryKerberosCtr3
{
245 uint16_t num_old_keys
;
246 struct package_PrimaryKerberosString salt
;
247 struct package_PrimaryKerberosKey3
*keys
;
248 struct package_PrimaryKerberosKey3
*old_keys
;
249 uint32_t padding1
;/* [value(0)] */
250 uint32_t padding2
;/* [value(0)] */
251 uint32_t padding3
;/* [value(0)] */
252 uint32_t padding4
;/* [value(0)] */
253 uint32_t padding5
;/* [value(0)] */
256 struct package_PrimaryKerberosKey4
{
257 uint16_t reserved1
;/* [value(0)] */
258 uint16_t reserved2
;/* [value(0)] */
259 uint32_t reserved3
;/* [value(0)] */
260 uint32_t iteration_count
;
262 uint32_t value_len
;/* [value((value?value->length:0))] */
263 DATA_BLOB
*value
;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
266 struct package_PrimaryKerberosCtr4
{
268 uint16_t num_service_keys
;/* [value(0)] */
269 uint16_t num_old_keys
;
270 uint16_t num_older_keys
;
271 struct package_PrimaryKerberosString salt
;
272 uint32_t default_iteration_count
;
273 struct package_PrimaryKerberosKey4
*keys
;
274 struct package_PrimaryKerberosKey4
*service_keys
;
275 struct package_PrimaryKerberosKey4
*old_keys
;
276 struct package_PrimaryKerberosKey4
*older_keys
;
279 union package_PrimaryKerberosCtr
{
280 struct package_PrimaryKerberosCtr3 ctr3
;/* [case(3)] */
281 struct package_PrimaryKerberosCtr4 ctr4
;/* [case(4)] */
282 }/* [nodiscriminant] */;
284 struct package_PrimaryKerberosBlob
{
286 uint16_t flags
;/* [value(0)] */
287 union package_PrimaryKerberosCtr ctr
;/* [switch_is(version)] */
290 struct package_PrimaryCLEARTEXTBlob
{
291 DATA_BLOB cleartext
;/* [flag(LIBNDR_FLAG_REMAINING)] */
294 struct package_PrimaryWDigestHash
{
296 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
298 struct package_PrimaryWDigestBlob
{
299 uint16_t unknown1
;/* [value(0x31)] */
300 uint8_t unknown2
;/* [value(0x01)] */
302 uint32_t unknown3
;/* [value(0)] */
303 uint64_t uuknown4
;/* [value(0)] */
304 struct package_PrimaryWDigestHash
*hashes
;
307 struct AuthInfoNone
{
308 uint32_t size
;/* [value(0)] */
311 struct AuthInfoNT4Owf
{
312 uint32_t size
;/* [value(16)] */
313 struct samr_Password password
;
316 struct AuthInfoClear
{
321 struct AuthInfoVersion
{
322 uint32_t size
;/* [value(4)] */
327 struct AuthInfoNone none
;/* [case(TRUST_AUTH_TYPE_NONE)] */
328 struct AuthInfoNT4Owf nt4owf
;/* [case(TRUST_AUTH_TYPE_NT4OWF)] */
329 struct AuthInfoClear clear
;/* [case(TRUST_AUTH_TYPE_CLEAR)] */
330 struct AuthInfoVersion version
;/* [case(TRUST_AUTH_TYPE_VERSION)] */
331 }/* [nodiscriminant] */;
333 struct AuthenticationInformation
{
334 NTTIME LastUpdateTime
;
335 enum lsa_TrustAuthType AuthType
;
336 union AuthInfo AuthInfo
;/* [switch_is(AuthType)] */
337 DATA_BLOB _pad
;/* [flag(LIBNDR_FLAG_ALIGN4)] */
340 struct AuthenticationInformationArray
{
341 struct AuthenticationInformation
*array
;/* [size_is] */
342 }/* [noprint,nopush,nopull] */;
344 struct trustAuthInOutBlob
{
346 struct AuthenticationInformationArray
*current
;/* [relative] */
347 struct AuthenticationInformationArray
*previous
;/* [relative] */
348 }/* [noprint,gensize,nopull,public,nopush] */;
350 struct trustCurrentPasswords
{
352 struct AuthenticationInformation
**current
;/* [relative] */
353 }/* [gensize,public] */;
355 struct trustDomainPasswords
{
356 uint8_t confounder
[512];
357 struct trustCurrentPasswords outgoing
;/* [subcontext_size(outgoing_size),subcontext(0)] */
358 struct trustCurrentPasswords incoming
;/* [subcontext_size(incoming_size),subcontext(0)] */
359 uint32_t outgoing_size
;/* [value(ndr_size_trustCurrentPasswords(&outgoing,ndr->iconv_convenience,ndr->flags))] */
360 uint32_t incoming_size
;/* [value(ndr_size_trustCurrentPasswords(&incoming,ndr->iconv_convenience,ndr->flags))] */
361 }/* [public,nopull] */;
363 struct DsCompressedChunk
{
368 struct ExtendedErrorAString
{
370 const char *string
;/* [unique,charset(DOS),size_is(__size)] */
373 struct ExtendedErrorUString
{
375 const char *string
;/* [unique,charset(UTF16),size_is(__size)] */
378 struct ExtendedErrorBlob
{
380 uint8_t *data
;/* [unique,size_is(length)] */
383 enum ExtendedErrorComputerNamePresent
384 #ifndef USE_UINT_ENUMS
386 EXTENDED_ERROR_COMPUTER_NAME_PRESENT
=(int)(1),
387 EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
=(int)(2)
390 { __donnot_use_enum_ExtendedErrorComputerNamePresent
=0x7FFFFFFF}
391 #define EXTENDED_ERROR_COMPUTER_NAME_PRESENT ( 1 )
392 #define EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT ( 2 )
396 union ExtendedErrorComputerNameU
{
397 struct ExtendedErrorUString name
;/* [case(EXTENDED_ERROR_COMPUTER_NAME_PRESENT)] */
398 }/* [switch_type(ExtendedErrorComputerNamePresent)] */;
400 struct ExtendedErrorComputerName
{
401 enum ExtendedErrorComputerNamePresent present
;
402 union ExtendedErrorComputerNameU n
;/* [switch_is(present)] */
405 enum ExtendedErrorParamType
406 #ifndef USE_UINT_ENUMS
408 EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
=(int)(1),
409 EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
=(int)(2),
410 EXTENDED_ERROR_PARAM_TYPE_UINT32
=(int)(3),
411 EXTENDED_ERROR_PARAM_TYPE_UINT16
=(int)(4),
412 EXTENDED_ERROR_PARAM_TYPE_UINT64
=(int)(5),
413 EXTENDED_ERROR_PARAM_TYPE_NONE
=(int)(6),
414 EXTENDED_ERROR_PARAM_TYPE_BLOB
=(int)(7)
417 { __donnot_use_enum_ExtendedErrorParamType
=0x7FFFFFFF}
418 #define EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING ( 1 )
419 #define EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING ( 2 )
420 #define EXTENDED_ERROR_PARAM_TYPE_UINT32 ( 3 )
421 #define EXTENDED_ERROR_PARAM_TYPE_UINT16 ( 4 )
422 #define EXTENDED_ERROR_PARAM_TYPE_UINT64 ( 5 )
423 #define EXTENDED_ERROR_PARAM_TYPE_NONE ( 6 )
424 #define EXTENDED_ERROR_PARAM_TYPE_BLOB ( 7 )
428 union ExtendedErrorParamU
{
429 struct ExtendedErrorAString a_string
;/* [case(EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING)] */
430 struct ExtendedErrorUString u_string
;/* [case(EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING)] */
431 uint32_t uint32
;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT32)] */
432 uint16_t uint16
;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT16)] */
433 uint64_t uint64
;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT64)] */
434 struct ExtendedErrorBlob blob
;/* [case(EXTENDED_ERROR_PARAM_TYPE_BLOB)] */
435 }/* [switch_type(ExtendedErrorParamType)] */;
437 struct ExtendedErrorParam
{
438 enum ExtendedErrorParamType type
;
439 union ExtendedErrorParamU p
;/* [switch_is(type)] */
442 struct ExtendedErrorInfo
{
443 struct ExtendedErrorInfo
*next
;/* [unique] */
444 struct ExtendedErrorComputerName computer_name
;
447 uint32_t generating_component
;
449 uint16_t detection_location
;
452 struct ExtendedErrorParam
*params
;/* [size_is(num_params)] */
455 struct ExtendedErrorInfoPtr
{
456 struct ExtendedErrorInfo
*info
;/* [unique] */
460 struct decode_replPropertyMetaData
{
462 struct replPropertyMetaDataBlob blob
;
468 struct decode_replUpToDateVector
{
470 struct replUpToDateVectorBlob blob
;
476 struct decode_repsFromTo
{
478 struct repsFromToBlob blob
;
484 struct decode_partialAttributeSet
{
486 struct partialAttributeSetBlob blob
;
492 struct decode_prefixMap
{
494 struct prefixMapBlob blob
;
500 struct decode_ldapControlDirSync
{
502 struct ldapControlDirSyncCookie cookie
;
508 struct decode_supplementalCredentials
{
510 struct supplementalCredentialsBlob blob
;
516 struct decode_Packages
{
518 struct package_PackagesBlob blob
;
524 struct decode_PrimaryKerberos
{
526 struct package_PrimaryKerberosBlob blob
;
532 struct decode_PrimaryCLEARTEXT
{
534 struct package_PrimaryCLEARTEXTBlob blob
;
540 struct decode_PrimaryWDigest
{
542 struct package_PrimaryWDigestBlob blob
;
548 struct decode_trustAuthInOut
{
550 struct trustAuthInOutBlob blob
;
556 struct decode_trustDomainPasswords
{
558 struct trustDomainPasswords blob
;
564 struct decode_ExtendedErrorInfo
{
566 struct ExtendedErrorInfoPtr ptr
;/* [subcontext(0xFFFFFC01)] */
571 #endif /* _HEADER_drsblobs */