summaryrefslogtreecommitdiff
path: root/source4/librpc/idl
diff options
context:
space:
mode:
Diffstat (limited to 'source4/librpc/idl')
-rw-r--r--source4/librpc/idl/drsblobs.idl37
-rw-r--r--source4/librpc/idl/idl_types.h5
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
*/