aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-simple.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-simple.c')
-rw-r--r--epan/dissectors/packet-simple.c149
1 files changed, 74 insertions, 75 deletions
diff --git a/epan/dissectors/packet-simple.c b/epan/dissectors/packet-simple.c
index e4a19ccbff..d841b8fe5e 100644
--- a/epan/dissectors/packet-simple.c
+++ b/epan/dissectors/packet-simple.c
@@ -174,71 +174,72 @@ static const value_string Link11_Role[] = {
{ 0, NULL },
};
-static int proto_simple = -1;
+static int proto_simple;
+static dissector_handle_t simple_dissector_handle;
static dissector_handle_t link16_handle;
-static gint hf_simple_sync_byte_1 = -1;
-static gint hf_simple_sync_byte_2 = -1;
-static gint hf_simple_length = -1;
-static gint hf_simple_sequence_number = -1;
-static gint hf_simple_src_node = -1;
-static gint hf_simple_src_subnode = -1;
-static gint hf_simple_dst_node = -1;
-static gint hf_simple_dst_subnode = -1;
-static gint hf_simple_packet_size = -1;
-static gint hf_simple_packet_type = -1;
-static gint hf_simple_transit_time = -1;
-static gint hf_simple_link16_subtype = -1;
-static gint hf_simple_link16_rc = -1;
-static gint hf_simple_link16_network = -1;
-static gint hf_simple_link16_ssc2 = -1;
-static gint hf_simple_link16_npg = -1;
-static gint hf_simple_link16_ssc1 = -1;
-static gint hf_simple_link16_stn = -1;
-static gint hf_simple_link16_word_count = -1;
-static gint hf_simple_link16_loopback_id = -1;
-static gint hf_simple_status_subtype = -1;
-static gint hf_simple_status_word_count = -1;
-static gint hf_simple_status_name = -1;
-static gint hf_simple_status_time_hours = -1;
-static gint hf_simple_status_node_id = -1;
-static gint hf_simple_status_time_seconds = -1;
-static gint hf_simple_status_time_minutes = -1;
-static gint hf_simple_status_security_level = -1;
-static gint hf_simple_status_node_entry_flag = -1;
-static gint hf_simple_status_relay_hop = -1;
-static gint hf_simple_status_dx_flag_system_messages = -1;
-static gint hf_simple_status_dx_flag_common_tims_bims = -1;
-static gint hf_simple_status_dx_flag_common_toms_boms = -1;
-static gint hf_simple_status_dx_flag_simple_receive = -1;
-static gint hf_simple_status_dx_flag_simple_transmit = -1;
-static gint hf_simple_status_dx_flag_all_tims_bims = -1;
-static gint hf_simple_status_dx_flag_all_toms_boms = -1;
-static gint hf_simple_status_dx_file_id = -1;
-static gint hf_simple_status_spare_1 = -1;
-static gint hf_simple_status_link16_terminal_type = -1;
-static gint hf_simple_status_link16_role = -1;
-static gint hf_simple_status_link16_sync_status = -1;
-static gint hf_simple_status_link16_terminal_host_status = -1;
-static gint hf_simple_status_link16_stn = -1;
-static gint hf_simple_status_spare_2 = -1;
-static gint hf_simple_status_link11_dts_type = -1;
-static gint hf_simple_status_link11_role = -1;
-static gint hf_simple_status_link11_pu = -1;
-static gint hf_simple_status_link11_dts_host_status = -1;
-static gint hf_simple_status_spare_3 = -1;
-static gint hf_simple_checksum = -1;
-static gint hf_simple_checksum_status = -1;
-
-static gint ett_simple = -1;
-static gint ett_packet = -1;
-static gint ett_simple_status_dx_flag = -1;
-
-static expert_field ei_simple_sync_bytes_bad = EI_INIT;
-static expert_field ei_simple_length_bad = EI_INIT;
-static expert_field ei_simple_packet_size_bad = EI_INIT;
-static expert_field ei_simple_checksum_bad = EI_INIT;
+static gint hf_simple_sync_byte_1;
+static gint hf_simple_sync_byte_2;
+static gint hf_simple_length;
+static gint hf_simple_sequence_number;
+static gint hf_simple_src_node;
+static gint hf_simple_src_subnode;
+static gint hf_simple_dst_node;
+static gint hf_simple_dst_subnode;
+static gint hf_simple_packet_size;
+static gint hf_simple_packet_type;
+static gint hf_simple_transit_time;
+static gint hf_simple_link16_subtype;
+static gint hf_simple_link16_rc;
+static gint hf_simple_link16_network;
+static gint hf_simple_link16_ssc2;
+static gint hf_simple_link16_npg;
+static gint hf_simple_link16_ssc1;
+static gint hf_simple_link16_stn;
+static gint hf_simple_link16_word_count;
+static gint hf_simple_link16_loopback_id;
+static gint hf_simple_status_subtype;
+static gint hf_simple_status_word_count;
+static gint hf_simple_status_name;
+static gint hf_simple_status_time_hours;
+static gint hf_simple_status_node_id;
+static gint hf_simple_status_time_seconds;
+static gint hf_simple_status_time_minutes;
+static gint hf_simple_status_security_level;
+static gint hf_simple_status_node_entry_flag;
+static gint hf_simple_status_relay_hop;
+static gint hf_simple_status_dx_flag_system_messages;
+static gint hf_simple_status_dx_flag_common_tims_bims;
+static gint hf_simple_status_dx_flag_common_toms_boms;
+static gint hf_simple_status_dx_flag_simple_receive;
+static gint hf_simple_status_dx_flag_simple_transmit;
+static gint hf_simple_status_dx_flag_all_tims_bims;
+static gint hf_simple_status_dx_flag_all_toms_boms;
+static gint hf_simple_status_dx_file_id;
+static gint hf_simple_status_spare_1;
+static gint hf_simple_status_link16_terminal_type;
+static gint hf_simple_status_link16_role;
+static gint hf_simple_status_link16_sync_status;
+static gint hf_simple_status_link16_terminal_host_status;
+static gint hf_simple_status_link16_stn;
+static gint hf_simple_status_spare_2;
+static gint hf_simple_status_link11_dts_type;
+static gint hf_simple_status_link11_role;
+static gint hf_simple_status_link11_pu;
+static gint hf_simple_status_link11_dts_host_status;
+static gint hf_simple_status_spare_3;
+static gint hf_simple_checksum;
+static gint hf_simple_checksum_status;
+
+static gint ett_simple;
+static gint ett_packet;
+static gint ett_simple_status_dx_flag;
+
+static expert_field ei_simple_sync_bytes_bad;
+static expert_field ei_simple_length_bad;
+static expert_field ei_simple_packet_size_bad;
+static expert_field ei_simple_checksum_bad;
static void dissect_simple_link16(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, gint offset)
{
@@ -317,7 +318,7 @@ static void dissect_simple_status(tvbuff_t *tvb, packet_info *pinfo, proto_tree
name = tvb_get_stringzpad(pinfo->pool, tvb, offset, SIMPLE_STATUS_NAME_LEN, ENC_ASCII|ENC_NA);
col_append_fstr(pinfo->cinfo, COL_INFO, ", Name: %s", name);
- proto_tree_add_item(tree, hf_simple_status_name, tvb, offset, SIMPLE_STATUS_NAME_LEN, ENC_ASCII|ENC_NA);
+ proto_tree_add_item(tree, hf_simple_status_name, tvb, offset, SIMPLE_STATUS_NAME_LEN, ENC_ASCII);
offset += SIMPLE_STATUS_NAME_LEN;
proto_tree_add_item(tree, hf_simple_status_time_hours, tvb, offset, 1, ENC_NA);
@@ -344,7 +345,7 @@ static void dissect_simple_status(tvbuff_t *tvb, packet_info *pinfo, proto_tree
proto_tree_add_bitmask_text(tree, tvb, offset, 2, "Data Extraction Flags", NULL, ett_simple_status_dx_flag, simple_status_dx_flag_fields, ENC_LITTLE_ENDIAN, 0);
offset += 2;
- proto_tree_add_item(tree, hf_simple_status_dx_file_id, tvb, offset, 8, ENC_ASCII|ENC_NA);
+ proto_tree_add_item(tree, hf_simple_status_dx_file_id, tvb, offset, 8, ENC_ASCII);
offset += 8;
proto_tree_add_item(tree, hf_simple_status_spare_1, tvb, offset, 2, ENC_NA);
@@ -464,7 +465,7 @@ static int dissect_simple(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v
proto_tree_add_item(simple_tree, hf_simple_transit_time, tvb, offset, 2, ENC_LITTLE_ENDIAN);
offset += 2;
- packet_type_string = val_to_str(packet_type, PacketType_Strings, "Unknown");
+ packet_type_string = val_to_str_const(packet_type, PacketType_Strings, "Unknown");
col_add_fstr(pinfo->cinfo, COL_INFO, "%s", packet_type_string);
packet_tree = proto_tree_add_subtree_format(simple_tree, tvb, offset, packet_size, ett_packet, NULL, "%s Packet", packet_type_string);
@@ -522,7 +523,7 @@ void proto_register_simple(void)
{ "Subtype", "simple.link16.subtype", FT_UINT8, BASE_DEC, VALS(Link16_Subtype_Strings), 0x0,
NULL, HFILL }},
{ &hf_simple_link16_rc,
- { "R/C Flag", "simple.link16.rc", FT_BOOLEAN, BASE_DEC, TFS(&tfs_required_not_required), 0x0,
+ { "R/C Flag", "simple.link16.rc", FT_BOOLEAN, BASE_NONE, TFS(&tfs_required_not_required), 0x0,
NULL, HFILL }},
{ &hf_simple_link16_network,
{ "Network", "simple.link16.network", FT_UINT8, BASE_DEC, NULL, 0x0,
@@ -576,25 +577,25 @@ void proto_register_simple(void)
{ "Relay Hop", "simple.status.relay_hop", FT_BYTES, BASE_NONE, NULL, 0x0,
NULL, HFILL }},
{ &hf_simple_status_dx_flag_system_messages,
- { "DX System Messages", "simple.status.dx_flag.system_messages", FT_BOOLEAN, 16, NULL, 0x1,
+ { "DX System Messages", "simple.status.dx_flag.system_messages", FT_BOOLEAN, 16, NULL, 0x0001,
NULL, HFILL }},
{ &hf_simple_status_dx_flag_common_tims_bims,
- { "DX Common TIMS/BIMS", "simple.status.dx_flag.common_tims_bims", FT_BOOLEAN, 16, NULL, 0x2,
+ { "DX Common TIMS/BIMS", "simple.status.dx_flag.common_tims_bims", FT_BOOLEAN, 16, NULL, 0x0002,
NULL, HFILL }},
{ &hf_simple_status_dx_flag_common_toms_boms,
- { "DX Common TOMS/BOMS", "simple.status.dx_flag.common_toms_boms", FT_BOOLEAN, 16, NULL, 0x4,
+ { "DX Common TOMS/BOMS", "simple.status.dx_flag.common_toms_boms", FT_BOOLEAN, 16, NULL, 0x0004,
NULL, HFILL }},
{ &hf_simple_status_dx_flag_simple_receive,
{ "DX SIMPLE Receive", "simple.status.dx_flag.simple_receive", FT_BOOLEAN, 16, NULL, 0x8,
NULL, HFILL }},
{ &hf_simple_status_dx_flag_simple_transmit,
- { "DX SIMPLE Transmit", "simple.status.dx_flag.simple_transmit", FT_BOOLEAN, 16, NULL, 0x10,
+ { "DX SIMPLE Transmit", "simple.status.dx_flag.simple_transmit", FT_BOOLEAN, 16, NULL, 0x0010,
NULL, HFILL }},
{ &hf_simple_status_dx_flag_all_tims_bims,
- { "DX All TIMS/BIMS", "simple.status.dx_flag.all_tims_bims", FT_BOOLEAN, 16, NULL, 0x20,
+ { "DX All TIMS/BIMS", "simple.status.dx_flag.all_tims_bims", FT_BOOLEAN, 16, NULL, 0x0020,
NULL, HFILL }},
{ &hf_simple_status_dx_flag_all_toms_boms,
- { "DX All TOMS/BOMS", "simple.status.dx_flag.all_toms_boms", FT_BOOLEAN, 16, NULL, 0x40,
+ { "DX All TOMS/BOMS", "simple.status.dx_flag.all_toms_boms", FT_BOOLEAN, 16, NULL, 0x0040,
NULL, HFILL }},
{ &hf_simple_status_dx_file_id,
{ "DX File Id", "simple.status.dx_file_id", FT_STRING, BASE_NONE, NULL, 0x0,
@@ -660,13 +661,11 @@ void proto_register_simple(void)
proto_register_subtree_array(ett, array_length(ett));
expert_simple = expert_register_protocol(proto_simple);
expert_register_field_array(expert_simple, ei, array_length(ei));
- register_dissector("simple", dissect_simple, proto_simple);
+ simple_dissector_handle = register_dissector("simple", dissect_simple, proto_simple);
}
void proto_reg_handoff_simple(void)
{
- dissector_handle_t simple_dissector_handle;
- simple_dissector_handle = create_dissector_handle(dissect_simple, proto_simple);
dissector_add_for_decode_as_with_preference("udp.port", simple_dissector_handle);
dissector_add_for_decode_as_with_preference("tcp.port", simple_dissector_handle);