FP: Migrating some fields to add_item_ret
Started with header crc,frame type and cfn Change-Id: I37409f82bbe63c2034cb87939c7722039ec104db Reviewed-on: https://code.wireshark.org/review/28088 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
parent
f76f9a51b8
commit
37119e5da0
|
@ -1477,17 +1477,15 @@ dissect_rach_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
int offset, struct fp_info *p_fp_info, void *data)
|
int offset, struct fp_info *p_fp_info, void *data)
|
||||||
{
|
{
|
||||||
gboolean is_control_frame;
|
gboolean is_control_frame;
|
||||||
guint16 header_crc = 0;
|
guint32 header_crc = 0;
|
||||||
proto_item * header_crc_pi = NULL;
|
proto_item * header_crc_pi = NULL;
|
||||||
guint header_length = 0;
|
guint header_length = 0;
|
||||||
|
|
||||||
/* Header CRC */
|
/* Header CRC */
|
||||||
header_crc = tvb_get_bits8(tvb, 0, 7);
|
header_crc_pi = proto_tree_add_item_ret_uint(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN, &header_crc);
|
||||||
header_crc_pi = proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
|
|
||||||
/* Frame Type */
|
/* Frame Type */
|
||||||
is_control_frame = tvb_get_guint8(tvb, offset) & 0x01;
|
proto_tree_add_item_ret_uint(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN, &is_control_frame);
|
||||||
proto_tree_add_item(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
||||||
|
@ -1497,7 +1495,7 @@ dissect_rach_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
/* For control frame the header CRC is actually frame CRC covering all
|
/* For control frame the header CRC is actually frame CRC covering all
|
||||||
* bytes except the first */
|
* bytes except the first */
|
||||||
if (preferences_header_checksum) {
|
if (preferences_header_checksum) {
|
||||||
verify_control_frame_crc(tvb, pinfo, header_crc_pi, header_crc);
|
verify_control_frame_crc(tvb, pinfo, header_crc_pi, (guint16)header_crc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -1732,17 +1730,15 @@ dissect_fach_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
int offset, struct fp_info *p_fp_info, void *data)
|
int offset, struct fp_info *p_fp_info, void *data)
|
||||||
{
|
{
|
||||||
gboolean is_control_frame;
|
gboolean is_control_frame;
|
||||||
guint16 header_crc = 0;
|
guint32 header_crc = 0;
|
||||||
proto_item * header_crc_pi = NULL;
|
proto_item * header_crc_pi = NULL;
|
||||||
guint header_length = 0;
|
guint header_length = 0;
|
||||||
|
|
||||||
/* Header CRC */
|
/* Header CRC */
|
||||||
header_crc = tvb_get_bits8(tvb, 0, 7);
|
header_crc_pi = proto_tree_add_item_ret_uint(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN, &header_crc);
|
||||||
header_crc_pi = proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
|
|
||||||
/* Frame Type */
|
/* Frame Type */
|
||||||
is_control_frame = tvb_get_guint8(tvb, offset) & 0x01;
|
proto_tree_add_item_ret_uint(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN, &is_control_frame);
|
||||||
proto_tree_add_item(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
||||||
|
@ -1752,7 +1748,7 @@ dissect_fach_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
/* For control frame the header CRC is actually frame CRC covering all
|
/* For control frame the header CRC is actually frame CRC covering all
|
||||||
* bytes except the first */
|
* bytes except the first */
|
||||||
if (preferences_header_checksum) {
|
if (preferences_header_checksum) {
|
||||||
verify_control_frame_crc(tvb, pinfo, header_crc_pi, header_crc);
|
verify_control_frame_crc(tvb, pinfo, header_crc_pi, (guint16)header_crc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -1813,8 +1809,7 @@ dissect_dsch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||||
|
|
||||||
/* Frame Type */
|
/* Frame Type */
|
||||||
is_control_frame = tvb_get_guint8(tvb, offset) & 0x01;
|
proto_tree_add_item_ret_uint(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN, &is_control_frame);
|
||||||
proto_tree_add_item(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
||||||
|
@ -1823,14 +1818,13 @@ dissect_dsch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
dissect_common_control(tvb, pinfo, tree, offset, p_fp_info);
|
dissect_common_control(tvb, pinfo, tree, offset, p_fp_info);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
guint8 cfn;
|
guint32 cfn;
|
||||||
guint header_length = 0;
|
guint header_length = 0;
|
||||||
|
|
||||||
/* DATA */
|
/* DATA */
|
||||||
|
|
||||||
/* CFN */
|
/* CFN */
|
||||||
cfn = tvb_get_guint8(tvb, offset);
|
proto_tree_add_item_ret_uint(tree, hf_fp_cfn, tvb, offset, 1, ENC_BIG_ENDIAN, &cfn);
|
||||||
proto_tree_add_item(tree, hf_fp_cfn, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_fstr(pinfo->cinfo, COL_INFO, "CFN=%03u ", cfn);
|
col_append_fstr(pinfo->cinfo, COL_INFO, "CFN=%03u ", cfn);
|
||||||
|
@ -1897,8 +1891,7 @@ dissect_usch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||||
|
|
||||||
/* Frame Type */
|
/* Frame Type */
|
||||||
is_control_frame = tvb_get_guint8(tvb, offset) & 0x01;
|
proto_tree_add_item_ret_uint(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN, &is_control_frame);
|
||||||
proto_tree_add_item(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
||||||
|
@ -1915,8 +1908,7 @@ dissect_usch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
/* DATA */
|
/* DATA */
|
||||||
|
|
||||||
/* CFN */
|
/* CFN */
|
||||||
cfn = tvb_get_guint8(tvb, offset);
|
proto_tree_add_item_ret_uint(tree, hf_fp_cfn, tvb, offset, 1, ENC_BIG_ENDIAN, &cfn);
|
||||||
proto_tree_add_item(tree, hf_fp_cfn, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_fstr(pinfo->cinfo, COL_INFO, "CFN=%03u ", cfn);
|
col_append_fstr(pinfo->cinfo, COL_INFO, "CFN=%03u ", cfn);
|
||||||
|
@ -1975,16 +1967,14 @@ dissect_pch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
guint16 pch_cfn;
|
guint16 pch_cfn;
|
||||||
guint32 tfi;
|
guint32 tfi;
|
||||||
gboolean paging_indication;
|
gboolean paging_indication;
|
||||||
guint16 header_crc = 0;
|
guint32 header_crc = 0;
|
||||||
proto_item * header_crc_pi = NULL;
|
proto_item * header_crc_pi = NULL;
|
||||||
|
|
||||||
/* Header CRC */
|
/* Header CRC */
|
||||||
header_crc = tvb_get_bits8(tvb, 0, 7);
|
header_crc_pi = proto_tree_add_item_ret_uint(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN, &header_crc);
|
||||||
header_crc_pi = proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
|
|
||||||
/* Frame Type */
|
/* Frame Type */
|
||||||
is_control_frame = tvb_get_guint8(tvb, offset) & 0x01;
|
proto_tree_add_item_ret_uint(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN, &is_control_frame);
|
||||||
proto_tree_add_item(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
||||||
|
@ -1994,7 +1984,7 @@ dissect_pch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
/* For control frame the header CRC is actually frame CRC covering all
|
/* For control frame the header CRC is actually frame CRC covering all
|
||||||
* bytes except the first */
|
* bytes except the first */
|
||||||
if (preferences_header_checksum) {
|
if (preferences_header_checksum) {
|
||||||
verify_control_frame_crc(tvb, pinfo, header_crc_pi, header_crc);
|
verify_control_frame_crc(tvb, pinfo, header_crc_pi, (guint16)header_crc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -2093,8 +2083,7 @@ dissect_cpch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||||
|
|
||||||
/* Frame Type */
|
/* Frame Type */
|
||||||
is_control_frame = tvb_get_guint8(tvb, offset) & 0x01;
|
proto_tree_add_item_ret_uint(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN, &is_control_frame);
|
||||||
proto_tree_add_item(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
||||||
|
@ -2110,8 +2099,7 @@ dissect_cpch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
/* DATA */
|
/* DATA */
|
||||||
|
|
||||||
/* CFN */
|
/* CFN */
|
||||||
cfn = tvb_get_guint8(tvb, offset);
|
proto_tree_add_item_ret_uint(tree, hf_fp_cfn, tvb, offset, 1, ENC_BIG_ENDIAN, &cfn);
|
||||||
proto_tree_add_item(tree, hf_fp_cfn, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_fstr(pinfo->cinfo, COL_INFO, "CFN=%03u ", cfn);
|
col_append_fstr(pinfo->cinfo, COL_INFO, "CFN=%03u ", cfn);
|
||||||
|
@ -2149,8 +2137,7 @@ dissect_bch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||||
|
|
||||||
/* Frame Type */
|
/* Frame Type */
|
||||||
is_control_frame = tvb_get_guint8(tvb, offset) & 0x01;
|
proto_tree_add_item_ret_uint(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN, &is_control_frame);
|
||||||
proto_tree_add_item(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
||||||
|
@ -2173,8 +2160,7 @@ dissect_iur_dsch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
|
||||||
proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||||
|
|
||||||
/* Frame Type */
|
/* Frame Type */
|
||||||
is_control_frame = tvb_get_guint8(tvb, offset) & 0x01;
|
proto_tree_add_item_ret_uint(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN, &is_control_frame);
|
||||||
proto_tree_add_item(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
||||||
|
@ -2392,7 +2378,6 @@ dissect_dch_radio_interface_parameter_update(proto_tree *tree, packet_info *pinf
|
||||||
offset += 2;
|
offset += 2;
|
||||||
|
|
||||||
/* CFN */
|
/* CFN */
|
||||||
tvb_get_guint8(tvb, offset);
|
|
||||||
proto_tree_add_item(tree, hf_fp_cfn, tvb, offset, 1, ENC_BIG_ENDIAN);
|
proto_tree_add_item(tree, hf_fp_cfn, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
|
@ -2533,18 +2518,16 @@ dissect_dch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
int offset, struct fp_info *p_fp_info, void *data)
|
int offset, struct fp_info *p_fp_info, void *data)
|
||||||
{
|
{
|
||||||
gboolean is_control_frame;
|
gboolean is_control_frame;
|
||||||
guint8 cfn;
|
guint32 cfn;
|
||||||
guint header_length = 0;
|
guint header_length = 0;
|
||||||
guint16 header_crc = 0;
|
guint32 header_crc = 0;
|
||||||
proto_item * header_crc_pi = NULL;
|
proto_item * header_crc_pi = NULL;
|
||||||
|
|
||||||
/* Header CRC */
|
/* Header CRC */
|
||||||
header_crc = tvb_get_bits8(tvb, 0, 7);
|
header_crc_pi = proto_tree_add_item_ret_uint(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN, &header_crc);
|
||||||
header_crc_pi = proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
|
|
||||||
/* Frame Type */
|
/* Frame Type */
|
||||||
is_control_frame = tvb_get_guint8(tvb, offset) & 0x01;
|
proto_tree_add_item_ret_uint(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN, &is_control_frame);
|
||||||
proto_tree_add_item(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_str(pinfo->cinfo, COL_INFO,
|
col_append_str(pinfo->cinfo, COL_INFO,
|
||||||
|
@ -2558,15 +2541,14 @@ dissect_dch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
/* For control frame the header CRC is actually frame CRC covering all
|
/* For control frame the header CRC is actually frame CRC covering all
|
||||||
* bytes except the first */
|
* bytes except the first */
|
||||||
if (preferences_header_checksum) {
|
if (preferences_header_checksum) {
|
||||||
verify_control_frame_crc(tvb, pinfo, header_crc_pi, header_crc);
|
verify_control_frame_crc(tvb, pinfo, header_crc_pi, (guint16)header_crc);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/************************/
|
/************************/
|
||||||
/* DCH data here */
|
/* DCH data here */
|
||||||
int chan;
|
int chan;
|
||||||
/* CFN */
|
/* CFN */
|
||||||
proto_tree_add_item(tree, hf_fp_cfn, tvb, offset, 1, ENC_BIG_ENDIAN);
|
proto_tree_add_item_ret_uint(tree, hf_fp_cfn, tvb, offset, 1, ENC_BIG_ENDIAN, &cfn);
|
||||||
cfn = tvb_get_guint8(tvb, offset);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_fstr(pinfo->cinfo, COL_INFO, "CFN=%03u ", cfn);
|
col_append_fstr(pinfo->cinfo, COL_INFO, "CFN=%03u ", cfn);
|
||||||
|
@ -2609,10 +2591,10 @@ dissect_e_dch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
{
|
{
|
||||||
gboolean is_control_frame;
|
gboolean is_control_frame;
|
||||||
guint8 number_of_subframes;
|
guint8 number_of_subframes;
|
||||||
guint8 cfn;
|
guint32 cfn;
|
||||||
int n;
|
int n;
|
||||||
struct edch_t1_subframe_info subframes[16];
|
struct edch_t1_subframe_info subframes[16];
|
||||||
guint16 header_crc = 0;
|
guint32 header_crc = 0;
|
||||||
proto_item * header_crc_pi = NULL;
|
proto_item * header_crc_pi = NULL;
|
||||||
guint header_length = 0;
|
guint header_length = 0;
|
||||||
rlc_info * rlcinf;
|
rlc_info * rlcinf;
|
||||||
|
@ -2635,12 +2617,11 @@ dissect_e_dch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
|
|
||||||
/* For control frame the header CRC is actually frame CRC covering all
|
/* For control frame the header CRC is actually frame CRC covering all
|
||||||
* bytes except the first */
|
* bytes except the first */
|
||||||
header_crc = tvb_get_bits8(tvb, 0, 7);
|
header_crc_pi = proto_tree_add_item_ret_uint(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN, &header_crc);
|
||||||
header_crc_pi = proto_tree_add_item(tree, hf_fp_header_crc, tvb, 0, 1, ENC_BIG_ENDIAN);
|
|
||||||
proto_tree_add_item(tree, hf_fp_ft, tvb, 0, 1, ENC_BIG_ENDIAN);
|
proto_tree_add_item(tree, hf_fp_ft, tvb, 0, 1, ENC_BIG_ENDIAN);
|
||||||
offset++;
|
offset++;
|
||||||
if (preferences_header_checksum) {
|
if (preferences_header_checksum) {
|
||||||
verify_control_frame_crc(tvb, pinfo, header_crc_pi, header_crc);
|
verify_control_frame_crc(tvb, pinfo, header_crc_pi, (guint16)header_crc);
|
||||||
}
|
}
|
||||||
dissect_dch_control_frame(tree, pinfo, tvb, offset, p_fp_info);
|
dissect_dch_control_frame(tree, pinfo, tvb, offset, p_fp_info);
|
||||||
}
|
}
|
||||||
|
@ -2696,8 +2677,7 @@ dissect_e_dch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
/* CFN */
|
/* CFN */
|
||||||
cfn = tvb_get_guint8(tvb, offset);
|
proto_tree_add_item_ret_uint(tree, hf_fp_cfn, tvb, offset, 1, ENC_BIG_ENDIAN, &cfn);
|
||||||
proto_tree_add_item(tree, hf_fp_cfn, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
/* Remainder of T2 or common data frames differ here... */
|
/* Remainder of T2 or common data frames differ here... */
|
||||||
|
@ -3168,16 +3148,14 @@ dissect_hsdsch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
{
|
{
|
||||||
gboolean is_control_frame;
|
gboolean is_control_frame;
|
||||||
guint header_length = 0;
|
guint header_length = 0;
|
||||||
guint16 header_crc = 0;
|
guint32 header_crc = 0;
|
||||||
proto_item * header_crc_pi = NULL;
|
proto_item * header_crc_pi = NULL;
|
||||||
|
|
||||||
/* Header CRC */
|
/* Header CRC */
|
||||||
header_crc = tvb_get_bits8(tvb, 0, 7);
|
header_crc_pi = proto_tree_add_item_ret_uint(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN, &header_crc);
|
||||||
header_crc_pi = proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
|
|
||||||
/* Frame Type */
|
/* Frame Type */
|
||||||
is_control_frame = tvb_get_guint8(tvb, offset) & 0x01;
|
proto_tree_add_item_ret_uint(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN, &is_control_frame);
|
||||||
proto_tree_add_item(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
||||||
|
@ -3187,7 +3165,7 @@ dissect_hsdsch_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
/* For control frame the header CRC is actually frame CRC covering all
|
/* For control frame the header CRC is actually frame CRC covering all
|
||||||
* bytes except the first */
|
* bytes except the first */
|
||||||
if (preferences_header_checksum) {
|
if (preferences_header_checksum) {
|
||||||
verify_control_frame_crc(tvb, pinfo, header_crc_pi, header_crc);
|
verify_control_frame_crc(tvb, pinfo, header_crc_pi, (guint16)header_crc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -3373,17 +3351,15 @@ dissect_hsdsch_type_2_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
gboolean is_control_frame;
|
gboolean is_control_frame;
|
||||||
guint16 header_crc = 0;
|
guint32 header_crc = 0;
|
||||||
proto_item * header_crc_pi = NULL;
|
proto_item * header_crc_pi = NULL;
|
||||||
guint16 header_length = 0;
|
guint16 header_length = 0;
|
||||||
|
|
||||||
/* Header CRC */
|
/* Header CRC */
|
||||||
header_crc = tvb_get_bits8(tvb, 0, 7);
|
header_crc_pi = proto_tree_add_item_ret_uint(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN, &header_crc);
|
||||||
header_crc_pi = proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
|
|
||||||
/* Frame Type */
|
/* Frame Type */
|
||||||
is_control_frame = tvb_get_guint8(tvb, offset) & 0x01;
|
proto_tree_add_item_ret_uint(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN, &is_control_frame);
|
||||||
proto_tree_add_item(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
||||||
|
@ -3393,7 +3369,7 @@ dissect_hsdsch_type_2_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree
|
||||||
/* For control frame the header CRC is actually frame CRC covering all
|
/* For control frame the header CRC is actually frame CRC covering all
|
||||||
* bytes except the first */
|
* bytes except the first */
|
||||||
if (preferences_header_checksum) {
|
if (preferences_header_checksum) {
|
||||||
verify_control_frame_crc(tvb, pinfo, header_crc_pi, header_crc);
|
verify_control_frame_crc(tvb, pinfo, header_crc_pi, (guint16)header_crc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -3628,17 +3604,15 @@ void dissect_hsdsch_common_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
gboolean is_control_frame;
|
gboolean is_control_frame;
|
||||||
guint16 header_crc = 0;
|
guint32 header_crc = 0;
|
||||||
proto_item * header_crc_pi = NULL;
|
proto_item * header_crc_pi = NULL;
|
||||||
guint header_length = 0;
|
guint header_length = 0;
|
||||||
|
|
||||||
/* Header CRC */
|
/* Header CRC */
|
||||||
header_crc = tvb_get_bits8(tvb, 0, 7);
|
header_crc_pi = proto_tree_add_item_ret_uint(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN, &header_crc);
|
||||||
header_crc_pi = proto_tree_add_item(tree, hf_fp_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
|
|
||||||
/* Frame Type */
|
/* Frame Type */
|
||||||
is_control_frame = tvb_get_guint8(tvb, offset) & 0x01;
|
proto_tree_add_item_ret_uint(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN, &is_control_frame);
|
||||||
proto_tree_add_item(tree, hf_fp_ft, tvb, offset, 1, ENC_BIG_ENDIAN);
|
|
||||||
offset++;
|
offset++;
|
||||||
|
|
||||||
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
col_append_str(pinfo->cinfo, COL_INFO, is_control_frame ? " [Control] " : " [Data] ");
|
||||||
|
@ -3648,7 +3622,7 @@ void dissect_hsdsch_common_channel_info(tvbuff_t *tvb, packet_info *pinfo, proto
|
||||||
/* For control frame the header CRC is actually frame CRC covering all
|
/* For control frame the header CRC is actually frame CRC covering all
|
||||||
* bytes except the first */
|
* bytes except the first */
|
||||||
if (preferences_header_checksum) {
|
if (preferences_header_checksum) {
|
||||||
verify_control_frame_crc(tvb, pinfo, header_crc_pi, header_crc);
|
verify_control_frame_crc(tvb, pinfo, header_crc_pi, (guint16)header_crc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -5902,7 +5876,7 @@ void proto_register_fp(void)
|
||||||
},
|
},
|
||||||
{ &hf_fp_cfn,
|
{ &hf_fp_cfn,
|
||||||
{ "CFN",
|
{ "CFN",
|
||||||
"fp.cfn", FT_UINT8, BASE_DEC, NULL, 0x0,
|
"fp.cfn", FT_UINT8, BASE_DEC, NULL, 0xff,
|
||||||
"Connection Frame Number", HFILL
|
"Connection Frame Number", HFILL
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue