From 02cdb65fc67954e3811349021563f496fc282f7b Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Fri, 1 Jul 2011 14:39:58 +0200 Subject: [PATCH] s3-librpc: Add dcerpc_binding_vector_replace_iface(). --- source3/librpc/rpc/dcerpc_ep.c | 15 +++++++++++++++ source3/librpc/rpc/dcerpc_ep.h | 12 ++++++++++++ 2 files changed, 27 insertions(+) diff --git a/source3/librpc/rpc/dcerpc_ep.c b/source3/librpc/rpc/dcerpc_ep.c index d73c43dc649..e734be3b2b7 100644 --- a/source3/librpc/rpc/dcerpc_ep.c +++ b/source3/librpc/rpc/dcerpc_ep.c @@ -243,6 +243,21 @@ NTSTATUS dcerpc_binding_vector_add_unix(const struct ndr_interface_table *iface, return NT_STATUS_OK; } +NTSTATUS dcerpc_binding_vector_replace_iface(const struct ndr_interface_table *iface, + struct dcerpc_binding_vector *v) +{ + uint32_t i; + + for (i = 0; i < v->count; i++) { + struct dcerpc_binding *b; + + b = &(v->bindings[i]); + b->object = iface->syntax_id; + } + + return NT_STATUS_OK; +} + struct dcerpc_binding_vector *dcerpc_binding_vector_dup(TALLOC_CTX *mem_ctx, const struct dcerpc_binding_vector *bvec) { diff --git a/source3/librpc/rpc/dcerpc_ep.h b/source3/librpc/rpc/dcerpc_ep.h index c982ff853c8..ba1e688e6c1 100644 --- a/source3/librpc/rpc/dcerpc_ep.h +++ b/source3/librpc/rpc/dcerpc_ep.h @@ -95,6 +95,18 @@ NTSTATUS dcerpc_binding_vector_add_unix(const struct ndr_interface_table *iface, struct dcerpc_binding_vector *dcerpc_binding_vector_dup(TALLOC_CTX *mem_ctx, const struct dcerpc_binding_vector *bvec); +/** + * @brief Replace the interface of the bindings in the vector. + * + * @param[in] iface The new interface identifier to use. + * + * @param[in] v The binding vector to change. + * + * @return An NTSTATUS error code. + */ +NTSTATUS dcerpc_binding_vector_replace_iface(const struct ndr_interface_table *iface, + struct dcerpc_binding_vector *v); + NTSTATUS dcerpc_binding_vector_create(TALLOC_CTX *mem_ctx, const struct ndr_interface_table *iface, uint16_t port, -- 2.11.4.GIT