diff options
author | Anders Broman <anders.broman@ericsson.com> | 2011-01-19 06:27:50 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2011-01-19 06:27:50 +0000 |
commit | 4a3eda9862ad674d3724b36692f050d3632dce00 (patch) | |
tree | fe2c504cb76fd75807fbbd3183299eb09fc4531d /epan/dissectors/packet-ulp.c | |
parent | f785ee57ffa26e72558b024b438f74ee3413fbd9 (diff) |
Updated to OMA-TS-ULP-V2_0-20100806-D
with asn1 files from eyimjia.
Files hand edited to pass as2wrs.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5593
(Does not fix the bug)
svn path=/trunk/; revision=35577
Diffstat (limited to 'epan/dissectors/packet-ulp.c')
-rw-r--r-- | epan/dissectors/packet-ulp.c | 139 |
1 files changed, 133 insertions, 6 deletions
diff --git a/epan/dissectors/packet-ulp.c b/epan/dissectors/packet-ulp.c index fdaae0b373..9dcfdd1fc4 100644 --- a/epan/dissectors/packet-ulp.c +++ b/epan/dissectors/packet-ulp.c @@ -269,6 +269,7 @@ static int hf_ulp_utran_GPSReferenceTimeAssistance = -1; /* UTRAN_GPSReferenceT static int hf_ulp_utran_GANSSReferenceTimeAssistance = -1; /* UTRAN_GANSSReferenceTimeAssistance */ static int hf_ulp_emergencyCallLocation = -1; /* NULL */ static int hf_ulp_serviceCapabilities = -1; /* ServiceCapabilities */ +static int hf_ulp_supportedBearers = -1; /* SupportedBearers */ static int hf_ulp_servicesSupported = -1; /* ServicesSupported */ static int hf_ulp_reportingCapabilities = -1; /* ReportingCap */ static int hf_ulp_eventTriggerCapabilities = -1; /* EventTriggerCapabilities */ @@ -284,6 +285,14 @@ static int hf_ulp_polygonArea_01 = -1; /* BOOLEAN */ static int hf_ulp_maxNumberTotalSessions = -1; /* INTEGER_1_128 */ static int hf_ulp_maxNumberPeriodicSessions = -1; /* INTEGER_1_32 */ static int hf_ulp_maxNumberTriggeredSessions = -1; /* INTEGER_1_32 */ +static int hf_ulp_gsm = -1; /* BOOLEAN */ +static int hf_ulp_wcdma = -1; /* BOOLEAN */ +static int hf_ulp_lte = -1; /* BOOLEAN */ +static int hf_ulp_cdma = -1; /* BOOLEAN */ +static int hf_ulp_hprd = -1; /* BOOLEAN */ +static int hf_ulp_umb = -1; /* BOOLEAN */ +static int hf_ulp_wlan = -1; /* BOOLEAN */ +static int hf_ulp_wiMAX = -1; /* BOOLEAN */ static int hf_ulp_lpp = -1; /* BOOLEAN */ static int hf_ulp_posProtocolVersionRRLP = -1; /* PosProtocolVersion3GPP */ static int hf_ulp_posProtocolVersionRRC = -1; /* PosProtocolVersion3GPP */ @@ -350,7 +359,10 @@ static int hf_ulp_gPSWeek = -1; /* INTEGER_0_1023 */ static int hf_ulp_gPSTOWhour = -1; /* INTEGER_0_167 */ static int hf_ulp_gANSSday = -1; /* INTEGER_0_8191 */ static int hf_ulp_gANSSTODhour = -1; /* INTEGER_0_23 */ -static int hf_ulp_lPPPayload = -1; /* OCTET_STRING_SIZE_1_8192 */ +static int hf_ulp_lPPPayload = -1; /* T_lPPPayload */ +static int hf_ulp_lPPPayload_item = -1; /* OCTET_STRING_SIZE_1_60000 */ +static int hf_ulp_tIA801Payload = -1; /* T_tIA801Payload */ +static int hf_ulp_tIA801Payload_item = -1; /* OCTET_STRING_SIZE_1_60000 */ static int hf_ulp_maj = -1; /* INTEGER_0_255 */ static int hf_ulp_min = -1; /* INTEGER_0_255 */ static int hf_ulp_servind = -1; /* INTEGER_0_255 */ @@ -740,6 +752,7 @@ static gint ett_ulp_ServicesSupported = -1; static gint ett_ulp_EventTriggerCapabilities = -1; static gint ett_ulp_GeoAreaShapesSupported = -1; static gint ett_ulp_SessionCapabilities = -1; +static gint ett_ulp_SupportedBearers = -1; static gint ett_ulp_Ver2_PosProtocol_extension = -1; static gint ett_ulp_PosProtocolVersion3GPP = -1; static gint ett_ulp_PosProtocolVersion3GPP2 = -1; @@ -765,6 +778,8 @@ static gint ett_ulp_GanssExtendedEphCheck = -1; static gint ett_ulp_GPSTime = -1; static gint ett_ulp_GANSSextEphTime = -1; static gint ett_ulp_Ver2_PosPayLoad_extension = -1; +static gint ett_ulp_T_lPPPayload = -1; +static gint ett_ulp_T_tIA801Payload = -1; static gint ett_ulp_Version = -1; static gint ett_ulp_SessionID = -1; static gint ett_ulp_SetSessionID = -1; @@ -2280,8 +2295,30 @@ dissect_ulp_ServiceCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } +static const per_sequence_t SupportedBearers_sequence[] = { + { &hf_ulp_gsm , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN }, + { &hf_ulp_wcdma , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN }, + { &hf_ulp_lte , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN }, + { &hf_ulp_cdma , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN }, + { &hf_ulp_hprd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN }, + { &hf_ulp_umb , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN }, + { &hf_ulp_wlan , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN }, + { &hf_ulp_wiMAX , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_ulp_SupportedBearers(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_ulp_SupportedBearers, SupportedBearers_sequence); + + return offset; +} + + static const per_sequence_t Ver2_SETCapabilities_extension_sequence[] = { { &hf_ulp_serviceCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ServiceCapabilities }, + { &hf_ulp_supportedBearers, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_SupportedBearers }, { NULL, 0, 0, NULL } }; @@ -2720,9 +2757,9 @@ dissect_ulp_INTEGER_0_8191(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static const value_string ulp_TAResolution_vals[] = { - { 0, "res1-0chip" }, - { 1, "res0-5chip" }, - { 2, "res0-125chip" }, + { 0, "res10chip" }, + { 1, "res05chip" }, + { 2, "res0125chip" }, { 0, NULL } }; @@ -4493,8 +4530,47 @@ dissect_ulp_T_rrlpPayload(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } + +static int +dissect_ulp_OCTET_STRING_SIZE_1_60000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 1, 60000, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t T_lPPPayload_sequence_of[1] = { + { &hf_ulp_lPPPayload_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_OCTET_STRING_SIZE_1_60000 }, +}; + +static int +dissect_ulp_T_lPPPayload(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_ulp_T_lPPPayload, T_lPPPayload_sequence_of, + 1, 3, FALSE); + + return offset; +} + + +static const per_sequence_t T_tIA801Payload_sequence_of[1] = { + { &hf_ulp_tIA801Payload_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_OCTET_STRING_SIZE_1_60000 }, +}; + +static int +dissect_ulp_T_tIA801Payload(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_ulp_T_tIA801Payload, T_tIA801Payload_sequence_of, + 1, 3, FALSE); + + return offset; +} + + static const per_sequence_t Ver2_PosPayLoad_extension_sequence[] = { - { &hf_ulp_lPPPayload , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_OCTET_STRING_SIZE_1_8192 }, + { &hf_ulp_lPPPayload , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_lPPPayload }, + { &hf_ulp_tIA801Payload , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_tIA801Payload }, { NULL, 0, 0, NULL } }; @@ -7049,6 +7125,10 @@ void proto_register_ulp(void) { { "serviceCapabilities", "ulp.serviceCapabilities", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_ulp_supportedBearers, + { "supportedBearers", "ulp.supportedBearers", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_ulp_servicesSupported, { "servicesSupported", "ulp.servicesSupported", FT_NONE, BASE_NONE, NULL, 0, @@ -7109,6 +7189,38 @@ void proto_register_ulp(void) { { "maxNumberTriggeredSessions", "ulp.maxNumberTriggeredSessions", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_32", HFILL }}, + { &hf_ulp_gsm, + { "gsm", "ulp.gsm", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_ulp_wcdma, + { "wcdma", "ulp.wcdma", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_ulp_lte, + { "lte", "ulp.lte", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_ulp_cdma, + { "cdma", "ulp.cdma", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_ulp_hprd, + { "hprd", "ulp.hprd", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_ulp_umb, + { "umb", "ulp.umb", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_ulp_wlan, + { "wlan", "ulp.wlan", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_ulp_wiMAX, + { "wiMAX", "ulp.wiMAX", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, { &hf_ulp_lpp, { "lpp", "ulp.lpp", FT_BOOLEAN, BASE_NONE, NULL, 0, @@ -7375,8 +7487,20 @@ void proto_register_ulp(void) { "INTEGER_0_23", HFILL }}, { &hf_ulp_lPPPayload, { "lPPPayload", "ulp.lPPPayload", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_ulp_lPPPayload_item, + { "lPPPayload item", "ulp.lPPPayload_item", FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING_SIZE_1_8192", HFILL }}, + "OCTET_STRING_SIZE_1_60000", HFILL }}, + { &hf_ulp_tIA801Payload, + { "tIA801Payload", "ulp.tIA801Payload", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_ulp_tIA801Payload_item, + { "tIA801Payload item", "ulp.tIA801Payload_item", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1_60000", HFILL }}, { &hf_ulp_maj, { "maj", "ulp.maj", FT_UINT32, BASE_DEC, NULL, 0, @@ -8679,6 +8803,7 @@ void proto_register_ulp(void) { &ett_ulp_EventTriggerCapabilities, &ett_ulp_GeoAreaShapesSupported, &ett_ulp_SessionCapabilities, + &ett_ulp_SupportedBearers, &ett_ulp_Ver2_PosProtocol_extension, &ett_ulp_PosProtocolVersion3GPP, &ett_ulp_PosProtocolVersion3GPP2, @@ -8704,6 +8829,8 @@ void proto_register_ulp(void) { &ett_ulp_GPSTime, &ett_ulp_GANSSextEphTime, &ett_ulp_Ver2_PosPayLoad_extension, + &ett_ulp_T_lPPPayload, + &ett_ulp_T_tIA801Payload, &ett_ulp_Version, &ett_ulp_SessionID, &ett_ulp_SetSessionID, |