s4: added the structure for repsTo
authorAndrew Tridgell <tridge@samba.org>
Tue, 8 Sep 2009 01:51:01 +0000 (11:51 +1000)
committerAndrew Tridgell <tridge@samba.org>
Tue, 8 Sep 2009 01:52:45 +0000 (11:52 +1000)
This structure is stored in NDR format in the repsTo attribute of each
partition. It is updated by the DSUpdateRefs DSRUAPI call

librpc/idl/drsblobs.idl

index fb37500fea2cc62810c2aacdcdb77fd623fa71a3..8ec8458f6bc49f8b6e57e990dc438fa212b601fb 100644 (file)
@@ -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
         */