s3-librpc: Add dcerpc_binding_vector_replace_iface().
authorAndreas Schneider <asn@samba.org>
Fri, 1 Jul 2011 12:39:58 +0000 (14:39 +0200)
committerAndreas Schneider <asn@samba.org>
Mon, 1 Aug 2011 06:50:35 +0000 (08:50 +0200)
source3/librpc/rpc/dcerpc_ep.c
source3/librpc/rpc/dcerpc_ep.h

index d73c43dc649e16b4c3fdad0f59e499bfa656441c..e734be3b2b700b6021a931f4e1fac8e4fc4cd235 100644 (file)
@@ -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)
 {
index c982ff853c8710cc72453747062b046b6bd7bd1f..ba1e688e6c1307ef9b6474f961e6d13d0b71eff2 100644 (file)
@@ -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,