aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-gsm_a_gm.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2010-07-14 12:01:05 +0000
committerAnders Broman <anders.broman@ericsson.com>2010-07-14 12:01:05 +0000
commitb5753ef3fcb10bda742c06bbe52fc69cd84d3017 (patch)
tree5b53a1b56329d8e3582b3cdf1b6d867cd6299d81 /epan/dissectors/packet-gsm_a_gm.c
parent6582e265a88e08848b9a7510cce817052758be91 (diff)
Add a field for "Revision Level Indicator" in the "MS Radio Access Capability IE".
svn path=/trunk/; revision=33518
Diffstat (limited to 'epan/dissectors/packet-gsm_a_gm.c')
-rw-r--r--epan/dissectors/packet-gsm_a_gm.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/epan/dissectors/packet-gsm_a_gm.c b/epan/dissectors/packet-gsm_a_gm.c
index 537a76deb0..5b81c6e29e 100644
--- a/epan/dissectors/packet-gsm_a_gm.c
+++ b/epan/dissectors/packet-gsm_a_gm.c
@@ -286,6 +286,7 @@ static int hf_gsm_a_sm_packet_flow_id = -1;
static int hf_gsm_a_sm_tmgi = -1;
static int hf_gsm_a_sm_enh_nsapi = -1;
static int hf_gsm_a_sm_req_type = -1;
+static int hf_gsm_a_gm_rel_lev_ind = -1;
static int hf_gsm_a_gmm_net_cap_gea1 = -1;
static int hf_gsm_a_gmm_net_cap_smdch = -1;
@@ -1009,6 +1010,12 @@ static const value_string gsm_a_gm_acc_tech_type_vals[] = {
{ 0, NULL }
};
+static const value_string gsm_a_gm_revision_level_indicator_vals[] = {
+ { 0x00, "The ME is Release '98 or older" },
+ { 0x01, "The ME is Release '99 onwards" },
+
+ { 0, NULL }
+};
guint16
de_gmm_ms_radio_acc_cap(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_)
{
@@ -2015,17 +2022,7 @@ de_gmm_ms_radio_acc_cap(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint l
bits_needed = 1;
GET_DATA;
- /* analyse bits */
- switch ( oct>>(32-bits_needed) )
- {
- case 0x00: str="The ME is Release 98 or older"; break;
- case 0x01: str="The ME is Release 99 onwards"; break;
- default: str="This should not happen";
- }
-
- proto_tree_add_text(tf_tree,
- tvb, curr_offset-1-add_ocetets, 1+add_ocetets,
- "Revision Level Indicator: %s (%u)",str,oct>>(32-bits_needed));
+ proto_tree_add_bits_item(tf_tree, hf_gsm_a_gm_rel_lev_ind, tvb, bit_offset, 1, FALSE);
bit_offset++;
curr_bits_length -= bits_needed;
oct <<= bits_needed;
@@ -6413,6 +6410,11 @@ proto_register_gsm_a_gm(void)
FT_UINT8, BASE_DEC, VALS(gsm_a_sm_req_type_vals), 0x07,
NULL, HFILL }
},
+ { &hf_gsm_a_gm_rel_lev_ind,
+ { "Revision Level Indicator", "gsm_a.gm.rel_lev_ind",
+ FT_UINT8, BASE_HEX, VALS(gsm_a_gm_revision_level_indicator_vals), 0x0,
+ NULL, HFILL }
+ },
};
/* Setup protocol subtree array */