aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-tdmop.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-tdmop.c')
-rw-r--r--epan/dissectors/packet-tdmop.c65
1 files changed, 33 insertions, 32 deletions
diff --git a/epan/dissectors/packet-tdmop.c b/epan/dissectors/packet-tdmop.c
index ae7d182aa4..c1d4884f13 100644
--- a/epan/dissectors/packet-tdmop.c
+++ b/epan/dissectors/packet-tdmop.c
@@ -16,7 +16,7 @@
#include <epan/conversation.h>
#include <epan/prefs.h>
-/*Using of ethertype 0x0808(assigned to Frame Realy ARP) was implemented in hardware, when ethertype was not assigned*/
+/*Using of ethertype 0x0808(assigned to Frame Relay ARP) was implemented in hardware, when ethertype was not assigned*/
#define ETHERTYPE_TDMOP 0
#define MAX_DCHANNEL_LEN 128
@@ -24,25 +24,27 @@
void proto_register_tdmop(void);
void proto_reg_handoff_tdmop(void);
-static int proto_tdmop = -1;
-static gint ett_tdmop = -1;
-static gint ett_tdmop_channel = -1;
+static dissector_handle_t tdmop_handle;
-static int hf_tdmop_TransferID = -1;
-static int hf_tdmop_DstCh = -1;
-static int hf_tdmop_SrcCh = -1;
-static int hf_tdmop_Flags = -1;
-static int hf_tdmop_Flags_no_data = -1;
-static int hf_tdmop_Flags_lost_request = -1;
-static int hf_tdmop_Flags_remote_no_data = -1;
-static int hf_tdmop_Flags_compressed = -1;
-static int hd_tdmop_SrcDst = -1;
-static int hd_tdmop_SeqNum = -1;
-static int hd_tdmop_LastRecv = -1;
-static int hd_tdmop_Delay = -1;
-static int hd_tdmop_Reserved = -1;
-static int hf_tdmop_payload = -1;
-static int hf_tdmop_Compression_mask = -1;
+static int proto_tdmop;
+static gint ett_tdmop;
+static gint ett_tdmop_channel;
+
+static int hf_tdmop_TransferID;
+static int hf_tdmop_DstCh;
+static int hf_tdmop_SrcCh;
+static int hf_tdmop_Flags;
+static int hf_tdmop_Flags_no_data;
+static int hf_tdmop_Flags_lost_request;
+static int hf_tdmop_Flags_remote_no_data;
+static int hf_tdmop_Flags_compressed;
+static int hf_tdmop_SrcDst;
+static int hf_tdmop_SeqNum;
+static int hf_tdmop_LastRecv;
+static int hf_tdmop_Delay;
+static int hf_tdmop_Reserved;
+static int hf_tdmop_payload;
+static int hf_tdmop_Compression_mask;
static dissector_handle_t lapd_handle = NULL;
@@ -104,7 +106,7 @@ static int dissect_tdmop(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo
offset += 1;
/*conversation*/
- conversation_create_endpoint(pinfo, &pinfo->src, &pinfo->dst, ENDPOINT_TDMOP, srcch, dstch, 0);
+ conversation_set_conv_addr_port_endpoints(pinfo, &pinfo->src, &pinfo->dst, CONVERSATION_TDMOP, srcch, dstch);
/*flags*/
proto_tree_add_item(tdmop_tree, hf_tdmop_Flags, tvb, offset, 1, ENC_NA);
@@ -114,15 +116,15 @@ static int dissect_tdmop(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo
proto_tree_add_item(tdmop_tree, hf_tdmop_Flags_compressed, tvb, offset, 1, ENC_NA);
offset += 1;
/*sequence and delay info*/
- proto_tree_add_item(tdmop_tree, hd_tdmop_SrcDst, tvb, offset, 1, ENC_LITTLE_ENDIAN);
+ proto_tree_add_item(tdmop_tree, hf_tdmop_SrcDst, tvb, offset, 1, ENC_LITTLE_ENDIAN);
offset += 1;
- proto_tree_add_item(tdmop_tree, hd_tdmop_SeqNum, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ proto_tree_add_item(tdmop_tree, hf_tdmop_SeqNum, tvb, offset, 2, ENC_LITTLE_ENDIAN);
offset += 2;
- proto_tree_add_item(tdmop_tree, hd_tdmop_LastRecv, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ proto_tree_add_item(tdmop_tree, hf_tdmop_LastRecv, tvb, offset, 2, ENC_LITTLE_ENDIAN);
offset += 2;
- proto_tree_add_item(tdmop_tree, hd_tdmop_Delay, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ proto_tree_add_item(tdmop_tree, hf_tdmop_Delay, tvb, offset, 2, ENC_LITTLE_ENDIAN);
offset += 2;
- proto_tree_add_item(tdmop_tree, hd_tdmop_Reserved, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ proto_tree_add_item(tdmop_tree, hf_tdmop_Reserved, tvb, offset, 2, ENC_LITTLE_ENDIAN);
offset += 2;
if ((flags & TDMOP_FLAG_NO_DATA)==0)
{
@@ -247,35 +249,35 @@ void proto_register_tdmop(void)
NULL, HFILL}
},
{
- &hd_tdmop_SrcDst,
+ &hf_tdmop_SrcDst,
{ "TDMoP Short SrcDst", "tdmop.srcdst",
FT_UINT8, BASE_HEX,
NULL, 0x0,
NULL, HFILL}
},
{
- &hd_tdmop_SeqNum,
+ &hf_tdmop_SeqNum,
{ "TDMoP Sequence number", "tdmop.seqnum",
FT_UINT16, BASE_DEC,
NULL, 0x0,
NULL, HFILL}
},
{
- &hd_tdmop_LastRecv,
+ &hf_tdmop_LastRecv,
{ "TDMoP Last Received number", "tdmop.recvnumber",
FT_UINT16, BASE_DEC,
NULL, 0x0,
NULL, HFILL}
},
{
- &hd_tdmop_Delay,
+ &hf_tdmop_Delay,
{ "TDMoP Delay", "tdmop.delay",
FT_UINT16, BASE_DEC,
NULL, 0x0,
NULL, HFILL}
},
{
- &hd_tdmop_Reserved,
+ &hf_tdmop_Reserved,
{ "TDMoP Reserved", "tdmop.reserved",
FT_UINT16, BASE_DEC,
NULL, 0x0,
@@ -303,6 +305,7 @@ void proto_register_tdmop(void)
proto_tdmop = proto_register_protocol ("TDMoP protocol", "TDMoP", "tdmop");
proto_register_field_array(proto_tdmop, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
+ tdmop_handle = register_dissector("tdmop", dissect_tdmop, proto_tdmop);
tdmop_module = prefs_register_protocol(proto_tdmop, proto_reg_handoff_tdmop);
prefs_register_uint_preference(tdmop_module, "d_channel",
"TDMoP D-Channel",
@@ -320,12 +323,10 @@ void proto_register_tdmop(void)
void proto_reg_handoff_tdmop(void)
{
- static dissector_handle_t tdmop_handle;
static gboolean init = FALSE;
static guint32 current_tdmop_ethertype;
if (!init)
{
- tdmop_handle = create_dissector_handle(dissect_tdmop, proto_tdmop);
dissector_add_for_decode_as_with_preference("udp.port", tdmop_handle);
if (pref_tdmop_ethertype) {