summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--librpc/idl/drsblobs.idl32
1 files changed, 32 insertions, 0 deletions
diff --git a/librpc/idl/drsblobs.idl b/librpc/idl/drsblobs.idl
index fb37500fea..8ec8458f6b 100644
--- a/librpc/idl/drsblobs.idl
+++ b/librpc/idl/drsblobs.idl
@@ -174,6 +174,38 @@ interface drsblobs {
[in] prefixMapBlob blob
);
+
+ /*
+ * repsTo structure. This is not sent over the wire so we are
+ * free to choose our own format. It is updated by the
+ * DRSUpdateRefs DRSUAPI call. This is stored in NDR format
+ * in the root of each partition in the repsTo attribute
+ */
+ typedef [v1_enum] enum {
+ REPSTO_VERSION1 = 1
+ } repsToVersion;
+
+ typedef struct {
+ utf8string dest_dsa_dns_name;
+ GUID dest_guid;
+ uint32 options;
+ } repsToDest;
+
+ typedef struct {
+ uint32 count;
+ [size_is(count)] repsToDest reps[];
+ } repsTov1;
+
+ typedef [nodiscriminant] union {
+ [case(REPSTO_VERSION1)] repsTov1 r;
+ } repsToCtr;
+
+ typedef [public] struct {
+ repsToVersion version;
+ [switch_is(version)] repsToCtr ctr;
+ } repsTo;
+
+
/*
* the cookie for the LDAP dirsync control
*/