From 768f82cbc6a7b7eda3a0517a5438d08b89f07855 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sat, 12 Mar 2005 09:25:39 +0000 Subject: r5766: get some more DsGetNCChanges stuff parsing correct metze (This used to be commit 1a4560997d99f2401903f8e466208c001d3ab6c1) --- source4/librpc/idl/drsuapi.idl | 99 +++++++++++++++++++++++++++++++++++------- 1 file changed, 83 insertions(+), 16 deletions(-) (limited to 'source4/librpc/idl') diff --git a/source4/librpc/idl/drsuapi.idl b/source4/librpc/idl/drsuapi.idl index 8a6a96dcac..21a364180a 100644 --- a/source4/librpc/idl/drsuapi.idl +++ b/source4/librpc/idl/drsuapi.idl @@ -173,22 +173,102 @@ interface drsuapi hyper usn3; } drsuapi_DsGetNCChangesUsnTriple; + typedef struct { + GUID source_dsa_invocation_id; + hyper highest_usn; + } drsuapi_DsReplicaCoursor; + + typedef struct { + uint32 u1; + uint32 u2; + [range(0,0x100000)] uint32 count; + uint32 u3; + [size_is(count)] drsuapi_DsReplicaCoursor array[]; + } drsuapi_DsReplicaCoursor05Ctr; + typedef struct { GUID guid1; GUID guid2; - uint32 unknown1[20]; - drsuapi_DsReplicaSyncRequest1Info sync_req_info1; - drsuapi_DsGetNCChangesUsnTriple usn; + [ref] drsuapi_DsReplicaSyncRequest1Info *sync_req_info1; + drsuapi_DsGetNCChangesUsnTriple usn1; + drsuapi_DsReplicaCoursor05Ctr *coursor; + uint32 unknown1; + uint32 unknown2; + uint32 unknown3; + uint32 unknown4; + hyper h1; + } drsuapi_DsGetNCChangesRequest5; + + typedef [flag(NDR_PAHEX)] struct { + [range(0,10000)] uint32 length; + [size_is(length)] uint8 *byte_array[]; + } drsuapi_DsGetNCChangesRequest_Ctr14; + + typedef struct { + uint32 unknown1; + drsuapi_DsGetNCChangesRequest_Ctr14 data; + } drsuapi_DsGetNCChangesRequest_Ctr13; + + typedef struct { + [range(0,0x100000)] uint32 count; + [size_is(count)] drsuapi_DsGetNCChangesRequest_Ctr13 *array[]; + } drsuapi_DsGetNCChangesRequest_Ctr12; + + typedef struct { + GUID guid1; + GUID guid2; + [ref] drsuapi_DsReplicaSyncRequest1Info *sync_req_info1; + drsuapi_DsGetNCChangesUsnTriple usn1; + drsuapi_DsReplicaCoursor05Ctr *coursor; + uint32 unknown1; + uint32 unknown2; + uint32 unknown3; + uint32 unknown4; + hyper h1; + uint32 unique_ptr1; + uint32 unique_ptr2; + drsuapi_DsGetNCChangesRequest_Ctr12 ctr12; } drsuapi_DsGetNCChangesRequest8; typedef [switch_type(int32)] union { + [case(5)] drsuapi_DsGetNCChangesRequest5 req5; [case(8)] drsuapi_DsGetNCChangesRequest8 req8; } drsuapi_DsGetNCChangesRequest; + typedef struct { + drsuapi_DsReplicaCoursor coursor; + NTTIME_1sec time1; + } drsuapi_DsReplicaCoursorEx; + + typedef struct { + uint32 u1; + uint32 u2; + [range(0,0x100000)] uint32 count; + uint32 u3; + [size_is(count)] drsuapi_DsReplicaCoursorEx array[]; + } drsuapi_DsReplicaCoursorEx05Ctr; + + typedef struct { + GUID guid1; + GUID guid2; + drsuapi_DsReplicaSyncRequest1Info *sync_req_info1; + drsuapi_DsGetNCChangesUsnTriple usn1; + drsuapi_DsGetNCChangesUsnTriple usn2; + drsuapi_DsReplicaCoursorEx05Ctr *coursor_ex; + drsuapi_DsGetNCChangesRequest_Ctr12 ctr12; + uint32 u1[3]; + uint32 ptr1; + uint32 u2[3]; + uint32 len1; + uint32 array_ptr1; + uint32 u3; + } drsuapi_DsGetNCChangesCtr6; + typedef struct { } drsuapi_DsGetNCChangesCtr7; typedef [switch_type(int32)] union { + [case(6)] drsuapi_DsGetNCChangesCtr6 ctr6; [case(7)] drsuapi_DsGetNCChangesCtr7 ctr7; } drsuapi_DsGetNCChangesCtr; @@ -546,11 +626,6 @@ interface drsuapi [size_is(count)] drsuapi_DsReplicaNeighbour array[]; } drsuapi_DsReplicaNeighbourCtr; - typedef struct { - GUID source_dsa_invocation_id; - hyper highest_usn; - } drsuapi_DsReplicaCoursor; - typedef struct { uint32 count; uint32 reserved; @@ -720,14 +795,6 @@ interface drsuapi [size_is(count)] drsuapi_DsReplicaConnection04 array[]; } drsuapi_DsReplicaConnection04Ctr; - typedef struct { - uint32 u1; - uint32 u2; - [range(0,0x100000)] uint32 count; - uint32 u3; - [size_is(count)] drsuapi_DsReplicaCoursor array[]; - } drsuapi_DsReplicaCoursor05Ctr; - typedef struct { unistr *str1; uint32 u1; -- cgit