diff options
-rw-r--r-- | librpc/idl/drsblobs.idl | 32 |
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 */ |