};
static guint16 ver_dcerpc_witness = 1;
+const value_string witness_witness_version_vals[] = {
+ { WITNESS_V1, "WITNESS_V1" },
+ { WITNESS_V2, "WITNESS_V2" },
+{ 0, NULL }
+};
const value_string witness_witness_interfaceInfo_state_vals[] = {
{ UNKNOWN, "UNKNOWN" },
{ AVAILABLE, "AVAILABLE" },
static int witness_dissect_element_interfaceList_interfaces_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
static int witness_dissect_element_interfaceList_interfaces__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
const value_string witness_witness_notifyResponse_type_vals[] = {
- { CHANGE, "CHANGE" },
- { MOVE, "MOVE" },
+ { RESOURCE_CHANGE, "RESOURCE_CHANGE" },
+ { CLIENT_MOVE, "CLIENT_MOVE" },
+ { SHARE_MOVE, "SHARE_MOVE" },
+ { IP_CHANGE, "IP_CHANGE" },
{ 0, NULL }
};
static int witness_dissect_element_notifyResponse_message_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
#include "packet-dcerpc-witness-cnf.c"
+/* IDL: enum { */
+/* IDL: WITNESS_V1=0x00010001, */
+/* IDL: WITNESS_V2=0x00020000, */
+/* IDL: } */
+
+int
+witness_dissect_enum_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
+{
+ guint32 parameter=0;
+ if(param){
+ parameter=(guint32)*param;
+ }
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, ¶meter);
+ if(param){
+ *param=(guint32)parameter;
+ }
+ return offset;
+}
+
+
/* IDL: enum { */
/* IDL: UNKNOWN=0x00, */
/* IDL: AVAILABLE=0x01, */
ALIGN_TO_4_BYTES;
if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, DREP_ENC_INTEGER(drep));
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, TRUE);
tree = proto_item_add_subtree(item,ett_witness_witness_interfaceInfo_flags);
}
/* IDL: struct { */
/* IDL: [to_null(1)] [charset(UTF16)] uint16 group_name[260]; */
-/* IDL: uint32 version; */
+/* IDL: witness_version version; */
/* IDL: witness_interfaceInfo_state state; */
/* IDL: [flag(LIBNDR_FLAG_BIGENDIAN)] ipv4address ipv4; */
/* IDL: [flag(LIBNDR_FLAG_BIGENDIAN)] ipv6address ipv6; */
static int
witness_dissect_element_interfaceInfo_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_witness_witness_interfaceInfo_version, 0);
+ offset = witness_dissect_enum_version(tvb, offset, pinfo, tree, drep, hf_witness_witness_interfaceInfo_version, 0);
return offset;
}
old_offset = offset;
if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
tree = proto_item_add_subtree(item, ett_witness_witness_interfaceInfo);
}
old_offset = offset;
if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
tree = proto_item_add_subtree(item, ett_witness_witness_interfaceList);
}
/* IDL: enum { */
-/* IDL: CHANGE=1, */
-/* IDL: MOVE=2, */
+/* IDL: RESOURCE_CHANGE=1, */
+/* IDL: CLIENT_MOVE=2, */
+/* IDL: SHARE_MOVE=3, */
+/* IDL: IP_CHANGE=4, */
/* IDL: } */
int
static int
witness_dissect_element_Register_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
{
- offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_witness_witness_Register_version, 0);
+ offset = witness_dissect_enum_version(tvb, offset, pinfo, tree, drep, hf_witness_witness_Register_version, 0);
return offset;
}
/* IDL: WERROR witness_Register( */
/* IDL: [out] [ref] policy_handle *context_handle, */
-/* IDL: [in] uint32 version, */
+/* IDL: [in] witness_version version, */
/* IDL: [unique(1)] [in] [charset(UTF16)] uint16 *net_name, */
/* IDL: [unique(1)] [in] [charset(UTF16)] uint16 *ip_address, */
/* IDL: [unique(1)] [in] [charset(UTF16)] uint16 *client_computer_name */
{ &hf_witness_werror,
{ "Windows Error", "witness.werror", FT_UINT32, BASE_HEX, VALS(WERR_errors), 0, NULL, HFILL }},
{ &hf_witness_witness_Register_version,
- { "Version", "witness.witness_Register.version", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { "Version", "witness.witness_Register.version", FT_UINT32, BASE_DEC, VALS(witness_witness_version_vals), 0, NULL, HFILL }},
{ &hf_witness_witness_Register_client_computer_name,
{ "Client Computer Name", "witness.witness_Register.client_computer_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
{ &hf_witness_witness_interfaceList_num_interfaces,
{ &hf_witness_opnum,
{ "Operation", "witness.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
{ &hf_witness_witness_interfaceInfo_version,
- { "Version", "witness.witness_interfaceInfo.version", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { "Version", "witness.witness_interfaceInfo.version", FT_UINT32, BASE_DEC, VALS(witness_witness_version_vals), 0, NULL, HFILL }},
{ &hf_witness_change_type,
{ "Type", "witness.change.type", FT_UINT32, BASE_HEX, VALS(witness_change_type_vals), 0, NULL, HFILL }},
{ &hf_witness_move_ipaddr_list_flags_ipv4,
#ifndef __PACKET_DCERPC_WITNESS_H
#define __PACKET_DCERPC_WITNESS_H
+#define WITNESS_V1 (0x00010001)
+#define WITNESS_V2 (0x00020000)
+extern const value_string witness_witness_version_vals[];
+int witness_dissect_enum_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_);
#define UNKNOWN (0x00)
#define AVAILABLE (0x01)
#define UNAVAILABLE (0xff)
int witness_dissect_bitmap_interfaceInfo_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_);
int witness_dissect_struct_interfaceInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_);
int witness_dissect_struct_interfaceList(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_);
-#define CHANGE (1)
-#define MOVE (2)
+#define RESOURCE_CHANGE (1)
+#define CLIENT_MOVE (2)
+#define SHARE_MOVE (3)
+#define IP_CHANGE (4)
extern const value_string witness_witness_notifyResponse_type_vals[];
int witness_dissect_enum_notifyResponse_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_);
int witness_dissect_struct_notifyResponse(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_);