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
{
27 struct replPropertyMetaData1
*array
;
30 union replPropertyMetaDataCtr
{
31 struct replPropertyMetaDataCtr1 ctr1
;/* [case] */
32 }/* [nodiscriminant] */;
34 struct replPropertyMetaDataBlob
{
37 union replPropertyMetaDataCtr ctr
;/* [switch_is(version)] */
40 struct replUpToDateVectorCtr1
{
43 struct drsuapi_DsReplicaCursor
*cursors
;
46 struct replUpToDateVectorCtr2
{
49 struct drsuapi_DsReplicaCursor2
*cursors
;
52 union replUpToDateVectorCtr
{
53 struct replUpToDateVectorCtr1 ctr1
;/* [case] */
54 struct replUpToDateVectorCtr2 ctr2
;/* [case(2)] */
55 }/* [nodiscriminant] */;
57 struct replUpToDateVectorBlob
{
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
;
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)] */;
86 struct repsFromTo1 ctr1
;/* [case] */
87 }/* [nodiscriminant] */;
89 struct repsFromToBlob
{
92 union repsFromTo ctr
;/* [switch_is(version)] */
95 struct partialAttributeSetCtr1
{
97 enum drsuapi_DsAttributeId
*array
;
100 union partialAttributeSetCtr
{
101 struct partialAttributeSetCtr1 ctr1
;/* [case] */
102 }/* [nodiscriminant] */;
104 struct partialAttributeSetBlob
{
107 union partialAttributeSetCtr ctr
;/* [switch_is(version)] */
110 enum prefixMapVersion
111 #ifndef USE_UINT_ENUMS
113 PREFIX_MAP_VERSION_DSDB
=0x44534442
116 { __donnot_use_enum_prefixMapVersion
=0x7FFFFFFF}
117 #define PREFIX_MAP_VERSION_DSDB ( 0x44534442 )
122 struct drsuapi_DsReplicaOIDMapping_Ctr dsdb
;/* [case(PREFIX_MAP_VERSION_DSDB)] */
123 }/* [nodiscriminant] */;
125 struct prefixMapBlob
{
126 enum prefixMapVersion version
;
128 union prefixMapCtr ctr
;/* [switch_is(version)] */
131 union ldapControlDirSyncExtra
{
132 struct replUpToDateVectorBlob uptodateness_vector
;/* [default] */
133 }/* [gensize,nodiscriminant] */;
135 struct ldapControlDirSyncBlob
{
136 uint32_t u1
;/* [value(3)] */
140 uint32_t extra_length
;/* [value(ndr_size_ldapControlDirSyncExtra(&extra,extra.uptodateness_vector.version,ndr->iconv_convenience,0))] */
141 struct drsuapi_DsReplicaHighWaterMark highwatermark
;
143 union ldapControlDirSyncExtra extra
;/* [switch_is(extra_length)] */
146 struct ldapControlDirSyncCookie
{
147 const char *msds
;/* [value("MSDS"),charset(DOS)] */
148 struct ldapControlDirSyncBlob blob
;/* [subcontext(0)] */
149 }/* [relative_base,public] */;
151 struct supplementalCredentialsPackage
{
152 uint16_t name_len
;/* [value(2*strlen_m(name))] */
153 uint16_t data_len
;/* [value(strlen(data))] */
155 const char *name
;/* [charset(UTF16)] */
156 const char *data
;/* [charset(DOS)] */
159 enum supplementalCredentialsSignature
160 #ifndef USE_UINT_ENUMS
162 SUPPLEMENTAL_CREDENTIALS_SIGNATURE
=0x0050
165 { __donnot_use_enum_supplementalCredentialsSignature
=0x7FFFFFFF}
166 #define SUPPLEMENTAL_CREDENTIALS_SIGNATURE ( 0x0050 )
170 struct supplementalCredentialsSubBlob
{
171 const char *prefix
;/* [value(SUPPLEMENTAL_CREDENTIALS_PREFIX),charset(UTF16)] */
172 enum supplementalCredentialsSignature signature
;/* [value(SUPPLEMENTAL_CREDENTIALS_SIGNATURE)] */
173 uint16_t num_packages
;
174 struct supplementalCredentialsPackage
*packages
;
177 struct supplementalCredentialsBlob
{
178 uint32_t unknown1
;/* [value(0)] */
179 uint32_t __ndr_size
;/* [value(ndr_size_supplementalCredentialsSubBlob(&sub,ndr->iconv_convenience,ndr->flags))] */
180 uint32_t unknown2
;/* [value(0)] */
181 struct supplementalCredentialsSubBlob sub
;/* [subcontext_size(__ndr_size),subcontext(0)] */
182 uint8_t unknown3
;/* [value(0)] */
185 struct package_PackagesBlob
{
186 const char ** names
;/* [flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
189 struct package_PrimaryKerberosString
{
190 uint16_t length
;/* [value(2*strlen_m(string))] */
191 uint16_t size
;/* [value(2*strlen_m(string))] */
192 const char * string
;/* [relative,subcontext_size(size),subcontext(0),flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
195 struct package_PrimaryKerberosKey3
{
196 uint16_t reserved1
;/* [value(0)] */
197 uint16_t reserved2
;/* [value(0)] */
198 uint32_t reserved3
;/* [value(0)] */
200 uint32_t value_len
;/* [value((value?value->length:0))] */
201 DATA_BLOB
*value
;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
204 struct package_PrimaryKerberosCtr3
{
206 uint16_t num_old_keys
;
207 struct package_PrimaryKerberosString salt
;
208 struct package_PrimaryKerberosKey3
*keys
;
209 struct package_PrimaryKerberosKey3
*old_keys
;
210 uint32_t padding1
;/* [value(0)] */
211 uint32_t padding2
;/* [value(0)] */
212 uint32_t padding3
;/* [value(0)] */
213 uint32_t padding4
;/* [value(0)] */
214 uint32_t padding5
;/* [value(0)] */
217 struct package_PrimaryKerberosKey4
{
218 uint16_t reserved1
;/* [value(0)] */
219 uint16_t reserved2
;/* [value(0)] */
220 uint32_t reserved3
;/* [value(0)] */
221 uint32_t iteration_count
;
223 uint32_t value_len
;/* [value((value?value->length:0))] */
224 DATA_BLOB
*value
;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
227 struct package_PrimaryKerberosCtr4
{
229 uint16_t num_service_keys
;/* [value(0)] */
230 uint16_t num_old_keys
;
231 uint16_t num_older_keys
;
232 struct package_PrimaryKerberosString salt
;
233 uint32_t default_iteration_count
;
234 struct package_PrimaryKerberosKey4
*keys
;
235 struct package_PrimaryKerberosKey4
*service_keys
;
236 struct package_PrimaryKerberosKey4
*old_keys
;
237 struct package_PrimaryKerberosKey4
*older_keys
;
240 union package_PrimaryKerberosCtr
{
241 struct package_PrimaryKerberosCtr3 ctr3
;/* [case(3)] */
242 struct package_PrimaryKerberosCtr4 ctr4
;/* [case(4)] */
243 }/* [nodiscriminant] */;
245 struct package_PrimaryKerberosBlob
{
247 uint16_t flags
;/* [value(0)] */
248 union package_PrimaryKerberosCtr ctr
;/* [switch_is(version)] */
251 struct package_PrimaryCLEARTEXTBlob
{
252 DATA_BLOB cleartext
;/* [flag(LIBNDR_FLAG_REMAINING)] */
255 struct package_PrimaryWDigestHash
{
257 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
259 struct package_PrimaryWDigestBlob
{
260 uint16_t unknown1
;/* [value(0x31)] */
261 uint8_t unknown2
;/* [value(0x01)] */
263 uint32_t unknown3
;/* [value(0)] */
264 uint64_t uuknown4
;/* [value(0)] */
265 struct package_PrimaryWDigestHash
*hashes
;
268 struct AuthInfoNone
{
269 uint32_t size
;/* [value(0)] */
272 struct AuthInfoNT4Owf
{
273 uint32_t size
;/* [value(16)] */
274 struct samr_Password password
;
277 struct AuthInfoClear
{
282 struct AuthInfoVersion
{
283 uint32_t size
;/* [value(4)] */
288 struct AuthInfoNone none
;/* [case(TRUST_AUTH_TYPE_NONE)] */
289 struct AuthInfoNT4Owf nt4owf
;/* [case(TRUST_AUTH_TYPE_NT4OWF)] */
290 struct AuthInfoClear clear
;/* [case(TRUST_AUTH_TYPE_CLEAR)] */
291 struct AuthInfoVersion version
;/* [case(TRUST_AUTH_TYPE_VERSION)] */
292 }/* [nodiscriminant] */;
294 struct AuthenticationInformation
{
295 NTTIME LastUpdateTime
;
296 enum lsa_TrustAuthType AuthType
;
297 union AuthInfo AuthInfo
;/* [switch_is(AuthType)] */
298 DATA_BLOB _pad
;/* [flag(LIBNDR_FLAG_ALIGN4)] */
301 struct AuthenticationInformationArray
{
302 struct AuthenticationInformation
*array
;/* [size_is] */
303 }/* [noprint,nopush,nopull] */;
305 struct trustAuthInOutBlob
{
307 struct AuthenticationInformationArray
*current
;/* [relative] */
308 struct AuthenticationInformationArray
*previous
;/* [relative] */
309 }/* [noprint,gensize,nopull,public,nopush] */;
311 struct trustCurrentPasswords
{
313 struct AuthenticationInformation
**current
;/* [relative] */
314 }/* [gensize,public] */;
316 struct trustDomainPasswords
{
317 uint8_t confounder
[512];
318 struct trustCurrentPasswords outgoing
;/* [subcontext_size(outgoing_size),subcontext(0)] */
319 struct trustCurrentPasswords incoming
;/* [subcontext_size(incoming_size),subcontext(0)] */
320 uint32_t outgoing_size
;/* [value(ndr_size_trustCurrentPasswords(&outgoing,ndr->iconv_convenience,ndr->flags))] */
321 uint32_t incoming_size
;/* [value(ndr_size_trustCurrentPasswords(&incoming,ndr->iconv_convenience,ndr->flags))] */
322 }/* [public,nopull] */;
324 struct DsCompressedChunk
{
329 struct ExtendedErrorAString
{
331 const char *string
;/* [unique,charset(DOS),size_is(__size)] */
334 struct ExtendedErrorUString
{
336 const char *string
;/* [unique,charset(UTF16),size_is(__size)] */
339 struct ExtendedErrorBlob
{
341 uint8_t *data
;/* [unique,size_is(length)] */
344 enum ExtendedErrorComputerNamePresent
345 #ifndef USE_UINT_ENUMS
347 EXTENDED_ERROR_COMPUTER_NAME_PRESENT
=1,
348 EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
=2
351 { __donnot_use_enum_ExtendedErrorComputerNamePresent
=0x7FFFFFFF}
352 #define EXTENDED_ERROR_COMPUTER_NAME_PRESENT ( 1 )
353 #define EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT ( 2 )
357 union ExtendedErrorComputerNameU
{
358 struct ExtendedErrorUString name
;/* [case(EXTENDED_ERROR_COMPUTER_NAME_PRESENT)] */
359 }/* [switch_type(ExtendedErrorComputerNamePresent)] */;
361 struct ExtendedErrorComputerName
{
362 enum ExtendedErrorComputerNamePresent present
;
363 union ExtendedErrorComputerNameU n
;/* [switch_is(present)] */
366 enum ExtendedErrorParamType
367 #ifndef USE_UINT_ENUMS
369 EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
=1,
370 EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
=2,
371 EXTENDED_ERROR_PARAM_TYPE_UINT32
=3,
372 EXTENDED_ERROR_PARAM_TYPE_UINT16
=4,
373 EXTENDED_ERROR_PARAM_TYPE_UINT64
=5,
374 EXTENDED_ERROR_PARAM_TYPE_NONE
=6,
375 EXTENDED_ERROR_PARAM_TYPE_BLOB
=7
378 { __donnot_use_enum_ExtendedErrorParamType
=0x7FFFFFFF}
379 #define EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING ( 1 )
380 #define EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING ( 2 )
381 #define EXTENDED_ERROR_PARAM_TYPE_UINT32 ( 3 )
382 #define EXTENDED_ERROR_PARAM_TYPE_UINT16 ( 4 )
383 #define EXTENDED_ERROR_PARAM_TYPE_UINT64 ( 5 )
384 #define EXTENDED_ERROR_PARAM_TYPE_NONE ( 6 )
385 #define EXTENDED_ERROR_PARAM_TYPE_BLOB ( 7 )
389 union ExtendedErrorParamU
{
390 struct ExtendedErrorAString a_string
;/* [case(EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING)] */
391 struct ExtendedErrorUString u_string
;/* [case(EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING)] */
392 uint32_t uint32
;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT32)] */
393 uint16_t uint16
;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT16)] */
394 uint64_t uint64
;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT64)] */
395 struct ExtendedErrorBlob blob
;/* [case(EXTENDED_ERROR_PARAM_TYPE_BLOB)] */
396 }/* [switch_type(ExtendedErrorParamType)] */;
398 struct ExtendedErrorParam
{
399 enum ExtendedErrorParamType type
;
400 union ExtendedErrorParamU p
;/* [switch_is(type)] */
403 struct ExtendedErrorInfo
{
404 struct ExtendedErrorInfo
*next
;/* [unique] */
405 struct ExtendedErrorComputerName computer_name
;
408 uint32_t generating_component
;
410 uint16_t detection_location
;
413 struct ExtendedErrorParam
*params
;/* [size_is(num_params)] */
416 struct ExtendedErrorInfoPtr
{
417 struct ExtendedErrorInfo
*info
;/* [unique] */
421 struct decode_replPropertyMetaData
{
423 struct replPropertyMetaDataBlob blob
;
429 struct decode_replUpToDateVector
{
431 struct replUpToDateVectorBlob blob
;
437 struct decode_repsFromTo
{
439 struct repsFromToBlob blob
;
445 struct decode_partialAttributeSet
{
447 struct partialAttributeSetBlob blob
;
453 struct decode_prefixMap
{
455 struct prefixMapBlob blob
;
461 struct decode_ldapControlDirSync
{
463 struct ldapControlDirSyncCookie cookie
;
469 struct decode_supplementalCredentials
{
471 struct supplementalCredentialsBlob blob
;
477 struct decode_Packages
{
479 struct package_PackagesBlob blob
;
485 struct decode_PrimaryKerberos
{
487 struct package_PrimaryKerberosBlob blob
;
493 struct decode_PrimaryCLEARTEXT
{
495 struct package_PrimaryCLEARTEXTBlob blob
;
501 struct decode_PrimaryWDigest
{
503 struct package_PrimaryWDigestBlob blob
;
509 struct decode_trustAuthInOut
{
511 struct trustAuthInOutBlob blob
;
517 struct decode_trustDomainPasswords
{
519 struct trustDomainPasswords blob
;
525 struct decode_ExtendedErrorInfo
{
527 struct ExtendedErrorInfoPtr ptr
;/* [subcontext(0xFFFFFC01)] */
532 #endif /* _HEADER_drsblobs */