diff options
Diffstat (limited to 'epan/dissectors/packet-tdmop.c')
-rw-r--r-- | epan/dissectors/packet-tdmop.c | 65 |
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) { |