diff options
Diffstat (limited to 'source4/librpc/idl')
-rw-r--r-- | source4/librpc/idl/drsblobs.idl | 37 | ||||
-rw-r--r-- | source4/librpc/idl/idl_types.h | 5 |
2 files changed, 42 insertions, 0 deletions
diff --git a/source4/librpc/idl/drsblobs.idl b/source4/librpc/idl/drsblobs.idl index 6c998968ac..20b353c1ea 100644 --- a/source4/librpc/idl/drsblobs.idl +++ b/source4/librpc/idl/drsblobs.idl @@ -83,4 +83,41 @@ interface drsblobs { void decode_replUpToDateVector( [in] replUpToDateVectorBlob blob ); + + /* + * repsFrom/repsTo + * w2k uses version 1 + * w2k3 uses version 1 + */ + typedef [flag(NDR_PAHEX)] struct { + NTTIME_1sec time1; + NTTIME_1sec time2; + uint32 unknown1[4]; + uint8 unknown2[84]; + uint32 unknown3; + uint64 usn1; + uint32 unknown4; + uint32 unknown5; + uint64 usn2; + GUID guid1; + GUID guid2; + uint32 unknown6[4]; + asclstr dns_name; + } repsFromTo1; + + typedef [nodiscriminant] union { + [case(1)] repsFromTo1 ctr1; + } repsFromTo; + + typedef [public,gensize] struct { + uint32 version; + uint32 unknown1; + [value(ndr_size_repsFromToBlob(0, r, ndr->flags))] uint32 blobsize; + uint32 unknown2; + [switch_is(version)] repsFromTo ctr; + } repsFromToBlob; + + void decode_repsFromTo( + [in] repsFromToBlob blob + ); } diff --git a/source4/librpc/idl/idl_types.h b/source4/librpc/idl/idl_types.h index 54943ce78c..9463fe0c47 100644 --- a/source4/librpc/idl/idl_types.h +++ b/source4/librpc/idl/idl_types.h @@ -49,6 +49,11 @@ #define ascstr2 [flag(STR_ASCII|STR_LEN4)] string /* + an ascii string prefixed with [size], 32 bits +*/ +#define asclstr [flag(STR_ASCII|STR_SIZE4)] string + +/* an ascii string prefixed with [size], 16 bits null terminated */ |