aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-lbtrm.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-lbtrm.c')
-rw-r--r--epan/dissectors/packet-lbtrm.c213
1 files changed, 107 insertions, 106 deletions
diff --git a/epan/dissectors/packet-lbtrm.c b/epan/dissectors/packet-lbtrm.c
index 55e715af0d..928dd91e67 100644
--- a/epan/dissectors/packet-lbtrm.c
+++ b/epan/dissectors/packet-lbtrm.c
@@ -27,7 +27,7 @@ void proto_register_lbtrm(void);
void proto_reg_handoff_lbtrm(void);
/* Protocol handle */
-static int proto_lbtrm = -1;
+static int proto_lbtrm;
/* Dissector handle */
static dissector_handle_t lbtrm_dissector_handle;
@@ -47,7 +47,7 @@ static lbtrm_transport_t * lbtrm_transport_unicast_find(const address * source_a
conversation_t * conv = NULL;
wmem_tree_t * session_tree = NULL;
- conv = find_conversation(frame, source_address, &lbtrm_null_address, ENDPOINT_UDP, source_port, 0, 0);
+ conv = find_conversation(frame, source_address, &lbtrm_null_address, CONVERSATION_UDP, source_port, 0, 0);
if (conv != NULL)
{
if (frame > conv->last_frame)
@@ -69,10 +69,10 @@ static void lbtrm_transport_unicast_add(const address * source_address, guint16
wmem_tree_t * session_tree = NULL;
lbtrm_transport_t * transport_entry = NULL;
- conv = find_conversation(frame, source_address, &lbtrm_null_address, ENDPOINT_UDP, source_port, 0, 0);
+ conv = find_conversation(frame, source_address, &lbtrm_null_address, CONVERSATION_UDP, source_port, 0, 0);
if (conv == NULL)
{
- conv = conversation_new(frame, source_address, &lbtrm_null_address, ENDPOINT_UDP, source_port, 0, 0);
+ conv = conversation_new(frame, source_address, &lbtrm_null_address, CONVERSATION_UDP, source_port, 0, 0);
}
session_tree = (wmem_tree_t *) conversation_get_proto_data(conv, proto_lbtrm);
if (session_tree == NULL)
@@ -93,7 +93,7 @@ static lbtrm_transport_t * lbtrm_transport_find(const address * source_address,
wmem_tree_t * session_tree = NULL;
conversation_t * conv = NULL;
- conv = find_conversation(frame, source_address, multicast_group, ENDPOINT_UDP, source_port, dest_port, 0);
+ conv = find_conversation(frame, source_address, multicast_group, CONVERSATION_UDP, source_port, dest_port, 0);
if (conv != NULL)
{
if (frame > conv->last_frame)
@@ -115,10 +115,10 @@ lbtrm_transport_t * lbtrm_transport_add(const address * source_address, guint16
conversation_t * conv = NULL;
wmem_tree_t * session_tree = NULL;
- conv = find_conversation(frame, source_address, multicast_group, ENDPOINT_UDP, source_port, dest_port, 0);
+ conv = find_conversation(frame, source_address, multicast_group, CONVERSATION_UDP, source_port, dest_port, 0);
if (conv == NULL)
{
- conv = conversation_new(frame, source_address, multicast_group, ENDPOINT_UDP, source_port, dest_port, 0);
+ conv = conversation_new(frame, source_address, multicast_group, CONVERSATION_UDP, source_port, dest_port, 0);
}
if (frame > conv->last_frame)
{
@@ -328,7 +328,7 @@ static lbm_transport_frame_t * lbtrm_transport_frame_add(lbtrm_transport_t * tra
static char * lbtrm_transport_source_string_format(wmem_allocator_t *pool, const address * source_address, guint16 source_port, guint32 session_id, const address * multicast_group, guint16 dest_port)
{
/* Returns a packet-scoped string. */
- return (wmem_strdup_printf(pool, "LBTRM:%s:%" G_GUINT16_FORMAT ":%08x:%s:%" G_GUINT16_FORMAT, address_to_str(pool, source_address), source_port, session_id,
+ return (wmem_strdup_printf(pool, "LBTRM:%s:%" PRIu16 ":%08x:%s:%" PRIu16, address_to_str(pool, source_address), source_port, session_id,
address_to_str(pool, multicast_group), dest_port));
}
@@ -633,7 +633,7 @@ static uat_field_t lbtrm_tag_array[] =
/*----------------------------------------------------------------------------*/
/* UAT callback functions. */
/*----------------------------------------------------------------------------*/
-static gboolean lbtrm_tag_update_cb(void * record, char * * error_string)
+static bool lbtrm_tag_update_cb(void * record, char * * error_string)
{
lbtrm_tag_entry_t * tag = (lbtrm_tag_entry_t *)record;
@@ -770,93 +770,93 @@ static char * lbtrm_tag_find(packet_info * pinfo)
/*----------------------------------------------------------------------------*/
/* Dissector tree handles */
-static gint ett_lbtrm = -1;
-static gint ett_lbtrm_hdr = -1;
-static gint ett_lbtrm_data = -1;
-static gint ett_lbtrm_data_flags_fec_type = -1;
-static gint ett_lbtrm_sm = -1;
-static gint ett_lbtrm_sm_flags_fec_type = -1;
-static gint ett_lbtrm_nak = -1;
-static gint ett_lbtrm_nak_list = -1;
-static gint ett_lbtrm_ncf = -1;
-static gint ett_lbtrm_ncf_list = -1;
-static gint ett_lbtrm_transport = -1;
-static gint ett_lbtrm_transport_sqn = -1;
+static gint ett_lbtrm;
+static gint ett_lbtrm_hdr;
+static gint ett_lbtrm_data;
+static gint ett_lbtrm_data_flags_fec_type;
+static gint ett_lbtrm_sm;
+static gint ett_lbtrm_sm_flags_fec_type;
+static gint ett_lbtrm_nak;
+static gint ett_lbtrm_nak_list;
+static gint ett_lbtrm_ncf;
+static gint ett_lbtrm_ncf_list;
+static gint ett_lbtrm_transport;
+static gint ett_lbtrm_transport_sqn;
/* Dissector field handles */
-static int hf_lbtrm_channel = -1;
-static int hf_lbtrm_tag = -1;
-static int hf_lbtrm_hdr = -1;
-static int hf_lbtrm_hdr_ver = -1;
-static int hf_lbtrm_hdr_type = -1;
-static int hf_lbtrm_hdr_next_hdr = -1;
-static int hf_lbtrm_hdr_ucast_port = -1;
-static int hf_lbtrm_hdr_session_id = -1;
-static int hf_lbtrm_data = -1;
-static int hf_lbtrm_data_sqn = -1;
-static int hf_lbtrm_data_trail_sqn = -1;
-static int hf_lbtrm_data_flags_fec_type = -1;
-static int hf_lbtrm_data_flags_fec_type_ucast_naks = -1;
-static int hf_lbtrm_data_flags_fec_type_rx = -1;
-static int hf_lbtrm_data_flags_tgsz = -1;
-static int hf_lbtrm_data_fec_symbol = -1;
-static int hf_lbtrm_sm = -1;
-static int hf_lbtrm_sm_sm_sqn = -1;
-static int hf_lbtrm_sm_lead_sqn = -1;
-static int hf_lbtrm_sm_trail_sqn = -1;
-static int hf_lbtrm_sm_flags_fec_type = -1;
-static int hf_lbtrm_sm_flags_fec_type_ucast_naks = -1;
-static int hf_lbtrm_sm_flags_tgsz = -1;
-static int hf_lbtrm_sm_reserved = -1;
-static int hf_lbtrm_nak = -1;
-static int hf_lbtrm_nak_num_naks = -1;
-static int hf_lbtrm_nak_format = -1;
-static int hf_lbtrm_nak_list = -1;
-static int hf_lbtrm_nak_list_nak = -1;
-static int hf_lbtrm_ncf = -1;
-static int hf_lbtrm_ncf_trail_sqn = -1;
-static int hf_lbtrm_ncf_num_ncfs = -1;
-static int hf_lbtrm_ncf_reserved = -1;
-static int hf_lbtrm_ncf_reason = -1;
-static int hf_lbtrm_ncf_format = -1;
-static int hf_lbtrm_ncf_list = -1;
-static int hf_lbtrm_ncf_list_ncf = -1;
-static int hf_lbtrm_analysis = -1;
-static int hf_lbtrm_analysis_prev_frame = -1;
-static int hf_lbtrm_analysis_prev_data_frame = -1;
-static int hf_lbtrm_analysis_prev_sm_frame = -1;
-static int hf_lbtrm_analysis_prev_nak_frame = -1;
-static int hf_lbtrm_analysis_prev_ncf_frame = -1;
-static int hf_lbtrm_analysis_next_frame = -1;
-static int hf_lbtrm_analysis_next_data_frame = -1;
-static int hf_lbtrm_analysis_next_sm_frame = -1;
-static int hf_lbtrm_analysis_next_nak_frame = -1;
-static int hf_lbtrm_analysis_next_ncf_frame = -1;
-static int hf_lbtrm_analysis_sqn = -1;
-static int hf_lbtrm_analysis_sqn_frame = -1;
-static int hf_lbtrm_analysis_data_retransmission = -1;
-static int hf_lbtrm_analysis_data_sqn_gap = -1;
-static int hf_lbtrm_analysis_data_ooo_gap = -1;
-static int hf_lbtrm_analysis_data_duplicate = -1;
-static int hf_lbtrm_analysis_sm_sqn_gap = -1;
-static int hf_lbtrm_analysis_sm_ooo_gap = -1;
-static int hf_lbtrm_analysis_sm_duplicate = -1;
+static int hf_lbtrm_channel;
+static int hf_lbtrm_tag;
+static int hf_lbtrm_hdr;
+static int hf_lbtrm_hdr_ver;
+static int hf_lbtrm_hdr_type;
+static int hf_lbtrm_hdr_next_hdr;
+static int hf_lbtrm_hdr_ucast_port;
+static int hf_lbtrm_hdr_session_id;
+static int hf_lbtrm_data;
+static int hf_lbtrm_data_sqn;
+static int hf_lbtrm_data_trail_sqn;
+static int hf_lbtrm_data_flags_fec_type;
+static int hf_lbtrm_data_flags_fec_type_ucast_naks;
+static int hf_lbtrm_data_flags_fec_type_rx;
+static int hf_lbtrm_data_flags_tgsz;
+static int hf_lbtrm_data_fec_symbol;
+static int hf_lbtrm_sm;
+static int hf_lbtrm_sm_sm_sqn;
+static int hf_lbtrm_sm_lead_sqn;
+static int hf_lbtrm_sm_trail_sqn;
+static int hf_lbtrm_sm_flags_fec_type;
+static int hf_lbtrm_sm_flags_fec_type_ucast_naks;
+static int hf_lbtrm_sm_flags_tgsz;
+static int hf_lbtrm_sm_reserved;
+static int hf_lbtrm_nak;
+static int hf_lbtrm_nak_num_naks;
+static int hf_lbtrm_nak_format;
+static int hf_lbtrm_nak_list;
+static int hf_lbtrm_nak_list_nak;
+static int hf_lbtrm_ncf;
+static int hf_lbtrm_ncf_trail_sqn;
+static int hf_lbtrm_ncf_num_ncfs;
+static int hf_lbtrm_ncf_reserved;
+static int hf_lbtrm_ncf_reason;
+static int hf_lbtrm_ncf_format;
+static int hf_lbtrm_ncf_list;
+static int hf_lbtrm_ncf_list_ncf;
+static int hf_lbtrm_analysis;
+static int hf_lbtrm_analysis_prev_frame;
+static int hf_lbtrm_analysis_prev_data_frame;
+static int hf_lbtrm_analysis_prev_sm_frame;
+static int hf_lbtrm_analysis_prev_nak_frame;
+static int hf_lbtrm_analysis_prev_ncf_frame;
+static int hf_lbtrm_analysis_next_frame;
+static int hf_lbtrm_analysis_next_data_frame;
+static int hf_lbtrm_analysis_next_sm_frame;
+static int hf_lbtrm_analysis_next_nak_frame;
+static int hf_lbtrm_analysis_next_ncf_frame;
+static int hf_lbtrm_analysis_sqn;
+static int hf_lbtrm_analysis_sqn_frame;
+static int hf_lbtrm_analysis_data_retransmission;
+static int hf_lbtrm_analysis_data_sqn_gap;
+static int hf_lbtrm_analysis_data_ooo_gap;
+static int hf_lbtrm_analysis_data_duplicate;
+static int hf_lbtrm_analysis_sm_sqn_gap;
+static int hf_lbtrm_analysis_sm_ooo_gap;
+static int hf_lbtrm_analysis_sm_duplicate;
/* Expert info handles */
-static expert_field ei_lbtrm_analysis_ncf = EI_INIT;
-static expert_field ei_lbtrm_analysis_ncf_ncf = EI_INIT;
-static expert_field ei_lbtrm_analysis_nak = EI_INIT;
-static expert_field ei_lbtrm_analysis_nak_nak = EI_INIT;
-static expert_field ei_lbtrm_analysis_sm = EI_INIT;
-static expert_field ei_lbtrm_analysis_rx = EI_INIT;
-static expert_field ei_lbtrm_analysis_invalid_value = EI_INIT;
-static expert_field ei_lbtrm_analysis_data_rx = EI_INIT;
-static expert_field ei_lbtrm_analysis_data_gap = EI_INIT;
-static expert_field ei_lbtrm_analysis_data_ooo = EI_INIT;
-static expert_field ei_lbtrm_analysis_data_dup = EI_INIT;
-static expert_field ei_lbtrm_analysis_sm_gap = EI_INIT;
-static expert_field ei_lbtrm_analysis_sm_ooo = EI_INIT;
-static expert_field ei_lbtrm_analysis_sm_dup = EI_INIT;
+static expert_field ei_lbtrm_analysis_ncf;
+static expert_field ei_lbtrm_analysis_ncf_ncf;
+static expert_field ei_lbtrm_analysis_nak;
+static expert_field ei_lbtrm_analysis_nak_nak;
+static expert_field ei_lbtrm_analysis_sm;
+static expert_field ei_lbtrm_analysis_rx;
+static expert_field ei_lbtrm_analysis_invalid_value;
+static expert_field ei_lbtrm_analysis_data_rx;
+static expert_field ei_lbtrm_analysis_data_gap;
+static expert_field ei_lbtrm_analysis_data_ooo;
+static expert_field ei_lbtrm_analysis_data_dup;
+static expert_field ei_lbtrm_analysis_sm_gap;
+static expert_field ei_lbtrm_analysis_sm_ooo;
+static expert_field ei_lbtrm_analysis_sm_dup;
/*----------------------------------------------------------------------------*/
/* LBT-RM data payload dissection functions. */
@@ -1072,7 +1072,7 @@ typedef struct
guint32 current_frame;
} lbtrm_sqn_frame_list_callback_data_t;
-static gboolean dissect_lbtrm_sqn_frame_list_callback(const void *key _U_, void * frame, void * user_data)
+static bool dissect_lbtrm_sqn_frame_list_callback(const void *key _U_, void * frame, void * user_data)
{
lbtrm_sqn_frame_list_callback_data_t * cb_data = (lbtrm_sqn_frame_list_callback_data_t *) user_data;
proto_item * transport_item = NULL;
@@ -1082,7 +1082,7 @@ static gboolean dissect_lbtrm_sqn_frame_list_callback(const void *key _U_, void
{
if (sqn_frame->retransmission)
{
- transport_item = proto_tree_add_uint_format_value(cb_data->tree, hf_lbtrm_analysis_sqn_frame, cb_data->tvb, 0, 0, sqn_frame->frame, "%" G_GUINT32_FORMAT " (RX)", sqn_frame->frame);
+ transport_item = proto_tree_add_uint_format_value(cb_data->tree, hf_lbtrm_analysis_sqn_frame, cb_data->tvb, 0, 0, sqn_frame->frame, "%" PRIu32 " (RX)", sqn_frame->frame);
}
else
{
@@ -1140,13 +1140,13 @@ static int dissect_lbtrm(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
session_id = tvb_get_ntohl(tvb, O_LBTRM_HDR_T_SESSION_ID);
if (tag_name != NULL)
{
- lbtrm_item = proto_tree_add_protocol_format(tree, proto_lbtrm, tvb, offset, -1, "LBT-RM Protocol (Tag: %s): Version %u, Type %s: Source Unicast Port %" G_GUINT16_FORMAT ", Session ID 0x%08x",
+ lbtrm_item = proto_tree_add_protocol_format(tree, proto_lbtrm, tvb, offset, -1, "LBT-RM Protocol (Tag: %s): Version %u, Type %s: Source Unicast Port %" PRIu16 ", Session ID 0x%08x",
tag_name, LBTRM_HDR_VER(ver_type), val_to_str(packet_type, lbtrm_packet_type, "Unknown (0x%02x)"),
src_port, session_id);
}
else
{
- lbtrm_item = proto_tree_add_protocol_format(tree, proto_lbtrm, tvb, offset, -1, "LBT-RM Protocol: Version %u, Type %s: Source Unicast Port %" G_GUINT16_FORMAT ", Session ID 0x%08x",
+ lbtrm_item = proto_tree_add_protocol_format(tree, proto_lbtrm, tvb, offset, -1, "LBT-RM Protocol: Version %u, Type %s: Source Unicast Port %" PRIu16 ", Session ID 0x%08x",
LBTRM_HDR_VER(ver_type), val_to_str(packet_type, lbtrm_packet_type, "Unknown (0x%02x)"),
src_port, session_id);
}
@@ -1213,24 +1213,24 @@ static int dissect_lbtrm(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
flags_fec_type = tvb_get_guint8(tvb, L_LBTRM_HDR_T + O_LBTRM_DATA_HDR_T_FLAGS_FEC_TYPE);
if ((flags_fec_type & LBTRM_DATA_RETRANSMISSION_FLAG) != 0)
{
- col_append_sep_fstr(pinfo->cinfo, COL_INFO, " ", "DATA(RX) sqn 0x%x Port %" G_GUINT16_FORMAT " ID 0x%08x", sequence, src_port, session_id);
+ col_append_sep_fstr(pinfo->cinfo, COL_INFO, " ", "DATA(RX) sqn 0x%x Port %" PRIu16 " ID 0x%08x", sequence, src_port, session_id);
}
else
{
- col_append_sep_fstr(pinfo->cinfo, COL_INFO, " ", "DATA sqn 0x%x Port %" G_GUINT16_FORMAT " ID 0x%08x", sequence, src_port, session_id);
+ col_append_sep_fstr(pinfo->cinfo, COL_INFO, " ", "DATA sqn 0x%x Port %" PRIu16 " ID 0x%08x", sequence, src_port, session_id);
}
break;
case LBTRM_PACKET_TYPE_SM:
sequence = tvb_get_ntohl(tvb, L_LBTRM_HDR_T + O_LBTRM_SM_HDR_T_SM_SQN);
- col_append_sep_fstr(pinfo->cinfo, COL_INFO, " ", "SM sqn 0x%x Port %" G_GUINT16_FORMAT " ID 0x%08x", sequence, src_port, session_id);
+ col_append_sep_fstr(pinfo->cinfo, COL_INFO, " ", "SM sqn 0x%x Port %" PRIu16 " ID 0x%08x", sequence, src_port, session_id);
break;
case LBTRM_PACKET_TYPE_NAK:
num_naks = tvb_get_ntohs(tvb, L_LBTRM_HDR_T + O_LBTRM_NAK_HDR_T_NUM_NAKS);
- col_append_sep_fstr(pinfo->cinfo, COL_INFO, " ", "NAK %u naks Port %" G_GUINT16_FORMAT " ID 0x%08x", num_naks, src_port, session_id);
+ col_append_sep_fstr(pinfo->cinfo, COL_INFO, " ", "NAK %u naks Port %" PRIu16 " ID 0x%08x", num_naks, src_port, session_id);
break;
case LBTRM_PACKET_TYPE_NCF:
num_ncfs = tvb_get_ntohs(tvb, L_LBTRM_HDR_T + O_LBTRM_NCF_HDR_T_NUM_NCFS);
- col_append_sep_fstr(pinfo->cinfo, COL_INFO, " ", "NCF %u ncfs Port %" G_GUINT16_FORMAT " ID 0x%08x", num_ncfs, src_port, session_id);
+ col_append_sep_fstr(pinfo->cinfo, COL_INFO, " ", "NCF %u ncfs Port %" PRIu16 " ID 0x%08x", num_ncfs, src_port, session_id);
break;
default:
col_append_sep_fstr(pinfo->cinfo, COL_INFO, " ", "Unknown (0x%02x)", packet_type);
@@ -1352,13 +1352,13 @@ static int dissect_lbtrm(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
{
transport_item = proto_tree_add_uint(transport_tree, hf_lbtrm_analysis_data_sqn_gap, tvb, 0, 0, frame->sqn_gap);
proto_item_set_generated(transport_item);
- expert_add_info_format(pinfo, transport_item, &ei_lbtrm_analysis_data_gap, "Data sequence gap (%" G_GUINT32_FORMAT ")", frame->sqn_gap);
+ expert_add_info_format(pinfo, transport_item, &ei_lbtrm_analysis_data_gap, "Data sequence gap (%" PRIu32 ")", frame->sqn_gap);
}
if (frame->ooo_gap != 0)
{
transport_item = proto_tree_add_uint(transport_tree, hf_lbtrm_analysis_data_ooo_gap, tvb, 0, 0, frame->ooo_gap);
proto_item_set_generated(transport_item);
- expert_add_info_format(pinfo, transport_item, &ei_lbtrm_analysis_data_ooo, "Data sequence out of order gap (%" G_GUINT32_FORMAT ")", frame->ooo_gap);
+ expert_add_info_format(pinfo, transport_item, &ei_lbtrm_analysis_data_ooo, "Data sequence out of order gap (%" PRIu32 ")", frame->ooo_gap);
}
if (frame->duplicate)
{
@@ -1400,13 +1400,13 @@ static int dissect_lbtrm(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
{
transport_item = proto_tree_add_uint(transport_tree, hf_lbtrm_analysis_sm_sqn_gap, tvb, 0, 0, frame->sqn_gap);
proto_item_set_generated(transport_item);
- expert_add_info_format(pinfo, transport_item, &ei_lbtrm_analysis_sm_gap, "SM sequence gap (%" G_GUINT32_FORMAT ")", frame->sqn_gap);
+ expert_add_info_format(pinfo, transport_item, &ei_lbtrm_analysis_sm_gap, "SM sequence gap (%" PRIu32 ")", frame->sqn_gap);
}
if (frame->ooo_gap != 0)
{
transport_item = proto_tree_add_uint(transport_tree, hf_lbtrm_analysis_sm_ooo_gap, tvb, 0, 0, frame->ooo_gap);
proto_item_set_generated(transport_item);
- expert_add_info_format(pinfo, transport_item, &ei_lbtrm_analysis_sm_ooo, "SM sequence out of order gap (%" G_GUINT32_FORMAT ")", frame->ooo_gap);
+ expert_add_info_format(pinfo, transport_item, &ei_lbtrm_analysis_sm_ooo, "SM sequence out of order gap (%" PRIu32 ")", frame->ooo_gap);
}
if (frame->duplicate)
{
@@ -1720,6 +1720,8 @@ void proto_register_lbtrm(void)
expert_lbtrm = expert_register_protocol(proto_lbtrm);
expert_register_field_array(expert_lbtrm, ei, array_length(ei));
+ lbtrm_dissector_handle = register_dissector("lbtrm", dissect_lbtrm, proto_lbtrm);
+
lbtrm_module = prefs_register_protocol_subtree("29West", proto_lbtrm, proto_reg_handoff_lbtrm);
ws_inet_pton4(LBTRM_DEFAULT_MC_ADDRESS_LOW, &addr);
lbtrm_mc_address_low_host = g_ntohl(addr);
@@ -1853,7 +1855,6 @@ void proto_reg_handoff_lbtrm(void)
if (!already_registered)
{
- lbtrm_dissector_handle = create_dissector_handle(dissect_lbtrm, proto_lbtrm);
dissector_add_for_decode_as_with_preference("udp.port", lbtrm_dissector_handle);
heur_dissector_add("udp", test_lbtrm_packet, "LBT Reliable Multicast over UDP", "lbtrm_udp", proto_lbtrm, HEURISTIC_ENABLE);
lbtrm_tap_handle = register_tap("lbm_lbtrm");