librpc/rpc: add dcerpc_binding_[g|s]et_flags()
authorStefan Metzmacher <metze@samba.org>
Fri, 24 Jan 2014 15:43:57 +0000 (16:43 +0100)
committerGünther Deschner <gd@samba.org>
Thu, 13 Feb 2014 10:54:14 +0000 (11:54 +0100)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
librpc/rpc/binding.c
librpc/rpc/rpc_common.h

index 588738645ea89fc5ccf9a41eea4630a2e20a0cbe..09c0c8d6cbc2be4dc77a37bf7b2b6d260711f8e0 100644 (file)
@@ -729,6 +729,24 @@ _PUBLIC_ NTSTATUS dcerpc_binding_set_string_option(struct dcerpc_binding *b,
        return NT_STATUS_OK;
 }
 
+_PUBLIC_ uint32_t dcerpc_binding_get_flags(const struct dcerpc_binding *b)
+{
+       return b->flags;
+}
+
+_PUBLIC_ NTSTATUS dcerpc_binding_set_flags(struct dcerpc_binding *b,
+                                          uint32_t additional,
+                                          uint32_t clear)
+{
+       /*
+        * TODO: in future we may want to reject invalid combinations
+        */
+       b->flags &= ~clear;
+       b->flags |= additional;
+
+       return NT_STATUS_OK;
+}
+
 _PUBLIC_ NTSTATUS dcerpc_floor_get_lhs_data(const struct epm_floor *epm_floor,
                                            struct ndr_syntax_id *syntax)
 {
index 7cab8a6792bb09ff645093402214292e5ffc988e..2ac243b700f5570865b44e34822bce0cb7ca1a76 100644 (file)
@@ -144,6 +144,10 @@ char *dcerpc_binding_copy_string_option(TALLOC_CTX *mem_ctx,
 NTSTATUS dcerpc_binding_set_string_option(struct dcerpc_binding *b,
                                          const char *name,
                                          const char *value);
+uint32_t dcerpc_binding_get_flags(const struct dcerpc_binding *b);
+NTSTATUS dcerpc_binding_set_flags(struct dcerpc_binding *b,
+                                 uint32_t additional,
+                                 uint32_t clear);
 NTSTATUS dcerpc_floor_get_lhs_data(const struct epm_floor *epm_floor, struct ndr_syntax_id *syntax);
 const char *derpc_transport_string_by_transport(enum dcerpc_transport_t t);
 enum dcerpc_transport_t dcerpc_transport_by_name(const char *name);