Conversion of random proto_tree_add_text calls.

Change-Id: I6505ce34de84bfe46d5bc7b4d6a3c6044f3fb4b5
Reviewed-on: https://code.wireshark.org/review/10041
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
This commit is contained in:
Michael Mann 2015-08-15 09:39:05 -04:00
parent 8b4572728d
commit 2e2129a914
7 changed files with 159 additions and 163 deletions

View File

@ -221,6 +221,7 @@ static int hf_ansi_637_trans_addr_param_number_mode = -1;
static int hf_ansi_637_trans_addr_param_ton = -1;
static int hf_ansi_637_trans_addr_param_plan = -1;
static int hf_ansi_637_trans_addr_param_num_fields = -1;
static int hf_ansi_637_trans_addr_param_num_fields07f8 = -1;
static int hf_ansi_637_trans_addr_param_number = -1;
static int hf_ansi_637_trans_subaddr_type = -1;
static int hf_ansi_637_trans_subaddr_odd_even_ind = -1;
@ -275,6 +276,7 @@ static int hf_ansi_637_tele_cb_num_digit_mode = -1;
static int hf_ansi_637_tele_cb_num_ton = -1;
static int hf_ansi_637_tele_cb_num_plan = -1;
static int hf_ansi_637_tele_cb_num_num_fields = -1;
static int hf_ansi_637_tele_cb_num_num_fields07f8 = -1;
static int hf_ansi_637_tele_cb_num_number = -1;
static int hf_ansi_637_tele_msg_display_mode = -1;
static int hf_ansi_637_tele_msg_deposit_idx = -1;
@ -1395,21 +1397,7 @@ tele_param_cb_num(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint
oct2 = tvb_get_guint8(tvb, offset);
num_fields = ((oct & 0x7f) << 1) | ((oct2 & 0x80) >> 7);
/*
* not combined into a 16-bit field because hf_ansi_637_tele_cb_num_num_fields is used above
* and uses a different bitmask
*/
other_decode_bitfield_value(ansi_637_bigbuf, oct, 0x7f, 8);
proto_tree_add_uint_format(tree, hf_ansi_637_tele_cb_num_num_fields, tvb, offset, 1,
num_fields,
"%s = Number of fields (MSB): %u",
ansi_637_bigbuf,
num_fields);
other_decode_bitfield_value(ansi_637_bigbuf, oct2, 0x80, 8);
proto_tree_add_text(tree, tvb, offset, 1,
"%s = Number of fields (LSB)",
ansi_637_bigbuf);
proto_tree_add_item(tree, hf_ansi_637_tele_cb_num_num_fields07f8, tvb, offset, 2, ENC_BIG_ENDIAN);
oct = oct2;
odd = FALSE;
@ -2043,21 +2031,7 @@ trans_param_address(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, gui
oct2 = tvb_get_guint8(tvb, offset);
num_fields = ((oct & 0x07) << 5) | ((oct2 & 0xf8) >> 3);
/*
* not combined into a 16-bit field because hf_ansi_637_trans_addr_param_num_fields is used below
* and uses a different bitmask
*/
other_decode_bitfield_value(ansi_637_bigbuf, oct, 0x07, 8);
proto_tree_add_uint_format(tree, hf_ansi_637_trans_addr_param_num_fields, tvb, offset - 1, 1,
num_fields,
"%s = Number of fields (MSB): %u",
ansi_637_bigbuf, num_fields);
other_decode_bitfield_value(ansi_637_bigbuf, oct2, 0xf8, 8);
proto_tree_add_text(tree, tvb, offset, 1,
"%s = Number of fields (LSB)",
ansi_637_bigbuf);
proto_tree_add_item(tree, hf_ansi_637_trans_addr_param_num_fields07f8, tvb, offset, 2, ENC_BIG_ENDIAN);
if (num_fields == 0) return;
SHORT_DATA_CHECK(len - 2, num_fields);
@ -2135,17 +2109,7 @@ trans_param_address(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, gui
oct2 = tvb_get_guint8(tvb, offset);
num_fields = ((oct & 0x7f) << 1) | ((oct2 & 0x80) >> 7);
other_decode_bitfield_value(ansi_637_bigbuf, oct, 0x7f, 8);
proto_tree_add_uint_format(tree, hf_ansi_637_trans_addr_param_num_fields, tvb, offset - 1, 1,
num_fields,
"%s = Number of fields (MSB): %u",
ansi_637_bigbuf,
num_fields);
other_decode_bitfield_value(ansi_637_bigbuf, oct2, 0x80, 8);
proto_tree_add_text(tree, tvb, offset, 1,
"%s = Number of fields (LSB)",
ansi_637_bigbuf);
proto_tree_add_item(tree, hf_ansi_637_trans_addr_param_num_fields07f8, tvb, offset, 2, ENC_BIG_ENDIAN);
if (num_fields == 0) return;
@ -2190,17 +2154,7 @@ trans_param_address(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, gui
oct2 = tvb_get_guint8(tvb, offset);
num_fields = ((oct & 0x3f) << 2) | ((oct2 & 0xc0) >> 6);
other_decode_bitfield_value(ansi_637_bigbuf, oct, 0x3f, 8);
proto_tree_add_uint_format(tree, hf_ansi_637_trans_addr_param_num_fields, tvb, offset - 1, 1,
num_fields,
"%s = Number of fields (MSB): %u",
ansi_637_bigbuf,
num_fields);
other_decode_bitfield_value(ansi_637_bigbuf, oct2, 0xc0, 8);
proto_tree_add_text(tree, tvb, offset, 1,
"%s = Number of fields (LSB)",
ansi_637_bigbuf);
proto_tree_add_item(tree, hf_ansi_637_trans_addr_param_num_fields07f8, tvb, offset, 2, ENC_BIG_ENDIAN);
oct = oct2;
odd = FALSE;
@ -2850,6 +2804,11 @@ proto_register_ansi_637(void)
FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }
},
{ &hf_ansi_637_trans_addr_param_num_fields07f8,
{ "Number of fields", "ansi_637_trans.addr_param.num_fields",
FT_UINT8, BASE_DEC, NULL, 0x07F8,
NULL, HFILL }
},
{ &hf_ansi_637_trans_addr_param_number,
{ "Number", "ansi_637_trans.addr_param.number",
FT_STRING, BASE_NONE, NULL, 0,
@ -3123,6 +3082,11 @@ proto_register_ansi_637(void)
FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }
},
{ &hf_ansi_637_tele_cb_num_num_fields07f8,
{ "Number of fields", "ansi_637_tele.cb_num.num_fields",
FT_UINT8, BASE_DEC, NULL, 0x07F8,
NULL, HFILL }
},
{ &hf_ansi_637_tele_cb_num_number,
{ "Call-Back Number", "ansi_637_tele.cb_num.number",
FT_STRING, BASE_NONE, NULL, 0,

View File

@ -7276,19 +7276,18 @@ fVendorIdentifier(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint off
tag_len = fTagHeader(tvb, pinfo, offset, &tag_no, &tag_info, &lvt);
if (fUnsigned32(tvb, offset + tag_len, lvt, &val))
ti = proto_tree_add_text(tree, tvb, offset, lvt+tag_len,
"%s: %s (%u)",
subtree = proto_tree_add_subtree_format(tree, tvb, offset, lvt+tag_len,
ett_bacapp_tag, &ti, "%s: %s (%u)",
label,
val_to_str_ext_const(val, &BACnetVendorIdentifiers_ext, "Unknown Vendor"),
val);
else
ti = proto_tree_add_text(tree, tvb, offset, lvt+tag_len,
"%s - %u octets (Unsigned)", label, lvt);
subtree = proto_item_add_subtree(ti, ett_bacapp_tag);
subtree = proto_tree_add_subtree_format(tree, tvb, offset, lvt+tag_len,
ett_bacapp_tag, &ti, "%s - %u octets (Unsigned)", label, lvt);
fTagHeaderTree(tvb, pinfo, subtree, offset, &tag_no, &tag_info, &lvt);
if ((lvt < 1) || (lvt > 2)) { /* vendorIDs >= 1 and <= 2 are supported */
proto_tree_add_expert_format(tree, pinfo, &ei_bacapp_bad_length, tvb, 0, lvt,
expert_add_info_format(pinfo, ti, &ei_bacapp_bad_length,
"Wrong length indicated. Expected 1 or 2, got %u", lvt);
return offset+tag_len+lvt;
}
@ -7312,17 +7311,16 @@ fRestartReason(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint offset
tag_len = fTagHeader(tvb, pinfo, offset, &tag_no, &tag_info, &lvt);
if (fUnsigned32(tvb, offset + tag_len, lvt, &val))
ti = proto_tree_add_text(tree, tvb, offset, lvt+tag_len,
"%s: %s (%u)", label,
subtree = proto_tree_add_subtree_format(tree, tvb, offset, lvt+tag_len,
ett_bacapp_tag, &ti, "%s: %s (%u)", label,
val_to_str_const(val, BACnetRestartReason, "Unknown reason"), val);
else
ti = proto_tree_add_text(tree, tvb, offset, lvt+tag_len,
"%s - %u octets (Unsigned)", label, lvt);
subtree = proto_item_add_subtree(ti, ett_bacapp_tag);
subtree = proto_tree_add_subtree_format(tree, tvb, offset, lvt+tag_len,
ett_bacapp_tag, &ti, "%s - %u octets (Unsigned)", label, lvt);
fTagHeaderTree(tvb, pinfo, subtree, offset, &tag_no, &tag_info, &lvt);
if (lvt != 1) {
proto_tree_add_expert_format(tree, pinfo, &ei_bacapp_bad_length, tvb, 0, lvt,
expert_add_info_format(pinfo, ti, &ei_bacapp_bad_length,
"Wrong length indicated. Expected 1, got %u", lvt);
return offset+tag_len+lvt;
}

View File

@ -183,6 +183,12 @@ static int hf_bssgp_unconfim_send_state_var = -1;
static int hf_bssgp_Global_ENB_ID_PDU = -1;
static int hf_bssgp_SONtransferRequestContainer_PDU = -1;
static int hf_bssgp_selected_plmn_id = -1;
static int hf_bssgp_num_pfc = -1;
static int hf_bssgp_llc_data = -1;
static int hf_bssgp_pdu_data = -1;
static int hf_bssgp_rrlp_apdu = -1;
static int hf_bssgp_dtm_handover_command_data = -1;
static int hf_bssgp_message_elements = -1;
/* Initialize the subtree pointers */
static gint ett_bssgp = -1;
@ -198,6 +204,8 @@ static gint ett_bssgp_ra_id = -1;
static expert_field ei_bssgp_extraneous_data = EI_INIT;
static expert_field ei_bssgp_missing_mandatory_element = EI_INIT;
static expert_field ei_bssgp_not_dissected_yet = EI_INIT;
static expert_field ei_bssgp_erroneous_app_container = EI_INIT;
/* PDU type coding, v6.5.0, table 11.3.26, p 80 */
#define BSSGP_PDU_DL_UNITDATA 0x00
@ -526,7 +534,7 @@ x8f Priority Class Indicator
} \
else \
{ \
proto_tree_add_text(tree, \
proto_tree_add_expert_format(tree, pinfo, &ei_bssgp_missing_mandatory_element,\
tvb, curr_offset, 0, \
"Missing Mandatory element (0x%02x) %s%s, rest of dissection is suspect", \
EMT_iei, \
@ -914,7 +922,7 @@ de_bssgp_llc_pdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 of
if(len > 0){
next_tvb = tvb_new_subset_length(tvb, curr_offset, len);
proto_tree_add_text(tree, tvb, curr_offset, len, "LLC Data");
proto_tree_add_bytes_format(tree, hf_bssgp_llc_data, tvb, curr_offset, len, NULL, "LLC Data");
}
if(next_tvb){
@ -1030,7 +1038,7 @@ de_bssgp_pdu_in_error(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, g
proto_tree_add_item(tree, hf_bssgp_msg_type, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
curr_offset++;
proto_tree_add_text(tree, tvb, curr_offset, len-1, "PDU Data");
proto_tree_add_item(tree, hf_bssgp_pdu_data, tvb, curr_offset, len-1, ENC_NA);
return len;
}
@ -1557,7 +1565,7 @@ de_bssgp_rrlp_apdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32
if(len > 0){
next_tvb = tvb_new_subset_remaining(tvb, curr_offset);
proto_tree_add_text(tree, tvb, curr_offset, len, "RRLP APDU");
proto_tree_add_bytes_format(tree, hf_bssgp_rrlp_apdu, tvb, curr_offset, len, NULL, "RRLP APDU");
}
if(next_tvb){
@ -1829,7 +1837,7 @@ de_bssgp_ran_information_app_cont_unit(tvbuff_t *tvb, proto_tree *tree, packet_i
* PSI message content. Each message is 22 octets long.
*/
for (i=0; i < num_items; i++){
proto_tree_add_text(tree, tvb, curr_offset, 22, "PSI item %u - not dissected yet",i+1);
proto_tree_add_expert_format(tree, pinfo, &ei_bssgp_not_dissected_yet, tvb, curr_offset, 22, "PSI item %u - not dissected yet",i+1);
curr_offset+=22;
}
}else{
@ -1881,7 +1889,7 @@ de_bssgp_ran_information_app_cont_unit(tvbuff_t *tvb, proto_tree *tree, packet_i
/* Octet 3-10 Reporting Cell Identifier */
curr_offset = curr_offset + de_bssgp_cell_id(tvb, tree, pinfo, curr_offset, len, add_string, string_len);
/* Octet 11-n MBMS data channel report */
proto_tree_add_text(tree, tvb, curr_offset, len-6, "MBMS data channel report - not dissected yet");
proto_tree_add_expert_format(tree, pinfo, &ei_bssgp_not_dissected_yet, tvb, curr_offset, len-6, "MBMS data channel report - not dissected yet");
break;
case 4:
/* 11.3.63.2.4 RAN-INFORMATION Application Container for the SON Transfer Application */
@ -1928,7 +1936,7 @@ de_bssgp_ran_information_app_cont_unit(tvbuff_t *tvb, proto_tree *tree, packet_i
* UTRA SI Container: This field contains System Information Container valid for the reporting cell
* encoded as defined in TS 25.331
*/
proto_tree_add_text(tree, tvb, curr_offset, len-(curr_offset-offset), "UTRA SI Container - not dissected yet");
proto_tree_add_expert_format(tree, pinfo, &ei_bssgp_not_dissected_yet, tvb, curr_offset, len-(curr_offset-offset), "UTRA SI Container - not dissected yet");
break;
default :
@ -1995,7 +2003,7 @@ de_bssgp_ran_app_error_cont(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
proto_tree_add_item(tree, hf_bssgp_nacc_cause, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
curr_offset++;
/* Erroneous Application Container including IEI and LI */
proto_tree_add_text(tree, tvb, curr_offset, len-(curr_offset-offset), "Erroneous Application Container including IEI and LI");
proto_tree_add_expert(tree, pinfo, &ei_bssgp_erroneous_app_container, tvb, curr_offset, len-(curr_offset-offset));
break;
case 2:
/*
@ -2005,7 +2013,7 @@ de_bssgp_ran_app_error_cont(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
proto_tree_add_item(tree, hf_bssgp_s13_cause, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
curr_offset++;
/* Erroneous Application Container including IEI and LI */
proto_tree_add_text(tree, tvb, curr_offset, len-(curr_offset-offset), "Erroneous Application Container including IEI and LI");
proto_tree_add_expert(tree, pinfo, &ei_bssgp_erroneous_app_container, tvb, curr_offset, len-(curr_offset-offset));
break;
case 3:
/*
@ -2015,7 +2023,7 @@ de_bssgp_ran_app_error_cont(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
proto_tree_add_item(tree, hf_bssgp_mbms_data_ch_cause, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
curr_offset++;
/* Erroneous Application Container including IEI and LI */
proto_tree_add_text(tree, tvb, curr_offset, len-(curr_offset-offset), "Erroneous Application Container including IEI and LI");
proto_tree_add_expert(tree, pinfo, &ei_bssgp_erroneous_app_container, tvb, curr_offset, len-(curr_offset-offset));
break;
case 4:
/*
@ -2027,7 +2035,7 @@ de_bssgp_ran_app_error_cont(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
new_tvb = tvb_new_subset_remaining(tvb, curr_offset);
curr_offset = curr_offset + dissect_s1ap_SONtransferCause_PDU(new_tvb, pinfo, tree, NULL);
/* Erroneous Application Container including IEI and LI */
proto_tree_add_text(tree, tvb, curr_offset, len-(curr_offset-offset), "Erroneous Application Container including IEI and LI");
proto_tree_add_expert(tree, pinfo, &ei_bssgp_erroneous_app_container, tvb, curr_offset, len-(curr_offset-offset));
break;
case 5:
/* 11.3.64.5 Application Error Container for the UTRA SI Application*/
@ -2146,7 +2154,6 @@ static guint16
de_bssgp_pfc_flow_ctrl(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
proto_tree *pfc_tree;
proto_item *pi;
guint32 curr_offset;
guint8 num_pfc, i, pfc_len;
@ -2155,13 +2162,10 @@ de_bssgp_pfc_flow_ctrl(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
curr_offset = offset;
num_pfc = tvb_get_guint8(tvb, curr_offset);
pi = proto_tree_add_text(tree, tvb, curr_offset, 1,
"Number of PFCs: ");
if (num_pfc < 12) {
proto_item_append_text(pi, "%u", num_pfc);
proto_tree_add_uint(tree, hf_bssgp_num_pfc, tvb, curr_offset, 1, num_pfc);
}else {
proto_item_append_text(pi, "Reserved");
proto_tree_add_uint_format_value(tree, hf_bssgp_num_pfc, tvb, curr_offset, 1, num_pfc, "Reserved");
return (curr_offset-offset);
}
curr_offset++;
@ -2518,7 +2522,6 @@ static guint16
de_bssgp_pfcs_to_be_set_up_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
proto_tree *pfc_tree, *pft_tree, *abqp_tree, *arp_tree, *t10_tree;
proto_item *pi;
guint32 curr_offset;
guint8 num_pfc, i, pfc_len;
@ -2526,13 +2529,10 @@ de_bssgp_pfcs_to_be_set_up_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pi
curr_offset = offset;
num_pfc = tvb_get_guint8(tvb, curr_offset);
pi = proto_tree_add_text(tree, tvb, curr_offset, 1,
"Number of PFCs: ");
if (num_pfc < 12) {
proto_item_append_text(pi, "%u", num_pfc);
proto_tree_add_uint(tree, hf_bssgp_num_pfc, tvb, curr_offset, 1, num_pfc);
}else {
proto_item_append_text(pi, "Reserved");
proto_tree_add_uint_format_value(tree, hf_bssgp_num_pfc, tvb, curr_offset, 1, num_pfc, "Reserved");
return (len);
}
curr_offset++;
@ -2596,7 +2596,6 @@ static guint16
de_bssgp_list_of_setup_pfcs(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
proto_tree *pfc_tree;
proto_item *pi;
guint32 curr_offset;
guint8 num_pfc, i;
@ -2604,13 +2603,10 @@ de_bssgp_list_of_setup_pfcs(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo
curr_offset = offset;
num_pfc = tvb_get_guint8(tvb, curr_offset);
pi = proto_tree_add_text(tree, tvb, curr_offset, 1,
"Number of PFCs: ");
if (num_pfc < 12) {
proto_item_append_text(pi, "%u", num_pfc);
proto_tree_add_uint(tree, hf_bssgp_num_pfc, tvb, curr_offset, 1, num_pfc);
}else {
proto_item_append_text(pi, "Reserved");
proto_tree_add_uint_format_value(tree, hf_bssgp_num_pfc, tvb, curr_offset, 1, num_pfc, "Reserved");
return (curr_offset-offset);
}
curr_offset++;
@ -2945,7 +2941,6 @@ static guint16
de_bssgp_active_pfcs_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
proto_tree *pfc_tree;
proto_item *pi;
guint32 curr_offset;
guint8 num_pfc, i;
@ -2953,13 +2948,10 @@ de_bssgp_active_pfcs_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U
curr_offset = offset;
num_pfc = tvb_get_guint8(tvb, curr_offset);
pi = proto_tree_add_text(tree, tvb, curr_offset, 1,
"Number of PFCs: ");
if (num_pfc < 12) {
proto_item_append_text(pi, "%u", num_pfc);
proto_tree_add_uint(tree, hf_bssgp_num_pfc, tvb, curr_offset, 1, num_pfc);
}else {
proto_item_append_text(pi, "Reserved");
proto_tree_add_uint_format_value(tree, hf_bssgp_num_pfc, tvb, curr_offset, 1, num_pfc, "Reserved");
return (curr_offset-offset);
}
curr_offset++;
@ -3009,7 +3001,7 @@ de_bssgp_dtm_ho_cmd(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, gui
* radio interface message as defined in 3GPP TS 44.060 (carrying
* the DTM Handover to A/Gb Mode Payload)
*/
proto_tree_add_text(tree, tvb, curr_offset, len, "DTM Handover Command data");
proto_tree_add_item(tree, hf_bssgp_dtm_handover_command_data, tvb, curr_offset, len, ENC_NA);
return(len);
}
@ -6434,7 +6426,7 @@ dissect_bssgp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
*/
if (msg_fcn_p == NULL)
{
proto_tree_add_text(bssgp_tree, tvb, offset, len - offset, "Message Elements");
proto_tree_add_item(bssgp_tree, hf_bssgp_message_elements, tvb, offset, len - offset, ENC_NA);
}
else
{
@ -6918,6 +6910,37 @@ proto_register_bssgp(void)
{ "Selected PLMN ID", "bssgp.selected_plmn_id",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_bssgp_num_pfc,
{ "Number of PFCs", "bssgp.num_pfc",
FT_UINT16, BASE_DEC, NULL, 0x01ff,
NULL, HFILL }
},
{ &hf_bssgp_llc_data,
{ "LLC DATA", "bssgp.llc_data",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_bssgp_pdu_data,
{ "PDU DATA", "bssgp.pdu_data",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_bssgp_rrlp_apdu,
{ "RRLP APDU", "bssgp.rrlp_apdu",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_bssgp_dtm_handover_command_data,
{ "DTM Handover Command data", "bssgp.dtm_handover_command_data",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_bssgp_message_elements,
{ "Message Elements", "bssgp.message_elements",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
};
/* Setup protocol subtree array */
@ -6929,6 +6952,8 @@ proto_register_bssgp(void)
static ei_register_info ei[] = {
{ &ei_bssgp_extraneous_data, { "bssgp.extraneous_data", PI_PROTOCOL, PI_NOTE, "Extraneous Data, dissector bug or later version spec(report to wireshark.org)", EXPFILL }},
{ &ei_bssgp_missing_mandatory_element, { "bssgp.missing_mandatory_element", PI_PROTOCOL, PI_WARN, "Missing Mandatory element, rest of dissection is suspect", EXPFILL }},
{ &ei_bssgp_not_dissected_yet, { "bssgp.not_dissected_yet", PI_UNDECODED, PI_WARN, "Not dissected yet", EXPFILL }},
{ &ei_bssgp_erroneous_app_container, { "bssgp.erroneous_app_container", PI_PROTOCOL, PI_WARN, "Erroneous Application Container including IEI and LI", EXPFILL }},
};
expert_module_t* expert_bssgp;

View File

@ -570,6 +570,7 @@ static int hf_dcerpc_array_actual_count = -1;
static int hf_dcerpc_op = -1;
static int hf_dcerpc_referent_id32 = -1;
static int hf_dcerpc_referent_id64 = -1;
static int hf_dcerpc_null_pointer = -1;
static int hf_dcerpc_fragments = -1;
static int hf_dcerpc_fragment = -1;
static int hf_dcerpc_fragment_overlap = -1;
@ -2684,9 +2685,8 @@ dissect_ndr_pointer_cb(tvbuff_t *tvb, gint offset, packet_info *pinfo,
/* we got a NULL pointer */
if (id == 0) {
proto_tree_add_text(tree, tvb, offset-pointer_size,
pointer_size,
"(NULL pointer) %s",text);
proto_tree_add_bytes_format_value(tree, hf_dcerpc_null_pointer, tvb, offset-pointer_size,
pointer_size, NULL, "%s", text);
goto after_ref_id;
}
@ -2728,9 +2728,8 @@ dissect_ndr_pointer_cb(tvbuff_t *tvb, gint offset, packet_info *pinfo,
/* we got a NULL pointer */
if (id == 0) {
proto_tree_add_text(tree, tvb, offset-pointer_size,
pointer_size,
"(NULL pointer) %s",text);
proto_tree_add_bytes_format_value(tree, hf_dcerpc_null_pointer, tvb, offset-pointer_size,
pointer_size, NULL, "%s",text);
goto after_ref_id;
}
@ -2786,9 +2785,8 @@ dissect_ndr_pointer_cb(tvbuff_t *tvb, gint offset, packet_info *pinfo,
/* we got a NULL pointer */
if (id == 0) {
proto_tree_add_text(tree, tvb, offset-pointer_size,
pointer_size,
"(NULL pointer) %s", text);
proto_tree_add_bytes_format_value(tree, hf_dcerpc_null_pointer, tvb, offset-pointer_size,
pointer_size, NULL, "%s",text);
goto after_ref_id;
}
@ -2820,9 +2818,8 @@ dissect_ndr_pointer_cb(tvbuff_t *tvb, gint offset, packet_info *pinfo,
/* we got a NULL pointer */
if (id == 0) {
proto_tree_add_text(tree, tvb, offset-pointer_size,
pointer_size,
"(NULL pointer) %s",text);
proto_tree_add_bytes_format_value(tree, hf_dcerpc_null_pointer, tvb, offset-pointer_size,
pointer_size, NULL, "%s",text);
goto after_ref_id;
}
@ -6363,6 +6360,9 @@ proto_register_dcerpc(void)
{ &hf_dcerpc_op,
{ "Operation", "dcerpc.op", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
{ &hf_dcerpc_null_pointer,
{ "NULL Pointer", "dcerpc.null_pointer", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_dcerpc_fragments,
{ "Reassembled DCE/RPC Fragments", "dcerpc.fragments", FT_NONE, BASE_NONE,
NULL, 0x0, "DCE/RPC Fragments", HFILL }},

View File

@ -146,6 +146,8 @@ static expert_field ei_rlc_ctrl_type = EI_INIT;
static expert_field ei_rlc_li_incorrect_warn = EI_INIT;
static expert_field ei_rlc_li_too_many = EI_INIT;
static expert_field ei_rlc_header_only = EI_INIT;
static expert_field ei_rlc_ciphered_data = EI_INIT;
static expert_field ei_rlc_no_per_frame_data = EI_INIT;
static dissector_handle_t ip_handle;
static dissector_handle_t rrc_handle;
@ -1574,8 +1576,7 @@ rlc_decipher(tvbuff_t *tvb, packet_info * pinfo, proto_tree * tree, fp_info * fp
/*Unable to decipher the packet*/
if(t == NULL){
proto_tree_add_text(tree, tvb, 0, -1,
"Cannot dissect RLC frame because it is ciphered");
proto_tree_add_expert(tree, pinfo, &ei_rlc_ciphered_data, tvb, 0, -1);
col_append_str(pinfo->cinfo, COL_INFO, "[Ciphered Data]");
return;
@ -1864,8 +1865,7 @@ dissect_rlc_um(enum rlc_channel_type channel, tvbuff_t *tvb, packet_info *pinfo,
if(global_rlc_try_decipher){
rlc_decipher(tvb, pinfo, tree, fpinf, rlcinf, seq, RLC_UM);
}else{
proto_tree_add_text(tree, tvb, 0, -1,
"Cannot dissect RLC frame because it is ciphered");
proto_tree_add_expert(tree, pinfo, &ei_rlc_ciphered_data, tvb, 0, -1);
col_append_str(pinfo->cinfo, COL_INFO, "[Ciphered Data]");
return;
}
@ -2276,8 +2276,7 @@ dissect_rlc_am(enum rlc_channel_type channel, tvbuff_t *tvb, packet_info *pinfo,
}
if (!fpinf || !rlcinf) {
proto_tree_add_text(tree, tvb, 0, -1,
"Cannot dissect RLC frame because per-frame info is missing");
proto_tree_add_expert(tree, pinfo, &ei_rlc_no_per_frame_data, tvb, 0, -1);
return;
}
@ -2290,8 +2289,7 @@ dissect_rlc_am(enum rlc_channel_type channel, tvbuff_t *tvb, packet_info *pinfo,
if(global_rlc_try_decipher){
rlc_decipher(tvb, pinfo, tree, fpinf, rlcinf, seq, RLC_AM);
}else{
proto_tree_add_text(tree, tvb, 0, -1,
"Cannot dissect RLC frame because it is ciphered");
proto_tree_add_expert(tree, pinfo, &ei_rlc_ciphered_data, tvb, 0, -1);
col_append_str(pinfo->cinfo, COL_INFO, "[Ciphered Data]");
return;
}
@ -2452,9 +2450,7 @@ dissect_rlc_dcch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
rlci = (rlc_info *)p_get_proto_data(wmem_file_scope(), pinfo, proto_rlc, 0);
if (!fpi || !rlci){
ti = proto_tree_add_text(tree, tvb, 0, -1,
"Can't dissect RLC frame because no per-frame info was attached!");
PROTO_ITEM_SET_GENERATED(ti);
proto_tree_add_expert(tree, pinfo, &ei_rlc_no_per_frame_data, tvb, 0, -1);
return;
}
@ -2492,9 +2488,7 @@ dissect_rlc_ps_dtch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
rlci = (rlc_info *)p_get_proto_data(wmem_file_scope(), pinfo, proto_rlc, 0);
if (!fpi || !rlci) {
ti = proto_tree_add_text(tree, tvb, 0, -1,
"Can't dissect RLC frame because no per-frame info was attached!");
PROTO_ITEM_SET_GENERATED(ti);
proto_tree_add_expert(tree, pinfo, &ei_rlc_no_per_frame_data, tvb, 0, -1);
return;
}
@ -2924,6 +2918,8 @@ proto_register_rlc(void)
{ &ei_rlc_reserved_bits_not_zero, { "rlc.reserved_bits_not_zero", PI_PROTOCOL, PI_WARN, "reserved bits not zero", EXPFILL }},
{ &ei_rlc_ctrl_type, { "rlc.ctrl_pdu_type.invalid", PI_PROTOCOL, PI_WARN, "Invalid RLC AM control type %u", EXPFILL }},
{ &ei_rlc_he, { "rlc.he.invalid", PI_PROTOCOL, PI_WARN, "Incorrect HE value", EXPFILL }},
{ &ei_rlc_ciphered_data, { "rlc.ciphered_data", PI_UNDECODED, PI_WARN, "Cannot dissect RLC frame because it is ciphered", EXPFILL }},
{ &ei_rlc_no_per_frame_data, { "rlc.no_per_frame_data", PI_PROTOCOL, PI_WARN, "Can't dissect RLC frame because no per-frame info was attached!", EXPFILL }},
};
proto_rlc = proto_register_protocol("Radio Link Control", "RLC", "rlc");

View File

@ -205,7 +205,19 @@ static int hf_selfm_fastmsg_soe_resp_doy = -1;
static int hf_selfm_fastmsg_soe_resp_year = -1;
static int hf_selfm_fastmsg_soe_resp_tod = -1;
/* static int hf_selfm_fastmsg_soe_resp_data = -1; */
/* Generated from convert_proto_tree_add_text.pl */
static int hf_selfm_fmconfig_ai_channel = -1;
static int hf_selfm_fmdata_ai_value16 = -1;
static int hf_selfm_fmdata_ai_scale_factor = -1;
static int hf_selfm_fmdata_ai_value_float = -1;
static int hf_selfm_fmdata_ai_value_double = -1;
static int hf_selfm_fmdata_data_type = -1;
static int hf_selfm_fmdata_quantity = -1;
static int hf_selfm_fmdata_ai_value_string = -1;
static int hf_selfm_fastmsg_unsresp_elmt_ts_ofs_decoded = -1;
static int hf_selfm_fid = -1;
static int hf_selfm_rid = -1;
static int hf_selfm_fastmsg_data_region_name = -1;
/* Initialize the subtree pointers */
static gint ett_selfm = -1;
@ -1102,7 +1114,7 @@ dissect_fmconfig_frame(tvbuff_t *tvb, proto_tree *tree, int offset)
proto_tree *fmconfig_tree, *fmconfig_ai_tree=NULL, *fmconfig_calc_tree=NULL;
guint count;
guint8 len, sf_loc, num_sf, num_ai, num_calc;
gchar ai_name[FM_CONFIG_ANA_CHNAME_LEN+1]; /* 6 Characters + a Null */
gchar* ai_name;
len = tvb_get_guint8(tvb, offset);
/* skip num_flags, position offset+1 */
@ -1138,14 +1150,13 @@ dissect_fmconfig_frame(tvbuff_t *tvb, proto_tree *tree, int offset)
/* Get AI Channel Details */
for (count = 0; count < num_ai; count++) {
tvb_memcpy(tvb, &ai_name, offset, 6);
ai_name[FM_CONFIG_ANA_CHNAME_LEN] = '\0'; /* Put a terminating null onto the end of the AI name, in case none exists */
ai_name = tvb_get_string_enc(wmem_packet_scope(), tvb, offset, 6, ENC_ASCII);
fmconfig_ai_tree = proto_tree_add_subtree_format(fmconfig_tree, tvb, offset, 10,
ett_selfm_fmconfig_ai, NULL, "Analog Channel: %s", ai_name);
/* Add Channel Name, Channel Data Type, Scale Factor Type and Scale Factor Offset to tree */
proto_tree_add_text(fmconfig_ai_tree, tvb, offset, 6, "Analog Channel Name: %s", ai_name);
proto_tree_add_item(fmconfig_ai_tree, hf_selfm_fmconfig_ai_channel, tvb, offset, 6, ENC_ASCII|ENC_NA);
proto_tree_add_item(fmconfig_ai_tree, hf_selfm_fmconfig_ai_type, tvb, offset+6, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(fmconfig_ai_tree, hf_selfm_fmconfig_ai_sf_type, tvb, offset+7, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(fmconfig_ai_tree, hf_selfm_fmconfig_ai_sf_ofs, tvb, offset+8, 2, ENC_BIG_ENDIAN);
@ -1213,8 +1224,7 @@ dissect_fmdata_frame(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int of
guint16 config_cmd, ts_msec;
gint16 ai_int16val;
gint cnt = 0, ch_size=0;
gfloat ai_fpval, ai_sf_fp;
gdouble ai_fpd_val;
gfloat ai_sf_fp;
gboolean config_found = FALSE;
fm_conversation *conv;
fm_config_frame *cfg_data;
@ -1332,20 +1342,18 @@ dissect_fmdata_frame(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int of
ai_sf_fp = 1;
}
proto_tree_add_text(fmdata_ai_ch_tree, tvb, offset, ch_size, "Value (Raw): %d", ai_int16val);
proto_tree_add_text(fmdata_ai_ch_tree, tvb, offset, ch_size, "Value (w/ Scale Factor): %f", ((gfloat)ai_int16val*ai_sf_fp));
proto_tree_add_uint(fmdata_ai_ch_tree, hf_selfm_fmdata_ai_value16, tvb, offset, ch_size, ai_int16val);
proto_tree_add_float(fmdata_ai_ch_tree, hf_selfm_fmdata_ai_scale_factor, tvb, offset, ch_size, ((gfloat)ai_int16val*ai_sf_fp));
offset += ch_size;
break;
/* Channel type is IEEE Floating point */
case FM_CONFIG_ANA_CHTYPE_FP:
ai_fpval = tvb_get_ntohieee_float(tvb, offset);
proto_tree_add_text(fmdata_ai_ch_tree, tvb, offset, ch_size, "Value: %f", ai_fpval);
proto_tree_add_item(fmdata_ai_ch_tree, hf_selfm_fmdata_ai_value_float, tvb, offset, ch_size, ENC_BIG_ENDIAN);
offset += ch_size;
break;
/* Channel type is Double IEEE Floating point */
case FM_CONFIG_ANA_CHTYPE_FPD:
ai_fpd_val = tvb_get_ntohieee_double(tvb, offset);
proto_tree_add_text(fmdata_ai_ch_tree, tvb, offset, ch_size, "Value: %f", ai_fpd_val);
proto_tree_add_item(fmdata_ai_ch_tree, hf_selfm_fmdata_ai_value_double, tvb, offset, ch_size, ENC_BIG_ENDIAN);
offset += ch_size;
break;
@ -1652,7 +1660,6 @@ dissect_fastmsg_readresp_frame(tvbuff_t *tvb, proto_tree *fastmsg_tree, packet_i
proto_tree *fastmsg_tag_tree=NULL, *fmdata_dig_tree=NULL;
guint32 base_addr;
guint16 data_size, num_addr, cnt;
guint8 *item_val_str_ptr;
guint8 seq_cnt;
gboolean seq_fir, seq_fin, save_fragmented;
int payload_offset=0;
@ -1766,13 +1773,14 @@ dissect_fastmsg_readresp_frame(tvbuff_t *tvb, proto_tree *fastmsg_tree, packet_i
/* Load some information from the stored Data Format Response message into the tree for reference */
pi_fnum = proto_tree_add_text(fastmsg_tag_tree, payload_tvb, payload_offset, data_size, "Using frame number %d (Index Pos: %d) as Data Format Reference",dataitem->fnum, dataitem->index_pos );
pi_type = proto_tree_add_text(fastmsg_tag_tree, payload_tvb, payload_offset, data_size, "Data_Type: %s (%#x)",
val_to_str_const(dataitem->data_type, selfm_fastmsg_tagtype_vals, "Unknown Data Type"), dataitem->data_type);
pi_qty = proto_tree_add_text(fastmsg_tag_tree, payload_tvb, payload_offset, data_size, "Quantity: %d",dataitem->quantity );
pi_type = proto_tree_add_uint(fastmsg_tag_tree, hf_selfm_fmdata_data_type, payload_tvb, payload_offset, 0, dataitem->data_type);
pi_qty = proto_tree_add_uint(fastmsg_tag_tree, hf_selfm_fmdata_quantity, payload_tvb, payload_offset, 0, dataitem->quantity );
PROTO_ITEM_SET_GENERATED(pi_fnum);
PROTO_ITEM_SET_GENERATED(pi_type);
proto_item_set_len(pi_type, data_size);
PROTO_ITEM_SET_GENERATED(pi_qty);
proto_item_set_len(pi_qty, data_size);
/* Data Item Type determines how to decode */
switch (dataitem->data_type) {
@ -1809,8 +1817,7 @@ dissect_fastmsg_readresp_frame(tvbuff_t *tvb, proto_tree *fastmsg_tree, packet_i
case FAST_MSG_TAGTYPE_CHAR8:
case FAST_MSG_TAGTYPE_CHAR16:
item_val_str_ptr = tvb_get_string_enc(wmem_packet_scope(), payload_tvb, payload_offset, data_size, ENC_ASCII);
proto_tree_add_text(fastmsg_tag_tree, payload_tvb, payload_offset, data_size, "Value: %s", item_val_str_ptr);
proto_tree_add_item(fastmsg_tag_tree, hf_selfm_fmdata_ai_value_string, payload_tvb, payload_offset, data_size, ENC_ASCII|ENC_NA);
payload_offset += data_size;
break;
@ -1885,14 +1892,13 @@ dissect_fastmsg_frame(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int o
{
/* Set up structures needed to add the protocol subtree and manage it */
proto_item *fastmsg_def_fc_item, *fastmsg_elementlist_item;
proto_item *fastmsg_tag_item;
proto_item *pi_baseaddr, *fastmsg_crc16_item;
proto_tree *fastmsg_tree, *fastmsg_def_fc_tree=NULL, *fastmsg_elementlist_tree=NULL;
proto_tree *fastmsg_element_tree=NULL, *fastmsg_datareg_tree=NULL, *fastmsg_tag_tree=NULL;
gint cnt, num_elements, elmt_status32_ofs=0, elmt_status, null_offset;
guint8 len, funccode, seq, rx_num_fc, tx_num_fc;
guint8 seq_cnt, elmt_idx, fc_enable;
guint8 *fid_str_ptr, *rid_str_ptr, *region_name_ptr, *tag_name_ptr;
guint8 *tag_name_ptr;
guint16 base_addr, num_addr, num_reg, addr1, addr2, crc16, crc16_calc;
guint32 tod_ms, elmt_status32, elmt_ts_offset;
static const int * seq_fields[] = {
@ -2021,8 +2027,8 @@ dissect_fastmsg_frame(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int o
proto_tree_add_item(fastmsg_tree, hf_selfm_fastmsg_unsresp_doy, tvb, offset, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(fastmsg_tree, hf_selfm_fastmsg_unsresp_year, tvb, offset+2, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(fastmsg_tree, hf_selfm_fastmsg_unsresp_todms, tvb, offset+4, 4, ENC_BIG_ENDIAN);
proto_tree_add_text(fastmsg_tree, tvb, offset+4, 4, "Time of Day (decoded): %s", time_msecs_to_str(wmem_packet_scope(), tod_ms));
proto_tree_add_uint_format_value(fastmsg_tree, hf_selfm_fastmsg_unsresp_todms, tvb, offset+4, 4,
tod_ms, "%s", time_msecs_to_str(wmem_packet_scope(), tod_ms));
offset += 8;
/* Build element tree */
@ -2062,8 +2068,8 @@ dissect_fastmsg_frame(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int o
/* Add Index Number and Timestamp offset to tree */
proto_tree_add_item(fastmsg_element_tree, hf_selfm_fastmsg_unsresp_elmt_idx, tvb, offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(fastmsg_element_tree, hf_selfm_fastmsg_unsresp_elmt_ts_ofs, tvb, offset+1, 3, ENC_BIG_ENDIAN);
proto_tree_add_text(fastmsg_element_tree, tvb, offset+1, 3,
"SER Element Timestamp Offset (decoded): %s", time_msecs_to_str(wmem_packet_scope(), tod_ms + (elmt_ts_offset/1000)));
proto_tree_add_uint_format_value(fastmsg_element_tree, hf_selfm_fastmsg_unsresp_elmt_ts_ofs_decoded, tvb, offset+1, 3,
tod_ms + (elmt_ts_offset/1000), "%s", time_msecs_to_str(wmem_packet_scope(), tod_ms + (elmt_ts_offset/1000)));
proto_tree_add_uint(fastmsg_element_tree, hf_selfm_fastmsg_unsresp_elmt_status, tvb, elmt_status32_ofs, 4, elmt_status);
offset += 4;
@ -2205,10 +2211,8 @@ dissect_fastmsg_frame(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int o
case FAST_MSG_DEVDESC_RESP: /* 0xB0 (resp to 0x30) - Device Description Response */
/* Add FID / RID ASCII data to tree */
fid_str_ptr = tvb_get_string_enc(wmem_packet_scope(), tvb, offset, 50, ENC_ASCII);
rid_str_ptr = tvb_get_string_enc(wmem_packet_scope(), tvb, offset+50, 40, ENC_ASCII);
proto_tree_add_text(fastmsg_tree, tvb, offset, 50, "FID: %s", fid_str_ptr);
proto_tree_add_text(fastmsg_tree, tvb, offset+50, 40, "RID: %s", rid_str_ptr);
proto_tree_add_item(fastmsg_tree, hf_selfm_fid, tvb, offset, 50, ENC_ASCII|ENC_NA);
proto_tree_add_item(fastmsg_tree, hf_selfm_rid, tvb, offset+50, 40, ENC_ASCII|ENC_NA);
offset += 90;
/* 16-bit field with number of data areas */
@ -2237,8 +2241,7 @@ dissect_fastmsg_frame(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int o
ett_selfm_fastmsg_datareg, NULL, "Fast Message Data Region #%d", cnt+1);
/* 10-Byte Region description */
region_name_ptr = tvb_get_string_enc(wmem_packet_scope(), tvb, offset, 10, ENC_ASCII);
proto_tree_add_text(fastmsg_datareg_tree, tvb, offset, 10, "Data Region Name: %s", region_name_ptr);
proto_tree_add_item(fastmsg_datareg_tree, hf_selfm_fastmsg_data_region_name, tvb, offset, 10, ENC_ASCII|ENC_NA);
offset += 10;
/* 32-bit field with base address of data region */
@ -2286,8 +2289,7 @@ dissect_fastmsg_frame(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int o
while ((tvb_reported_length_remaining(tvb, offset)) > 2) {
/* Data Item record name 10 bytes */
tag_name_ptr = tvb_get_string_enc(wmem_packet_scope(), tvb, offset, 10, ENC_ASCII);
fastmsg_tag_item = proto_tree_add_text(fastmsg_tree, tvb, offset, 14, "Data Item Record Name: %s", tag_name_ptr);
fastmsg_tag_tree = proto_item_add_subtree(fastmsg_tag_item, ett_selfm_fastmsg_tag);
fastmsg_tag_tree = proto_tree_add_subtree_format(fastmsg_tree, tvb, offset, 14, ett_selfm_fastmsg_tag, NULL, "Data Item Record Name: %s", tag_name_ptr);
/* Data item qty and type */
proto_tree_add_item(fastmsg_tag_tree, hf_selfm_fastmsg_dataitem_qty, tvb, offset+10, 2, ENC_BIG_ENDIAN);
@ -2944,7 +2946,20 @@ proto_register_selfm(void)
{ &hf_selfm_fragment_reassembled_in,
{ "Reassembled PDU In Frame", "selfm.respdata.fragment.reassembled_in", FT_FRAMENUM, BASE_NONE, NULL, 0x0, "This PDU is reassembled in this frame", HFILL }},
{ &hf_selfm_fragment_reassembled_length,
{ "Reassembled SEL Fast Msg length", "selfm.respdata.fragment.reassembled.length", FT_UINT32, BASE_DEC, NULL, 0x0, "The total length of the reassembled payload", HFILL }}
{ "Reassembled SEL Fast Msg length", "selfm.respdata.fragment.reassembled.length", FT_UINT32, BASE_DEC, NULL, 0x0, "The total length of the reassembled payload", HFILL }},
/* Generated from convert_proto_tree_add_text.pl */
{ &hf_selfm_fmconfig_ai_channel, { "Analog Channel Name", "selfm.fmconfig.ai_channel", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_selfm_fmdata_ai_value16, { "Value (Raw)", "selfm.fmdata.ai.value16", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
{ &hf_selfm_fmdata_ai_scale_factor, { "Value (w/ Scale Factor)", "selfm.fmdata.ai.value_scale_factor", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_selfm_fmdata_ai_value_float, { "Value", "selfm.fmdata.ai.value_float", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_selfm_fmdata_ai_value_double, { "Value", "selfm.fmdata.ai.value_double", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_selfm_fmdata_data_type, { "Data_Type", "selfm.fmdata.data_type", FT_UINT32, BASE_DEC, VALS(selfm_fastmsg_tagtype_vals), 0x0, NULL, HFILL }},
{ &hf_selfm_fmdata_quantity, { "Quantity", "selfm.fmdata.quantity", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
{ &hf_selfm_fmdata_ai_value_string, { "Value", "selfm.fmdata.ai.value_string", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_selfm_fastmsg_unsresp_elmt_ts_ofs_decoded, { "SER Element Timestamp Offset (decoded)", "selfm.fastmsg.unsresp_elmt_ts_ofs.decoded", FT_UINT24, BASE_DEC, NULL, 0x0, NULL, HFILL }},
{ &hf_selfm_fid, { "FID", "selfm.fid", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_selfm_rid, { "RID", "selfm.rid", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_selfm_fastmsg_data_region_name, { "Data Region Name", "selfm.fastmsg.data_region_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
};
/* Register expert fields */

View File

@ -16393,7 +16393,6 @@ dissect_unknown(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int off
WORD_COUNT;
if (wc != 0) {
tvb_ensure_bytes_exist(tvb, offset, wc*2);
proto_tree_add_text(tree, tvb, offset, wc*2, "Word parameters");
offset += wc*2;
}
@ -16401,7 +16400,6 @@ dissect_unknown(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int off
BYTE_COUNT;
if (bc != 0) {
tvb_ensure_bytes_exist(tvb, offset, bc);
proto_tree_add_text(tree, tvb, offset, bc, "Byte parameters");
offset += bc;
bc = 0;