summaryrefslogtreecommitdiff
path: root/source4/librpc/ndr/ndr_drsuapi.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/librpc/ndr/ndr_drsuapi.c')
-rw-r--r--source4/librpc/ndr/ndr_drsuapi.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/source4/librpc/ndr/ndr_drsuapi.c b/source4/librpc/ndr/ndr_drsuapi.c
index 6f6dd74ea4..f220966b9d 100644
--- a/source4/librpc/ndr/ndr_drsuapi.c
+++ b/source4/librpc/ndr/ndr_drsuapi.c
@@ -61,3 +61,18 @@ void ndr_print_drsuapi_DsReplicaObjectListItemEx(struct ndr_print *ndr, const ch
ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "next_object", r->next_object);
}
}
+
+uint32_t _ndr_size_drsuapi_DsReplicaObjectIdentifier3(const void *ndr,
+ const struct drsuapi_DsAttributeValueDNString *dn,
+ const struct drsuapi_DsReplicaObjectIdentifier3 *id,
+ uint32_t flags)
+{
+ if (talloc_get_type(ndr, struct ndr_pull)) {
+ return dn->__ndr_size;
+ } else if (talloc_get_type(ndr, struct ndr_push)) {
+ return ndr_size_drsuapi_DsReplicaObjectIdentifier3(id, flags) + 2;
+ } else if (talloc_get_type(ndr, struct ndr_print)) {
+ return ndr_size_drsuapi_DsReplicaObjectIdentifier3(id, flags) + 2;
+ }
+ return 0;
+}