summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2007-01-13 15:28:24 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:40:33 -0500
commit04103008107442c6f561b35d7824f644470bb3e9 (patch)
treeb96dca28207e8d030e678e94de99b2e0808c87a1 /source4/librpc
parent7dd80e872dacacf95d16b0460119296275a18ab0 (diff)
downloadsamba-04103008107442c6f561b35d7824f644470bb3e9.tar.gz
samba-04103008107442c6f561b35d7824f644470bb3e9.tar.bz2
samba-04103008107442c6f561b35d7824f644470bb3e9.zip
r20732: add idl for storing the prefixMap attribute
as w2k3 doesn't return it when you ask for we don't know the exact format, but we assume that it starts with a uint32 version and as this attribute is not replicated we can chosse our own version... metze (This used to be commit cf546b7c182f6a9b636023377b5260d155bc15dd)
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/drsblobs.idl31
-rw-r--r--source4/librpc/idl/drsuapi.idl2
2 files changed, 32 insertions, 1 deletions
diff --git a/source4/librpc/idl/drsblobs.idl b/source4/librpc/idl/drsblobs.idl
index f5147d2a45..96ef65003e 100644
--- a/source4/librpc/idl/drsblobs.idl
+++ b/source4/librpc/idl/drsblobs.idl
@@ -144,6 +144,37 @@ interface drsblobs {
[in] partialAttributeSetBlob blob
);
+ /*
+ * prefixMap
+ * w2k unknown
+ * w2k3 unknown
+ * samba4 uses 0x44544442 'DSDB'
+ *
+ * as we windows don't return the prefixMap attribute when you ask for
+ * we don't know the format, but the attribute is not replicated
+ * so that we can choose our own format...
+ */
+ typedef [v1_enum] enum {
+ PREFIX_MAP_VERSION_DSDB = 0x44544442
+ } prefixMapVersion;
+
+ typedef [nodiscriminant] union {
+ [case(PREFIX_MAP_VERSION_DSDB)] drsuapi_DsReplicaOIDMapping_Ctr dsdb;
+ } prefixMapCtr;
+
+ typedef [public] struct {
+ prefixMapVersion version;
+ uint32 reserved;
+ [switch_is(version)] prefixMapCtr ctr;
+ } prefixMapBlob;
+
+ void decode_prefixMap(
+ [in] prefixMapBlob blob
+ );
+
+ /*
+ * the cookie for the LDAP dirsync control
+ */
typedef [nodiscriminant,gensize] union {
[case(0)];
[default] replUpToDateVectorBlob uptodateness_vector;
diff --git a/source4/librpc/idl/drsuapi.idl b/source4/librpc/idl/drsuapi.idl
index e537b94d9c..a605271ad0 100644
--- a/source4/librpc/idl/drsuapi.idl
+++ b/source4/librpc/idl/drsuapi.idl
@@ -336,7 +336,7 @@ interface drsuapi
drsuapi_DsReplicaOID oid;
} drsuapi_DsReplicaOIDMapping;
- typedef struct {
+ typedef [public] struct {
[range(0,0x100000)] uint32 num_mappings;
[size_is(num_mappings)] drsuapi_DsReplicaOIDMapping *mappings;
} drsuapi_DsReplicaOIDMapping_Ctr;