aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/wimax/msg_dsc.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2013-09-22 00:50:24 +0000
committerMichael Mann <mmann78@netscape.net>2013-09-22 00:50:24 +0000
commit6ceb84b10bbfbb9743be074016b7de8cbab9bbcb (patch)
tree4ba4dfcbe710c7dff825412ea566250976aab314 /plugins/wimax/msg_dsc.c
parent39d3b8c16a0317d94f05b9e4c9eef541ee0515ee (diff)
Make dissectors register for their MAC Management Message Type and use dissector_try_uint to do any dissection. Many "outside" (third-party) message types appear to exist.
Have the makefiles do all the work setting up proto_register_<dissector> and proto_reg_handoff_<dissector>, rather than sprinkled throughout the dissectors with extern declarations. More is coming to make more functions static (because of current makefile fixes) and cleanup MAC Management dissectors to remove unnecessary/duplicative code, but I wanted to get the build issues squared away. svn path=/trunk/; revision=52167
Diffstat (limited to 'plugins/wimax/msg_dsc.c')
-rw-r--r--plugins/wimax/msg_dsc.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/plugins/wimax/msg_dsc.c b/plugins/wimax/msg_dsc.c
index 9224dbb89a..8b5029af4b 100644
--- a/plugins/wimax/msg_dsc.c
+++ b/plugins/wimax/msg_dsc.c
@@ -40,8 +40,6 @@
#include "wimax_mac.h"
#include "wimax_utils.h"
-extern gint proto_mac_mgmt_msg_dsa_decoder;
-
static gint proto_mac_mgmt_msg_dsc_decoder = -1;
static gint ett_mac_mgmt_msg_dsc_req_decoder = -1;
static gint ett_mac_mgmt_msg_dsc_rsp_decoder = -1;
@@ -226,8 +224,27 @@ void proto_register_mac_mgmt_msg_dsc(void)
&ett_mac_mgmt_msg_dsc_ack_decoder
};
- proto_mac_mgmt_msg_dsc_decoder = proto_mac_mgmt_msg_dsa_decoder;
+ proto_mac_mgmt_msg_dsc_decoder = proto_register_protocol (
+ "WiMax DSC Messages", /* name */
+ "WiMax DSC", /* short name */
+ "wmx.dsc" /* abbrev */
+ );
proto_register_field_array(proto_mac_mgmt_msg_dsc_decoder, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
+
+void
+proto_reg_handoff_mac_mgmt_msg_dsc(void)
+{
+ dissector_handle_t dsc_handle;
+
+ dsc_handle = create_dissector_handle(dissect_mac_mgmt_msg_dsc_req_decoder, proto_mac_mgmt_msg_dsc_decoder);
+ dissector_add_uint("wmx.mgmtmsg", MAC_MGMT_MSG_DSC_REQ, dsc_handle);
+
+ dsc_handle = create_dissector_handle(dissect_mac_mgmt_msg_dsc_rsp_decoder, proto_mac_mgmt_msg_dsc_decoder);
+ dissector_add_uint("wmx.mgmtmsg", MAC_MGMT_MSG_DSC_RSP, dsc_handle);
+
+ dsc_handle = create_dissector_handle(dissect_mac_mgmt_msg_dsc_ack_decoder, proto_mac_mgmt_msg_dsc_decoder);
+ dissector_add_uint("wmx.mgmtmsg", MAC_MGMT_MSG_DSC_ACK, dsc_handle);
+}