summaryrefslogtreecommitdiffstats
path: root/librpc/idl
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2014-01-09 15:56:45 +0100
committerGünther Deschner <gd@samba.org>2014-01-16 16:22:53 +0100
commit2019e41d53b23b51fc610d08a787add6a2851dc1 (patch)
treebb35558ea971787176c85fce228e8fc7011392b2 /librpc/idl
parente6fc98989a4c0d184ef310360d42741f61baa7db (diff)
downloadsamba-2019e41d53b23b51fc610d08a787add6a2851dc1.tar.gz
samba-2019e41d53b23b51fc610d08a787add6a2851dc1.tar.xz
samba-2019e41d53b23b51fc610d08a787add6a2851dc1.zip
dcerpc.idl: add enums and bitmaps for dcerpc_bind_ack_result, dcerpc_bind_[ack|nak]_reason
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
Diffstat (limited to 'librpc/idl')
-rw-r--r--librpc/idl/dcerpc.idl48
1 files changed, 44 insertions, 4 deletions
diff --git a/librpc/idl/dcerpc.idl b/librpc/idl/dcerpc.idl
index 9d7e8b59242..162b5303618 100644
--- a/librpc/idl/dcerpc.idl
+++ b/librpc/idl/dcerpc.idl
@@ -61,10 +61,36 @@ interface dcerpc
[flag(NDR_REMAINING)] DATA_BLOB stub_and_verifier;
} dcerpc_request;
- const int DCERPC_BIND_REASON_ASYNTAX = 1;
- const int DCERPC_BIND_PROVIDER_REJECT = 2;
- const int DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED = 4;
- const int DCERPC_BIND_REASON_INVALID_AUTH_TYPE = 8;
+ typedef [enum16bit] enum {
+ DCERPC_BIND_ACK_RESULT_ACCEPTANCE = 0,
+ DCERPC_BIND_ACK_RESULT_USER_REJECTION = 1,
+ DCERPC_BIND_ACK_RESULT_PROVIDER_REJECTION = 2,
+ DCERPC_BIND_ACK_RESULT_NEGOTIATE_ACK = 3
+ } dcerpc_bind_ack_result;
+
+ const int DCERPC_BIND_PROVIDER_REJECT =
+ DCERPC_BIND_ACK_RESULT_PROVIDER_REJECTION;
+
+ typedef [enum16bit] enum {
+ DCERPC_BIND_ACK_REASON_NOT_SPECIFIED = 0,
+ DCERPC_BIND_ACK_REASON_ABSTRACT_SYNTAX_NOT_SUPPORTED = 1,
+ DCERPC_BIND_ACK_REASON_TRANSFER_SYNTAXES_NOT_SUPPORTED = 2,
+ DCERPC_BIND_ACK_REASON_LOCAL_LIMIT_EXCEEDED = 3
+ } dcerpc_bind_ack_reason_values;
+
+ const int DCERPC_BIND_REASON_ASYNTAX =
+ DCERPC_BIND_ACK_REASON_ABSTRACT_SYNTAX_NOT_SUPPORTED;
+
+ typedef [bitmap16bit] bitmap {
+ DCERPC_BIND_TIME_SECURITY_CONTEXT_MULTIPLEXING = 0x0001,
+ DCERPC_BIND_TIME_KEEP_CONNECTION_ON_ORPHAN = 0x0002
+ } dcerpc_bind_time_features;
+
+ typedef [nodiscriminant] union {
+ [case(DCERPC_BIND_ACK_RESULT_NEGOTIATE_ACK)]
+ dcerpc_bind_time_features negotiate;
+ [default] dcerpc_bind_ack_reason_values value;
+ } dcerpc_bind_ack_reason;
typedef struct {
uint16 result;
@@ -84,6 +110,20 @@ interface dcerpc
[flag(NDR_REMAINING)] DATA_BLOB auth_info;
} dcerpc_bind_ack;
+ typedef [enum16bit] enum {
+ DCERPC_BIND_NAK_REASON_NOT_SPECIFIED = 0,
+ DCERPC_BIND_NAK_REASON_TEMPORARY_CONGESTION = 1,
+ DCERPC_BIND_NAK_REASON_LOCAL_LIMIT_EXCEEDED = 2,
+ DCERPC_BIND_NAK_REASON_PROTOCOL_VERSION_NOT_SUPPORTED = 4,
+ DCERPC_BIND_NAK_REASON_INVALID_AUTH_TYPE = 8,
+ DCERPC_BIND_NAK_REASON_INVALID_CHECKSUM = 9
+ } dcerpc_bind_nak_reason;
+
+ const int DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED =
+ DCERPC_BIND_NAK_REASON_PROTOCOL_VERSION_NOT_SUPPORTED;
+ const int DCERPC_BIND_REASON_INVALID_AUTH_TYPE =
+ DCERPC_BIND_NAK_REASON_INVALID_AUTH_TYPE;
+
typedef struct {
uint32 num_versions;
uint32 versions[num_versions];