diff options
author | Anders Broman <anders.broman@ericsson.com> | 2008-03-25 21:49:55 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2008-03-25 21:49:55 +0000 |
commit | 4d1463f62dce36a6183b36b6aa2b26b609fd7386 (patch) | |
tree | 5c4d734bb3cff56a1638fd2743fb82aef894fb78 /asn1/gsmmap | |
parent | bf9a9b83a5d6f62eb22a2c518379937df0cea2dd (diff) |
Export:
dissect_gsm_map_GlobalCellId
dissect_gsm_map_lcs_Ext_GeographicalInformation
Dissect GlobalCellId
Fix offset in GeographicalInformation
use parameter tvb when calling be_chan_type()
svn path=/trunk/; revision=24728
Diffstat (limited to 'asn1/gsmmap')
-rw-r--r-- | asn1/gsmmap/gsmmap.cnf | 26 | ||||
-rw-r--r-- | asn1/gsmmap/packet-gsmmap-template.c | 6 |
2 files changed, 30 insertions, 2 deletions
diff --git a/asn1/gsmmap/gsmmap.cnf b/asn1/gsmmap/gsmmap.cnf index ad41641e06..b1642c5f0e 100644 --- a/asn1/gsmmap/gsmmap.cnf +++ b/asn1/gsmmap/gsmmap.cnf @@ -61,6 +61,7 @@ Ext2-QoS-Subscribed ExtensionContainer GeographicalInformation GetPasswordArg +GlobalCellId GPRSChargingID GPRSMSClass GSMMAPLocalErrorcode @@ -508,7 +509,7 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV; return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_RadioResourceInformation); - be_chan_type(tvb, subtree, 0, tvb_length_remaining(tvb,0), NULL, 0); + be_chan_type(parameter_tvb, subtree, 0, tvb_length_remaining(tvb,0), NULL, 0); #.FN_BODY RANAP-ServiceHandover VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; @@ -586,6 +587,29 @@ if (!actx->value_ptr) break; } +#.FN_BODY GlobalCellId VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb; + proto_tree *subtree; + +%(DEFAULT_BODY)s + + if (!parameter_tvb) + return offset; + + subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GlobalCellId); + be_cell_id_aux(parameter_tvb, subtree, 0, tvb_length_remaining(tvb,0), NULL, 0, 0); + +#.FN_BODY Ext-GeographicalInformation VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb; + proto_tree *subtree; + +%(DEFAULT_BODY)s + + if (!parameter_tvb) + return offset; + + subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GeographicalInformation); + dissect_geographical_description(parameter_tvb, actx->pinfo, subtree); #---------------------------------------------------------------------------------------- #.TYPE_ATTR diff --git a/asn1/gsmmap/packet-gsmmap-template.c b/asn1/gsmmap/packet-gsmmap-template.c index 115ad907a8..7c5586bcc0 100644 --- a/asn1/gsmmap/packet-gsmmap-template.c +++ b/asn1/gsmmap/packet-gsmmap-template.c @@ -178,6 +178,8 @@ static gint ett_gsm_map_MSNetworkCapability =-1; static gint ett_gsm_map_MSRadioAccessCapability = -1; static gint ett_gsm_map_externalsignalinfo = -1; static gint ett_gsm_map_cbs_data_coding = -1; +static gint ett_gsm_map_GlobalCellId = -1; +static gint ett_gsm_map_GeographicalInformation = -1; #include "packet-gsm_map-ett.c" @@ -543,6 +545,7 @@ dissect_geographical_description(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tr offset++; /* Confidence */ proto_tree_add_item(tree, hf_gsm_map_geo_loc_confidence, tvb, offset, 1, FALSE); + offset++; }else if(type_of_shape==8){ /* Ellipsoid Point with Altitude */ /*D: Direction of Altitude */ @@ -589,7 +592,6 @@ dissect_geographical_description(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tr proto_tree_add_item(tree, hf_gsm_map_geo_loc_confidence, tvb, offset, 1, FALSE); }else if(type_of_shape==10){ /* Ellipsoid Arc */ - offset++; /* Inner radius */ proto_tree_add_item(tree, hf_gsm_map_geo_loc_inner_radius, tvb, offset, 2, FALSE); offset= offset +2; @@ -2665,6 +2667,8 @@ void proto_register_gsm_map(void) { &ett_gsm_map_MSRadioAccessCapability, &ett_gsm_map_externalsignalinfo, &ett_gsm_map_cbs_data_coding, + &ett_gsm_map_GlobalCellId, + &ett_gsm_map_GeographicalInformation, #include "packet-gsm_map-ettarr.c" }; |