summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/librpc/config.mk13
-rw-r--r--source4/librpc/idl/drsblobs.idl29
2 files changed, 41 insertions, 1 deletions
diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk
index 82df55275e..bfc5749abe 100644
--- a/source4/librpc/config.mk
+++ b/source4/librpc/config.mk
@@ -102,6 +102,12 @@ INIT_OBJ_FILES = librpc/gen_ndr/ndr_drsuapi.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
+[SUBSYSTEM::NDR_DRSBLOBS]
+INIT_FUNCTION = dcerpc_drsblobs_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_drsblobs.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
[SUBSYSTEM::NDR_POLICYAGENT]
INIT_FUNCTION = dcerpc_policyagent_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_policyagent.o
@@ -296,7 +302,7 @@ REQUIRED_SUBSYSTEMS = NDR_AUDIOSRV NDR_ECHO NDR_DCERPC NDR_EXCHANGE \
NDR_WINREG NDR_MGMT NDR_PROTECTED_STORAGE NDR_DCOM NDR_OXIDRESOLVER \
NDR_REMACT NDR_WZCSVC NDR_BROWSER NDR_W32TIME NDR_SCERPC NDR_NTSVCS \
NDR_NETLOGON NDR_TRKWKS NDR_KEYSVC NDR_KRB5PAC NDR_XATTR NDR_SCHANNEL \
- NDR_ROT
+ NDR_ROT NDR_DRSBLOBS
[SUBSYSTEM::RPC_NDR_ROT]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_rot_c.o
@@ -348,6 +354,11 @@ ADD_OBJ_FILES = librpc/gen_ndr/ndr_drsuapi_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_DRSUAPI
NOPROTO = YES
+[SUBSYSTEM::RPC_NDR_DRSBLOBS]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_drsblobs_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DRSBLOBS
+NOPROTO = YES
+
[SUBSYSTEM::RPC_NDR_POLICYAGENT]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_policyagent_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_POLICYAGENT
diff --git a/source4/librpc/idl/drsblobs.idl b/source4/librpc/idl/drsblobs.idl
new file mode 100644
index 0000000000..52c324e197
--- /dev/null
+++ b/source4/librpc/idl/drsblobs.idl
@@ -0,0 +1,29 @@
+#include "idl_types.h"
+
+[
+ uuid("38578646-4566-4564-2244-275796345667"),
+ version(0.0),
+ helpstring("Active Directory Replication LDAP Blobs")
+]
+interface drsblobs {
+ typedef struct {
+ uint32 attribute_id;
+ uint32 version;
+ NTTIME_1sec orginating_time;
+ GUID orginating_dsa;
+ uint64 orginating_usn;
+ uint64 local_usn;
+ } replPropertyMetaData;
+
+ typedef struct {
+ uint32 unknown1; /* version ? */
+ uint32 unknown2;
+ uint32 count;
+ uint32 unknown3;
+ replPropertyMetaData array[count];
+ } replPropertyMetaDataCtr;
+
+ void decode_replPropertyMetaData(
+ [in] replPropertyMetaDataCtr ctr
+ );
+}