summaryrefslogtreecommitdiff
path: root/librpc
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2014-01-24 16:43:57 +0100
committerGünther Deschner <gd@samba.org>2014-02-13 11:54:14 +0100
commit8dac96728aee72f4d5510d53c3b00bdbd250a867 (patch)
treec99f943677bbb8131f34885259f400890ee52a32 /librpc
parent77d009898412cfef8f9773152f0728011ec7e304 (diff)
downloadsamba-8dac96728aee72f4d5510d53c3b00bdbd250a867.tar.gz
librpc/rpc: add dcerpc_binding_[g|s]et_flags()
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
Diffstat (limited to 'librpc')
-rw-r--r--librpc/rpc/binding.c18
-rw-r--r--librpc/rpc/rpc_common.h4
2 files changed, 22 insertions, 0 deletions
diff --git a/librpc/rpc/binding.c b/librpc/rpc/binding.c
index 588738645ea..09c0c8d6cbc 100644
--- a/librpc/rpc/binding.c
+++ b/librpc/rpc/binding.c
@@ -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)
{
diff --git a/librpc/rpc/rpc_common.h b/librpc/rpc/rpc_common.h
index 7cab8a6792b..2ac243b700f 100644
--- a/librpc/rpc/rpc_common.h
+++ b/librpc/rpc/rpc_common.h
@@ -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);