aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-its.c
diff options
context:
space:
mode:
authorTomas Kukosa <kukosa@herman.cz>2021-05-07 12:53:13 +0200
committerWireshark GitLab Utility <gerald+gitlab-utility@wireshark.org>2021-05-08 06:57:44 +0000
commitf04c6d3b185d9ec3967bb7fee8aa6eb8102f6279 (patch)
tree40bc7d69b7ee31038f41f7751fa6f4f971893026 /epan/dissectors/packet-its.c
parent9c6aef746abd1ea836c21e01d37838133bff4c88 (diff)
ITS: use custom formatters for better readability
Diffstat (limited to 'epan/dissectors/packet-its.c')
-rw-r--r--epan/dissectors/packet-its.c712
1 files changed, 371 insertions, 341 deletions
diff --git a/epan/dissectors/packet-its.c b/epan/dissectors/packet-its.c
index 73d775005d..4aaefa9232 100644
--- a/epan/dissectors/packet-its.c
+++ b/epan/dissectors/packet-its.c
@@ -41,6 +41,7 @@
*/
#include "config.h"
+#include <math.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include <epan/decode_as.h>
@@ -1923,7 +1924,7 @@ static int hf_cpm_node_Z5 = -1; /* Offset_B14 */
static int hf_cpm_node_Z6 = -1; /* Offset_B16 */
/*--- End of included file: packet-its-hf.c ---*/
-#line 287 "./asn1/its/packet-its-template.c"
+#line 288 "./asn1/its/packet-its-template.c"
// CauseCode/SubCauseCode management
static int hf_its_trafficConditionSubCauseCode = -1;
@@ -2524,7 +2525,7 @@ static gint ett_cpm_OffsetPoint = -1;
static gint ett_cpm_NodeOffsetPointZ = -1;
/*--- End of included file: packet-its-ett.c ---*/
-#line 317 "./asn1/its/packet-its-template.c"
+#line 318 "./asn1/its/packet-its-template.c"
// Deal with cause/subcause code management
struct { CauseCodeType_enum cause; int* hf; } cause_to_subcause[] = {
@@ -2630,7 +2631,7 @@ static const per_sequence_t its_ItsPduHeader_sequence[] = {
static int
dissect_its_ItsPduHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 669 "./asn1/its/its.cnf"
+#line 691 "./asn1/its/its.cnf"
guint8 version = tvb_get_guint8(tvb, 0);
int test_offset = offset;
if ((test_offset = dissector_try_uint(its_version_subdissector_table, version, tvb, actx->pinfo, tree))) {
@@ -2925,7 +2926,7 @@ static const per_sequence_t its_PtActivation_sequence[] = {
static int
dissect_its_PtActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 810 "./asn1/its/its.cnf"
+#line 846 "./asn1/its/its.cnf"
void *priv_data = actx->private_data;
its_pt_activation_data_t *pta;
@@ -2935,7 +2936,7 @@ dissect_its_PtActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_its_PtActivation, its_PtActivation_sequence);
-#line 816 "./asn1/its/its.cnf"
+#line 852 "./asn1/its/its.cnf"
dissector_try_uint_new(cam_pt_activation_table, pta->type, pta->data, actx->pinfo, tree, TRUE, NULL);
actx->private_data = priv_data;
@@ -3007,7 +3008,7 @@ dissect_its_CauseCodeType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_its_SubCauseCodeType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 778 "./asn1/its/its.cnf"
+#line 814 "./asn1/its/its.cnf"
// Overwrite hf_index
hf_index = *find_subcause_from_cause((CauseCodeType_enum) ((its_private_data_t*)actx->private_data)->cause_code);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
@@ -3319,12 +3320,6 @@ static const value_string its_PostCrashSubCauseCode_vals[] = {
};
-static const value_string its_CurvatureValue_vals[] = {
- { 0, "straight" },
- { 1023, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_its_CurvatureValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -3389,14 +3384,6 @@ dissect_its_CurvatureCalculationMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
-static const value_string its_HeadingConfidence_vals[] = {
- { 1, "equalOrWithinZeroPointOneDegree" },
- { 10, "equalOrWithinOneDegree" },
- { 126, "outOfRange" },
- { 127, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_its_HeadingConfidence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -3501,13 +3488,6 @@ dissect_its_PerformanceClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
-static const value_string its_SpeedValue_vals[] = {
- { 0, "standstill" },
- { 1, "oneCentimeterPerSec" },
- { 16383, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_its_SpeedValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -3518,14 +3498,6 @@ dissect_its_SpeedValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
}
-static const value_string its_SpeedConfidence_vals[] = {
- { 1, "equalOrWithinOneCentimeterPerSec" },
- { 100, "equalOrWithinOneMeterPerSec" },
- { 126, "outOfRange" },
- { 127, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_its_SpeedConfidence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -3610,13 +3582,6 @@ dissect_its_LongitudinalAccelerationValue(tvbuff_t *tvb _U_, int offset _U_, asn
}
-static const value_string its_AccelerationConfidence_vals[] = {
- { 1, "pointOneMeterPerSecSquared" },
- { 101, "outOfRange" },
- { 102, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_its_AccelerationConfidence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -3642,13 +3607,6 @@ dissect_its_LongitudinalAcceleration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
-static const value_string its_LateralAccelerationValue_vals[] = {
- { -1, "pointOneMeterPerSecSquaredToRight" },
- { 1, "pointOneMeterPerSecSquaredToLeft" },
- { 161, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_its_LateralAccelerationValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -3674,13 +3632,6 @@ dissect_its_LateralAcceleration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
-static const value_string its_VerticalAccelerationValue_vals[] = {
- { 1, "pointOneMeterPerSecSquaredUp" },
- { -1, "pointOneMeterPerSecSquaredDown" },
- { 161, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_its_VerticalAccelerationValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -4194,13 +4145,6 @@ dissect_its_EnergyStorageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
-static const value_string its_VehicleLengthValue_vals[] = {
- { 1, "tenCentimeters" },
- { 1022, "outOfRange" },
- { 1023, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_its_VehicleLengthValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -4245,13 +4189,6 @@ dissect_its_VehicleLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
}
-static const value_string its_VehicleWidth_vals[] = {
- { 1, "tenCentimeters" },
- { 61, "outOfRange" },
- { 62, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_its_VehicleWidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -4326,14 +4263,6 @@ dissect_its_RoadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
}
-static const value_string its_SteeringWheelAngleValue_vals[] = {
- { 0, "straight" },
- { -1, "onePointFiveDegreesToRight" },
- { 1, "onePointFiveDegreesToLeft" },
- { 512, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_its_SteeringWheelAngleValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -4344,13 +4273,6 @@ dissect_its_SteeringWheelAngleValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
-static const value_string its_SteeringWheelAngleConfidence_vals[] = {
- { 1, "equalOrWithinOnePointFiveDegree" },
- { 126, "outOfRange" },
- { 127, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_its_SteeringWheelAngleConfidence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -4422,14 +4344,6 @@ dissect_its_VehicleRole(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
}
-static const value_string its_YawRateValue_vals[] = {
- { 0, "straight" },
- { -1, "degSec-000-01ToRight" },
- { 1, "degSec-000-01ToLeft" },
- { 32767, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_its_YawRateValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -5084,7 +4998,7 @@ static const per_sequence_t itsv1_PtActivation_sequence[] = {
static int
dissect_itsv1_PtActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 810 "./asn1/its/its.cnf"
+#line 846 "./asn1/its/its.cnf"
void *priv_data = actx->private_data;
its_pt_activation_data_t *pta;
@@ -5094,7 +5008,7 @@ dissect_itsv1_PtActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_itsv1_PtActivation, itsv1_PtActivation_sequence);
-#line 816 "./asn1/its/its.cnf"
+#line 852 "./asn1/its/its.cnf"
dissector_try_uint_new(cam_pt_activation_table, pta->type, pta->data, actx->pinfo, tree, TRUE, NULL);
actx->private_data = priv_data;
@@ -5207,14 +5121,6 @@ dissect_itsv1_RoadworksSubCauseCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
-static const value_string itsv1_CurvatureValue_vals[] = {
- { 0, "straight" },
- { -30000, "reciprocalOf1MeterRadiusToRight" },
- { 30000, "reciprocalOf1MeterRadiusToLeft" },
- { 30001, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_itsv1_CurvatureValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -5279,14 +5185,6 @@ dissect_itsv1_CurvatureCalculationMode(tvbuff_t *tvb _U_, int offset _U_, asn1_c
}
-static const value_string itsv1_HeadingConfidence_vals[] = {
- { 1, "equalOrWithinZeroPointOneDegree" },
- { 10, "equalOrWithinOneDegree" },
- { 126, "outOfRange" },
- { 127, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_itsv1_HeadingConfidence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -5395,13 +5293,6 @@ dissect_itsv1_PerformanceClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
-static const value_string itsv1_SpeedValue_vals[] = {
- { 0, "standstill" },
- { 1, "oneCentimeterPerSec" },
- { 16383, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_itsv1_SpeedValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -5412,14 +5303,6 @@ dissect_itsv1_SpeedValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
}
-static const value_string itsv1_SpeedConfidence_vals[] = {
- { 1, "equalOrWithinOneCentimeterPerSec" },
- { 100, "equalOrWithinOneMeterPerSec" },
- { 126, "outOfRange" },
- { 127, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_itsv1_SpeedConfidence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -5504,13 +5387,6 @@ dissect_itsv1_LongitudinalAccelerationValue(tvbuff_t *tvb _U_, int offset _U_, a
}
-static const value_string itsv1_AccelerationConfidence_vals[] = {
- { 1, "pointOneMeterPerSecSquared" },
- { 101, "outOfRange" },
- { 102, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_itsv1_AccelerationConfidence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -5536,13 +5412,6 @@ dissect_itsv1_LongitudinalAcceleration(tvbuff_t *tvb _U_, int offset _U_, asn1_c
}
-static const value_string itsv1_LateralAccelerationValue_vals[] = {
- { -1, "pointOneMeterPerSecSquaredToRight" },
- { 1, "pointOneMeterPerSecSquaredToLeft" },
- { 161, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_itsv1_LateralAccelerationValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -5568,13 +5437,6 @@ dissect_itsv1_LateralAcceleration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-static const value_string itsv1_VerticalAccelerationValue_vals[] = {
- { 1, "pointOneMeterPerSecSquaredUp" },
- { -1, "pointOneMeterPerSecSquaredDown" },
- { 161, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_itsv1_VerticalAccelerationValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -6078,13 +5940,6 @@ dissect_itsv1_EnergyStorageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
-static const value_string itsv1_VehicleLengthValue_vals[] = {
- { 1, "tenCentimeters" },
- { 1022, "outOfRange" },
- { 1023, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_itsv1_VehicleLengthValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -6129,13 +5984,6 @@ dissect_itsv1_VehicleLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
-static const value_string itsv1_VehicleWidth_vals[] = {
- { 1, "tenCentimeters" },
- { 61, "outOfRange" },
- { 62, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_itsv1_VehicleWidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -6210,14 +6058,6 @@ dissect_itsv1_RoadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
}
-static const value_string itsv1_SteeringWheelAngleValue_vals[] = {
- { 0, "straight" },
- { -1, "onePointFiveDegreesToRight" },
- { 1, "onePointFiveDegreesToLeft" },
- { 512, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_itsv1_SteeringWheelAngleValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -6228,13 +6068,6 @@ dissect_itsv1_SteeringWheelAngleValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
}
-static const value_string itsv1_SteeringWheelAngleConfidence_vals[] = {
- { 1, "equalOrWithinOnePointFiveDegree" },
- { 126, "outOfRange" },
- { 127, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_itsv1_SteeringWheelAngleConfidence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -6306,14 +6139,6 @@ dissect_itsv1_VehicleRole(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
}
-static const value_string itsv1_YawRateValue_vals[] = {
- { 0, "straight" },
- { -1, "degSec-000-01ToRight" },
- { 1, "degSec-000-01ToLeft" },
- { 32767, "unavailable" },
- { 0, NULL }
-};
-
static int
dissect_itsv1_YawRateValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -7421,14 +7246,14 @@ static const per_sequence_t dsrc_Position3D_sequence[] = {
static int
dissect_dsrc_Position3D(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 574 "./asn1/its/its.cnf"
+#line 596 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_Position3D;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_Position3D, dsrc_Position3D_sequence);
-#line 578 "./asn1/its/its.cnf"
+#line 600 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -7773,14 +7598,14 @@ static const per_sequence_t dsrc_LaneAttributes_sequence[] = {
static int
dissect_dsrc_LaneAttributes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 520 "./asn1/its/its.cnf"
+#line 542 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_LaneAttributes;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_LaneAttributes, dsrc_LaneAttributes_sequence);
-#line 524 "./asn1/its/its.cnf"
+#line 546 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -8003,7 +7828,7 @@ static const per_choice_t dsrc_NodeOffsetPointXY_choice[] = {
static int
dissect_dsrc_NodeOffsetPointXY(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 565 "./asn1/its/its.cnf"
+#line 587 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_NodeOffsetPointXY;
@@ -8011,7 +7836,7 @@ dissect_dsrc_NodeOffsetPointXY(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
ett_dsrc_NodeOffsetPointXY, dsrc_NodeOffsetPointXY_choice,
NULL);
-#line 569 "./asn1/its/its.cnf"
+#line 591 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -8192,7 +8017,7 @@ static const per_choice_t dsrc_LaneDataAttribute_choice[] = {
static int
dissect_dsrc_LaneDataAttribute(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 529 "./asn1/its/its.cnf"
+#line 551 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_LaneDataAttribute;
@@ -8200,7 +8025,7 @@ dissect_dsrc_LaneDataAttribute(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
ett_dsrc_LaneDataAttribute, dsrc_LaneDataAttribute_choice,
NULL);
-#line 533 "./asn1/its/its.cnf"
+#line 555 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -8248,14 +8073,14 @@ static const per_sequence_t dsrc_NodeAttributeSetXY_sequence[] = {
static int
dissect_dsrc_NodeAttributeSetXY(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 556 "./asn1/its/its.cnf"
+#line 578 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_NodeAttributeSetXY;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_NodeAttributeSetXY, dsrc_NodeAttributeSetXY_sequence);
-#line 560 "./asn1/its/its.cnf"
+#line 582 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -8402,14 +8227,14 @@ static const per_sequence_t dsrc_ComputedLane_sequence[] = {
static int
dissect_dsrc_ComputedLane(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 475 "./asn1/its/its.cnf"
+#line 497 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_ComputedLane;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_ComputedLane, dsrc_ComputedLane_sequence);
-#line 479 "./asn1/its/its.cnf"
+#line 501 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -8559,14 +8384,14 @@ static const per_sequence_t dsrc_GenericLane_sequence[] = {
static int
dissect_dsrc_GenericLane(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 493 "./asn1/its/its.cnf"
+#line 515 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_GenericLane;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_GenericLane, dsrc_GenericLane_sequence);
-#line 497 "./asn1/its/its.cnf"
+#line 519 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -8594,14 +8419,14 @@ static const per_sequence_t dsrc_SignalControlZone_sequence[] = {
static int
dissect_dsrc_SignalControlZone(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 655 "./asn1/its/its.cnf"
+#line 677 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_SignalControlZone;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_SignalControlZone, dsrc_SignalControlZone_sequence);
-#line 659 "./asn1/its/its.cnf"
+#line 681 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -8651,14 +8476,14 @@ static const per_sequence_t dsrc_IntersectionGeometry_sequence[] = {
static int
dissect_dsrc_IntersectionGeometry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 502 "./asn1/its/its.cnf"
+#line 524 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_IntersectionGeometry;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_IntersectionGeometry, dsrc_IntersectionGeometry_sequence);
-#line 506 "./asn1/its/its.cnf"
+#line 528 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -8746,14 +8571,14 @@ static const per_sequence_t dsrc_RoadSegment_sequence[] = {
static int
dissect_dsrc_RoadSegment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 610 "./asn1/its/its.cnf"
+#line 632 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_RoadSegment;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_RoadSegment, dsrc_RoadSegment_sequence);
-#line 614 "./asn1/its/its.cnf"
+#line 636 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -8857,7 +8682,7 @@ static const per_choice_t dsrc_RestrictionUserType_choice[] = {
static int
dissect_dsrc_RestrictionUserType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 601 "./asn1/its/its.cnf"
+#line 623 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_RestrictionUserType;
@@ -8865,7 +8690,7 @@ dissect_dsrc_RestrictionUserType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
ett_dsrc_RestrictionUserType, dsrc_RestrictionUserType_choice,
NULL);
-#line 605 "./asn1/its/its.cnf"
+#line 627 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -8944,7 +8769,7 @@ static const per_sequence_t dsrc_MapData_sequence[] = {
static int
dissect_dsrc_MapData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 379 "./asn1/its/its.cnf"
+#line 401 "./asn1/its/its.cnf"
its_private_data_t *regext = wmem_new0(wmem_packet_scope(), its_private_data_t);
actx->private_data = (void*)regext;
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "MAPEM");
@@ -9502,7 +9327,7 @@ static const per_sequence_t dsrc_RTCMcorrections_sequence[] = {
static int
dissect_dsrc_RTCMcorrections(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 396 "./asn1/its/its.cnf"
+#line 418 "./asn1/its/its.cnf"
its_private_data_t *regext = wmem_new0(wmem_packet_scope(), its_private_data_t);
actx->private_data = (void*)regext;
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "RTCMEM");
@@ -9684,14 +9509,14 @@ static const per_sequence_t dsrc_AdvisorySpeed_sequence[] = {
static int
dissect_dsrc_AdvisorySpeed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 466 "./asn1/its/its.cnf"
+#line 488 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_AdvisorySpeed;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_AdvisorySpeed, dsrc_AdvisorySpeed_sequence);
-#line 470 "./asn1/its/its.cnf"
+#line 492 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -9736,14 +9561,14 @@ static const per_sequence_t dsrc_MovementEvent_sequence[] = {
static int
dissect_dsrc_MovementEvent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 538 "./asn1/its/its.cnf"
+#line 560 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_MovementEvent;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_MovementEvent, dsrc_MovementEvent_sequence);
-#line 542 "./asn1/its/its.cnf"
+#line 564 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -9808,14 +9633,14 @@ static const per_sequence_t dsrc_ConnectionManeuverAssist_sequence[] = {
static int
dissect_dsrc_ConnectionManeuverAssist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 484 "./asn1/its/its.cnf"
+#line 506 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_ConnectionManeuverAssist;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_ConnectionManeuverAssist, dsrc_ConnectionManeuverAssist_sequence);
-#line 488 "./asn1/its/its.cnf"
+#line 510 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -9861,14 +9686,14 @@ static const per_sequence_t dsrc_MovementState_sequence[] = {
static int
dissect_dsrc_MovementState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 547 "./asn1/its/its.cnf"
+#line 569 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_MovementState;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_MovementState, dsrc_MovementState_sequence);
-#line 551 "./asn1/its/its.cnf"
+#line 573 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -9919,14 +9744,14 @@ static const per_sequence_t dsrc_IntersectionState_sequence[] = {
static int
dissect_dsrc_IntersectionState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 511 "./asn1/its/its.cnf"
+#line 533 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_IntersectionState;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_IntersectionState, dsrc_IntersectionState_sequence);
-#line 515 "./asn1/its/its.cnf"
+#line 537 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -9971,7 +9796,7 @@ static const per_sequence_t dsrc_SPAT_sequence[] = {
static int
dissect_dsrc_SPAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 387 "./asn1/its/its.cnf"
+#line 409 "./asn1/its/its.cnf"
its_private_data_t *regext = wmem_new0(wmem_packet_scope(), its_private_data_t);
actx->private_data = (void*)regext;
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "SPATEM");
@@ -10063,14 +9888,14 @@ static const per_sequence_t dsrc_SignalRequest_sequence[] = {
static int
dissect_dsrc_SignalRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 628 "./asn1/its/its.cnf"
+#line 650 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_SignalRequest;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_SignalRequest, dsrc_SignalRequest_sequence);
-#line 632 "./asn1/its/its.cnf"
+#line 654 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -10102,14 +9927,14 @@ static const per_sequence_t dsrc_SignalRequestPackage_sequence[] = {
static int
dissect_dsrc_SignalRequestPackage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 619 "./asn1/its/its.cnf"
+#line 641 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_SignalRequestPackage;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_SignalRequestPackage, dsrc_SignalRequestPackage_sequence);
-#line 623 "./asn1/its/its.cnf"
+#line 645 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -10301,14 +10126,14 @@ static const per_sequence_t dsrc_RequestorType_sequence[] = {
static int
dissect_dsrc_RequestorType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 592 "./asn1/its/its.cnf"
+#line 614 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_RequestorType;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_RequestorType, dsrc_RequestorType_sequence);
-#line 596 "./asn1/its/its.cnf"
+#line 618 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -10411,14 +10236,14 @@ static const per_sequence_t dsrc_RequestorDescription_sequence[] = {
static int
dissect_dsrc_RequestorDescription(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 583 "./asn1/its/its.cnf"
+#line 605 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_RequestorDescription;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_RequestorDescription, dsrc_RequestorDescription_sequence);
-#line 587 "./asn1/its/its.cnf"
+#line 609 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -10451,7 +10276,7 @@ static const per_sequence_t dsrc_SignalRequestMessage_sequence[] = {
static int
dissect_dsrc_SignalRequestMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 371 "./asn1/its/its.cnf"
+#line 393 "./asn1/its/its.cnf"
its_private_data_t *regext = wmem_new0(wmem_packet_scope(), its_private_data_t);
actx->private_data = (void*)regext;
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "SREM");
@@ -10533,14 +10358,14 @@ static const per_sequence_t dsrc_SignalStatusPackage_sequence[] = {
static int
dissect_dsrc_SignalStatusPackage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 637 "./asn1/its/its.cnf"
+#line 659 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_SignalStatusPackage;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_SignalStatusPackage, dsrc_SignalStatusPackage_sequence);
-#line 641 "./asn1/its/its.cnf"
+#line 663 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -10585,14 +10410,14 @@ static const per_sequence_t dsrc_SignalStatus_sequence[] = {
static int
dissect_dsrc_SignalStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 646 "./asn1/its/its.cnf"
+#line 668 "./asn1/its/its.cnf"
enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
((its_private_data_t*)actx->private_data)->type = Reg_SignalStatus;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_dsrc_SignalStatus, dsrc_SignalStatus_sequence);
-#line 650 "./asn1/its/its.cnf"
+#line 672 "./asn1/its/its.cnf"
((its_private_data_t*)actx->private_data)->type = save;
return offset;
@@ -10638,7 +10463,7 @@ static const per_sequence_t dsrc_SignalStatusMessage_sequence[] = {
static int
dissect_dsrc_SignalStatusMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 363 "./asn1/its/its.cnf"
+#line 385 "./asn1/its/its.cnf"
its_private_data_t *regext = wmem_new0(wmem_packet_scope(), its_private_data_t);
actx->private_data = (void*)regext;
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "SSEM");
@@ -10785,7 +10610,7 @@ static const per_sequence_t AddGrpC_ConnectionManeuverAssist_addGrpC_sequence[]
static int
dissect_AddGrpC_ConnectionManeuverAssist_addGrpC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 411 "./asn1/its/its.cnf"
+#line 433 "./asn1/its/its.cnf"
actx->private_data = wmem_new0(wmem_packet_scope(), its_private_data_t);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10803,7 +10628,7 @@ static const per_sequence_t AddGrpC_ConnectionTrajectory_addGrpC_sequence[] = {
static int
dissect_AddGrpC_ConnectionTrajectory_addGrpC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 416 "./asn1/its/its.cnf"
+#line 438 "./asn1/its/its.cnf"
actx->private_data = wmem_new0(wmem_packet_scope(), its_private_data_t);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10850,7 +10675,7 @@ static const per_sequence_t AddGrpC_IntersectionState_addGrpC_sequence[] = {
static int
dissect_AddGrpC_IntersectionState_addGrpC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 426 "./asn1/its/its.cnf"
+#line 448 "./asn1/its/its.cnf"
actx->private_data = wmem_new0(wmem_packet_scope(), its_private_data_t);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10868,7 +10693,7 @@ static const per_sequence_t AddGrpC_LaneAttributes_addGrpC_sequence[] = {
static int
dissect_AddGrpC_LaneAttributes_addGrpC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 451 "./asn1/its/its.cnf"
+#line 473 "./asn1/its/its.cnf"
actx->private_data = wmem_new0(wmem_packet_scope(), its_private_data_t);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10915,7 +10740,7 @@ static const per_sequence_t AddGrpC_MapData_addGrpC_sequence[] = {
static int
dissect_AddGrpC_MapData_addGrpC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 431 "./asn1/its/its.cnf"
+#line 453 "./asn1/its/its.cnf"
actx->private_data = wmem_new0(wmem_packet_scope(), its_private_data_t);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10959,7 +10784,7 @@ static const per_sequence_t AddGrpC_MovementEvent_addGrpC_sequence[] = {
static int
dissect_AddGrpC_MovementEvent_addGrpC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 456 "./asn1/its/its.cnf"
+#line 478 "./asn1/its/its.cnf"
actx->private_data = wmem_new0(wmem_packet_scope(), its_private_data_t);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11037,7 +10862,7 @@ static const per_sequence_t AddGrpC_NodeAttributeSet_addGrpC_sequence[] = {
static int
dissect_AddGrpC_NodeAttributeSet_addGrpC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 421 "./asn1/its/its.cnf"
+#line 443 "./asn1/its/its.cnf"
actx->private_data = wmem_new0(wmem_packet_scope(), its_private_data_t);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11054,7 +10879,7 @@ static const per_sequence_t AddGrpC_Position3D_addGrpC_sequence[] = {
static int
dissect_AddGrpC_Position3D_addGrpC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 436 "./asn1/its/its.cnf"
+#line 458 "./asn1/its/its.cnf"
actx->private_data = wmem_new0(wmem_packet_scope(), its_private_data_t);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11092,7 +10917,7 @@ static const per_sequence_t AddGrpC_RestrictionUserType_addGrpC_sequence[] = {
static int
dissect_AddGrpC_RestrictionUserType_addGrpC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 441 "./asn1/its/its.cnf"
+#line 463 "./asn1/its/its.cnf"
actx->private_data = wmem_new0(wmem_packet_scope(), its_private_data_t);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11128,7 +10953,7 @@ static const per_sequence_t AddGrpC_RequestorDescription_addGrpC_sequence[] = {
static int
dissect_AddGrpC_RequestorDescription_addGrpC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 461 "./asn1/its/its.cnf"
+#line 483 "./asn1/its/its.cnf"
actx->private_data = wmem_new0(wmem_packet_scope(), its_private_data_t);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11166,7 +10991,7 @@ static const per_sequence_t AddGrpC_SignalStatusPackage_addGrpC_sequence[] = {
static int
dissect_AddGrpC_SignalStatusPackage_addGrpC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 446 "./asn1/its/its.cnf"
+#line 468 "./asn1/its/its.cnf"
actx->private_data = wmem_new0(wmem_packet_scope(), its_private_data_t);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11661,7 +11486,7 @@ static const value_string gdd_Code_Units_vals[] = {
static int
dissect_gdd_T_unit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 803 "./asn1/its/its.cnf"
+#line 839 "./asn1/its/its.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2U, 8U, NULL, FALSE);
@@ -11688,7 +11513,7 @@ dissect_gdd_Distance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
static int
dissect_gdd_T_unit_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 793 "./asn1/its/its.cnf"
+#line 829 "./asn1/its/its.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10U, 12U, NULL, FALSE);
@@ -11742,7 +11567,7 @@ dissect_gdd_INTEGER_0_250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_gdd_T_unit_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 788 "./asn1/its/its.cnf"
+#line 824 "./asn1/its/its.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1U, NULL, FALSE);
@@ -12041,7 +11866,7 @@ dissect_gdd_DistOrDuration_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
dissect_gdd_DistOrDuration_Units(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 798 "./asn1/its/its.cnf"
+#line 834 "./asn1/its/its.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2U, 9U, NULL, FALSE);
@@ -14483,7 +14308,7 @@ static const per_sequence_t ivi_IviStructure_sequence[] = {
static int
dissect_ivi_IviStructure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 357 "./asn1/its/its.cnf"
+#line 379 "./asn1/its/its.cnf"
actx->private_data = (void*)wmem_new0(wmem_packet_scope(), its_private_data_t);
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "IVIM");
col_set_str(actx->pinfo->cinfo, COL_INFO, "IVIM");
@@ -14527,11 +14352,6 @@ static int dissect_ivi_IviStructure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U
/* --- Module CAMv1-PDU-Descriptions --- --- --- */
-static const value_string camv1_GenerationDeltaTime_vals[] = {
- { 1, "oneMilliSec" },
- { 0, NULL }
-};
-
static int
dissect_camv1_GenerationDeltaTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -14822,7 +14642,7 @@ static const per_sequence_t camv1_CoopAwarenessV1_sequence[] = {
static int
dissect_camv1_CoopAwarenessV1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 321 "./asn1/its/its.cnf"
+#line 343 "./asn1/its/its.cnf"
actx->private_data = (void*)wmem_new0(wmem_packet_scope(), its_private_data_t);
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "CAMv1");
col_set_str(actx->pinfo->cinfo, COL_INFO, "CAMv1");
@@ -14848,11 +14668,6 @@ static int dissect_camv1_CoopAwarenessV1_PDU(tvbuff_t *tvb _U_, packet_info *pin
/* --- Module CAM-PDU-Descriptions --- --- --- */
-static const value_string cam_GenerationDeltaTime_vals[] = {
- { 1, "oneMilliSec" },
- { 0, NULL }
-};
-
static int
dissect_cam_GenerationDeltaTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -15143,7 +14958,7 @@ static const per_sequence_t cam_CoopAwareness_sequence[] = {
static int
dissect_cam_CoopAwareness(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 315 "./asn1/its/its.cnf"
+#line 337 "./asn1/its/its.cnf"
actx->private_data = (void*)wmem_new0(wmem_packet_scope(), its_private_data_t);
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "CAM");
col_set_str(actx->pinfo->cinfo, COL_INFO, "CAM");
@@ -15351,7 +15166,7 @@ static const per_sequence_t denmv1_DecentralizedEnvironmentalNotificationMessage
static int
dissect_denmv1_DecentralizedEnvironmentalNotificationMessageV1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 333 "./asn1/its/its.cnf"
+#line 355 "./asn1/its/its.cnf"
actx->private_data = (void*)wmem_new0(wmem_packet_scope(), its_private_data_t);
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "DENMv1");
col_set_str(actx->pinfo->cinfo, COL_INFO, "DENMv1");
@@ -15559,7 +15374,7 @@ static const per_sequence_t denm_DecentralizedEnvironmentalNotificationMessage_s
static int
dissect_denm_DecentralizedEnvironmentalNotificationMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 327 "./asn1/its/its.cnf"
+#line 349 "./asn1/its/its.cnf"
actx->private_data = (void*)wmem_new0(wmem_packet_scope(), its_private_data_t);
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "DENM");
col_set_str(actx->pinfo->cinfo, COL_INFO, "DENM");
@@ -16663,7 +16478,7 @@ static const per_choice_t tistpg_TisTpgTransaction_choice[] = {
static int
dissect_tistpg_TisTpgTransaction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 351 "./asn1/its/its.cnf"
+#line 373 "./asn1/its/its.cnf"
actx->private_data = (void*)wmem_new0(wmem_packet_scope(), its_private_data_t);
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "TISTPG");
col_set_str(actx->pinfo->cinfo, COL_INFO, "TISTPG");
@@ -16796,7 +16611,7 @@ dissect_evcsn_ChargingSpotType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_evcsn_TypeOfReceptacle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 706 "./asn1/its/its.cnf"
+#line 728 "./asn1/its/its.cnf"
tvbuff_t *parameter_tvb = NULL;
int len;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
@@ -16970,7 +16785,7 @@ static const per_sequence_t evcsn_EVChargingSpotNotificationPOIMessage_sequence[
static int
dissect_evcsn_EVChargingSpotNotificationPOIMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 339 "./asn1/its/its.cnf"
+#line 361 "./asn1/its/its.cnf"
actx->private_data = (void*)wmem_new0(wmem_packet_scope(), its_private_data_t);
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "EVCSN");
col_set_str(actx->pinfo->cinfo, COL_INFO, "EVCSN");
@@ -17474,7 +17289,7 @@ static const per_choice_t evrsr_EV_RSR_MessageBody_choice[] = {
static int
dissect_evrsr_EV_RSR_MessageBody(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 345 "./asn1/its/its.cnf"
+#line 367 "./asn1/its/its.cnf"
actx->private_data = (void*)wmem_new0(wmem_packet_scope(), its_private_data_t);
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "EV-RSR");
col_set_str(actx->pinfo->cinfo, COL_INFO, "EV-RSR");
@@ -18866,7 +18681,7 @@ static const per_sequence_t cpm_CollectivePerceptionMessage_sequence[] = {
static int
dissect_cpm_CollectivePerceptionMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 404 "./asn1/its/its.cnf"
+#line 426 "./asn1/its/its.cnf"
actx->private_data = (void*)wmem_new0(wmem_packet_scope(), its_private_data_t);
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "CPM");
col_set_str(actx->pinfo->cinfo, COL_INFO, "CPM");
@@ -18890,7 +18705,7 @@ static int dissect_cpm_CollectivePerceptionMessage_PDU(tvbuff_t *tvb _U_, packet
/*--- End of included file: packet-its-fn.c ---*/
-#line 359 "./asn1/its/packet-its-template.c"
+#line 360 "./asn1/its/packet-its-template.c"
static void
its_latitude_fmt(gchar *s, guint32 v)
@@ -18931,7 +18746,7 @@ its_altitude_fmt(gchar *s, guint32 v)
if (alt == 800001) {
g_snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", alt);
} else {
- g_snprintf(s, ITEM_LABEL_LENGTH, "%.2fm (%d)", alt / 100.0, alt);
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.2fm (%d)", alt * 0.01, alt);
}
}
@@ -18943,21 +18758,236 @@ its_sax_length_fmt(gchar *s, guint32 v)
} else if (v == 4094) {
g_snprintf(s, ITEM_LABEL_LENGTH, "outOfRange(%d)", v);
} else {
- g_snprintf(s, ITEM_LABEL_LENGTH, "%.2fm (%d)", v / 100.0, v);
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.2fm (%d)", v * 0.01, v);
}
}
static void
-its_heading_fmt(gchar *s, guint32 v)
+its_heading_value_fmt(gchar *s, guint32 v)
{
const gchar *p = try_val_to_str(v, VALS(its_HeadingValue_vals));
if (p) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%s(%d)", p, v);
} else {
- g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f° (%d)", v / 10.0, v);
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f° (%d)", v * 0.1, v);
+ }
+}
+
+static void
+its_heading_confidence_fmt(gchar *s, guint32 v)
+{
+ if (v == 127) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", v);
+ } else if (v == 126) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "outOfRange(%d)", v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f° (%d)", v * 0.1, v);
+ }
+}
+
+static void
+its_speed_value_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "standstill(%d)", v);
+ } else if (v == 16383) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", v);
+ } else {
+ double vms = v * 0.01;
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.2fm/s = %.1fkm/h (%d)",
+ vms, vms * 3.6, v);
+ }
+}
+
+static void
+its_speed_confidence_fmt(gchar *s, guint32 v)
+{
+ if (v == 127) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", v);
+ } else if (v == 126) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "outOfRange(%d)", v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.2fm/s (%d)", v * 0.01, v);
+ }
+}
+
+static void
+its_vehicle_length_value_fmt(gchar *s, guint32 v)
+{
+ if (v == 1023) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", v);
+ } else if (v == 1022) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "outOfRange(%d)", v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fm (%d)", v * 0.1, v);
+ }
+}
+
+static void
+its_vehicle_width_fmt(gchar *s, guint32 v)
+{
+ if (v == 62) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", v);
+ } else if (v == 61) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "outOfRange(%d)", v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fm (%d)", v * 0.1, v);
+ }
+}
+
+static void
+its_acceleration_value_fmt(gchar *s, guint32 v)
+{
+ gint32 acc = (gint32)v;
+ if (acc == 161) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fm/s² (%d)", acc * 0.1, acc);
+ }
+}
+
+static void
+its_acceleration_confidence_fmt(gchar *s, guint32 v)
+{
+ if (v == 102) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", v);
+ } else if (v == 101) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "outOfRange(%d)", v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fm/s² (%d)", v * 0.1, v);
+ }
+}
+
+static void
+its_curvature_value_fmt(gchar *s, guint32 v)
+{
+ gint32 curv = (gint32)v;
+ if (curv == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "straight(%d)", v);
+ } else if (curv == 1023) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.3fm %s (%d)",
+ 30000.0 / curv,
+ (curv > 0) ? "left" : "right",
+ curv);
+ }
+}
+
+static void
+its_yaw_rate_value_fmt(gchar *s, guint32 v)
+{
+ gint32 yaw = (gint32)v;
+ if (yaw == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "straight(%d)", v);
+ } else if (yaw == 32767) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.2f°/s %s (%d)",
+ yaw * 0.01,
+ (yaw > 0) ? "left" : "right",
+ yaw);
+ }
+}
+
+static void
+its_swa_value_fmt(gchar *s, guint32 v)
+{
+ gint32 swa = (gint32)v;
+ if (swa == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "straight(%d)", v);
+ } else if (swa == 512) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f° %s (%d)",
+ swa * 1.5,
+ (swa > 0) ? "left" : "right",
+ swa);
+ }
+}
+
+static void
+its_swa_confidence_fmt(gchar *s, guint32 v)
+{
+ if (v == 127) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", v);
+ } else if (v == 126) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "outOfRange(%d)", v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f° (%d)", v * 1.5, v);
+ }
+}
+
+static void
+dsrc_moi_fmt(gchar *s, guint32 v)
+{
+ if (v == 527040) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "invalid(%d)", v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%ud %02u:%02u (%d)",
+ v / 1440, v % 1440 / 60, v % 60, v);
+ }
+}
+
+static void
+dsrc_dsecond_fmt(gchar *s, guint32 v)
+{
+ if (v == 65535) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", v);
+ } else if ((61000 <= v) && (v <= 65534)) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "reserved(%d)", v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%02u.%03u (%d)",
+ v / 1000, v % 1000, v);
+ }
+}
+
+static void
+dsrc_time_mark_fmt(gchar *s, guint32 v)
+{
+ if (v == 36001) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "unknown(%d)", v);
+ } else if (v == 36000) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "moreThanHour(%d)", v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%02u:%02u.%u (%d)",
+ v / 600, v % 600 / 10, v % 10, v);
+ }
+}
+
+static const value_string dsrc_TimeIntervalConfidence_vals[] = {
+ { 0, "21% probability" },
+ { 1, "36% probability" },
+ { 2, "47% probability" },
+ { 3, "56% probability" },
+ { 4, "62% probability" },
+ { 5, "68% probability" },
+ { 6, "73% probability" },
+ { 7, "77% probability" },
+ { 8, "81% probability" },
+ { 9, "85% probability" },
+ { 10, "88% probability" },
+ { 11, "91% probability" },
+ { 12, "94% probability" },
+ { 13, "96% probability" },
+ { 14, "98% probability" },
+ { 15, "10% probability" },
+ { 0, NULL }
+};
+
+static void
+dsrc_velocity_fmt(gchar *s, guint32 v)
+{
+ if (v == 8191) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", v);
+ } else {
+ double vms = v * 0.02;
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.2fm/s = %ukm/h (%d)",
+ vms, (int)lround(vms * 3.6), v);
}
}
+
static int
dissect_its_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
{
@@ -19060,7 +19090,7 @@ void proto_register_its(void)
"SemiAxisLength", HFILL }},
{ &hf_its_semiMajorOrientation,
{ "semiMajorOrientation", "its.semiMajorOrientation",
- FT_UINT32, BASE_CUSTOM, CF_FUNC(its_heading_fmt), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_heading_value_fmt), 0,
"HeadingValue", HFILL }},
{ &hf_its_pathPosition,
{ "pathPosition", "its.pathPosition_element",
@@ -19088,7 +19118,7 @@ void proto_register_its(void)
"SubCauseCodeType", HFILL }},
{ &hf_its_curvatureValue,
{ "curvatureValue", "its.curvatureValue",
- FT_INT32, BASE_DEC, VALS(its_CurvatureValue_vals), 0,
+ FT_INT32, BASE_CUSTOM, CF_FUNC(its_curvature_value_fmt), 0,
NULL, HFILL }},
{ &hf_its_curvatureConfidence,
{ "curvatureConfidence", "its.curvatureConfidence",
@@ -19096,11 +19126,11 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_its_headingValue,
{ "headingValue", "its.headingValue",
- FT_UINT32, BASE_CUSTOM, CF_FUNC(its_heading_fmt), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_heading_value_fmt), 0,
NULL, HFILL }},
{ &hf_its_headingConfidence,
{ "headingConfidence", "its.headingConfidence",
- FT_UINT32, BASE_DEC, VALS(its_HeadingConfidence_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_heading_confidence_fmt), 0,
NULL, HFILL }},
{ &hf_its_innerhardShoulderStatus,
{ "innerhardShoulderStatus", "its.innerhardShoulderStatus",
@@ -19116,35 +19146,35 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_its_speedValue,
{ "speedValue", "its.speedValue",
- FT_UINT32, BASE_DEC, VALS(its_SpeedValue_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_speed_value_fmt), 0,
NULL, HFILL }},
{ &hf_its_speedConfidence,
{ "speedConfidence", "its.speedConfidence",
- FT_UINT32, BASE_DEC, VALS(its_SpeedConfidence_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_speed_confidence_fmt), 0,
NULL, HFILL }},
{ &hf_its_longitudinalAccelerationValue,
{ "longitudinalAccelerationValue", "its.longitudinalAccelerationValue",
- FT_INT32, BASE_DEC, VALS(its_LongitudinalAccelerationValue_vals), 0,
+ FT_INT32, BASE_CUSTOM, CF_FUNC(its_acceleration_value_fmt), 0,
NULL, HFILL }},
{ &hf_its_longitudinalAccelerationConfidence,
{ "longitudinalAccelerationConfidence", "its.longitudinalAccelerationConfidence",
- FT_UINT32, BASE_DEC, VALS(its_AccelerationConfidence_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_acceleration_confidence_fmt), 0,
"AccelerationConfidence", HFILL }},
{ &hf_its_lateralAccelerationValue,
{ "lateralAccelerationValue", "its.lateralAccelerationValue",
- FT_INT32, BASE_DEC, VALS(its_LateralAccelerationValue_vals), 0,
+ FT_INT32, BASE_CUSTOM, CF_FUNC(its_acceleration_value_fmt), 0,
NULL, HFILL }},
{ &hf_its_lateralAccelerationConfidence,
{ "lateralAccelerationConfidence", "its.lateralAccelerationConfidence",
- FT_UINT32, BASE_DEC, VALS(its_AccelerationConfidence_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_acceleration_confidence_fmt), 0,
"AccelerationConfidence", HFILL }},
{ &hf_its_verticalAccelerationValue,
{ "verticalAccelerationValue", "its.verticalAccelerationValue",
- FT_INT32, BASE_DEC, VALS(its_VerticalAccelerationValue_vals), 0,
+ FT_INT32, BASE_CUSTOM, CF_FUNC(its_acceleration_value_fmt), 0,
NULL, HFILL }},
{ &hf_its_verticalAccelerationConfidence,
{ "verticalAccelerationConfidence", "its.verticalAccelerationConfidence",
- FT_UINT32, BASE_DEC, VALS(its_AccelerationConfidence_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_acceleration_confidence_fmt), 0,
"AccelerationConfidence", HFILL }},
{ &hf_its_dangerousGoodsType,
{ "dangerousGoodsType", "its.dangerousGoodsType",
@@ -19188,7 +19218,7 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_its_vehicleLengthValue,
{ "vehicleLengthValue", "its.vehicleLengthValue",
- FT_UINT32, BASE_DEC, VALS(its_VehicleLengthValue_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_vehicle_length_value_fmt), 0,
NULL, HFILL }},
{ &hf_its_vehicleLengthConfidenceIndication,
{ "vehicleLengthConfidenceIndication", "its.vehicleLengthConfidenceIndication",
@@ -19200,15 +19230,15 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_its_steeringWheelAngleValue,
{ "steeringWheelAngleValue", "its.steeringWheelAngleValue",
- FT_INT32, BASE_DEC, VALS(its_SteeringWheelAngleValue_vals), 0,
+ FT_INT32, BASE_CUSTOM, CF_FUNC(its_swa_value_fmt), 0,
NULL, HFILL }},
{ &hf_its_steeringWheelAngleConfidence,
{ "steeringWheelAngleConfidence", "its.steeringWheelAngleConfidence",
- FT_UINT32, BASE_DEC, VALS(its_SteeringWheelAngleConfidence_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_swa_confidence_fmt), 0,
NULL, HFILL }},
{ &hf_its_yawRateValue,
{ "yawRateValue", "its.yawRateValue",
- FT_INT32, BASE_DEC, VALS(its_YawRateValue_vals), 0,
+ FT_INT32, BASE_CUSTOM, CF_FUNC(its_yaw_rate_value_fmt), 0,
NULL, HFILL }},
{ &hf_its_yawRateConfidence,
{ "yawRateConfidence", "its.yawRateConfidence",
@@ -19539,7 +19569,7 @@ void proto_register_its(void)
"SemiAxisLength", HFILL }},
{ &hf_itsv1_semiMajorOrientation,
{ "semiMajorOrientation", "itsv1.semiMajorOrientation",
- FT_UINT32, BASE_CUSTOM, CF_FUNC(its_heading_fmt), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_heading_value_fmt), 0,
"HeadingValue", HFILL }},
{ &hf_itsv1_pathPosition,
{ "pathPosition", "itsv1.pathPosition_element",
@@ -19567,7 +19597,7 @@ void proto_register_its(void)
"SubCauseCodeTypeV1", HFILL }},
{ &hf_itsv1_curvatureValue,
{ "curvatureValue", "itsv1.curvatureValue",
- FT_INT32, BASE_DEC, VALS(itsv1_CurvatureValue_vals), 0,
+ FT_INT32, BASE_CUSTOM, CF_FUNC(its_curvature_value_fmt), 0,
NULL, HFILL }},
{ &hf_itsv1_curvatureConfidence,
{ "curvatureConfidence", "itsv1.curvatureConfidence",
@@ -19575,11 +19605,11 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_itsv1_headingValue,
{ "headingValue", "itsv1.headingValue",
- FT_UINT32, BASE_CUSTOM, CF_FUNC(its_heading_fmt), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_heading_value_fmt), 0,
NULL, HFILL }},
{ &hf_itsv1_headingConfidence,
{ "headingConfidence", "itsv1.headingConfidence",
- FT_UINT32, BASE_DEC, VALS(itsv1_HeadingConfidence_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_heading_confidence_fmt), 0,
NULL, HFILL }},
{ &hf_itsv1_hardShoulderStatus,
{ "hardShoulderStatus", "itsv1.hardShoulderStatus",
@@ -19591,35 +19621,35 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_itsv1_speedValue,
{ "speedValue", "itsv1.speedValue",
- FT_UINT32, BASE_DEC, VALS(itsv1_SpeedValue_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_speed_value_fmt), 0,
NULL, HFILL }},
{ &hf_itsv1_speedConfidence,
{ "speedConfidence", "itsv1.speedConfidence",
- FT_UINT32, BASE_DEC, VALS(itsv1_SpeedConfidence_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_speed_confidence_fmt), 0,
NULL, HFILL }},
{ &hf_itsv1_longitudinalAccelerationValue,
{ "longitudinalAccelerationValue", "itsv1.longitudinalAccelerationValue",
- FT_INT32, BASE_DEC, VALS(itsv1_LongitudinalAccelerationValue_vals), 0,
+ FT_INT32, BASE_CUSTOM, CF_FUNC(its_acceleration_value_fmt), 0,
NULL, HFILL }},
{ &hf_itsv1_longitudinalAccelerationConfidence,
{ "longitudinalAccelerationConfidence", "itsv1.longitudinalAccelerationConfidence",
- FT_UINT32, BASE_DEC, VALS(itsv1_AccelerationConfidence_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_acceleration_confidence_fmt), 0,
"AccelerationConfidence", HFILL }},
{ &hf_itsv1_lateralAccelerationValue,
{ "lateralAccelerationValue", "itsv1.lateralAccelerationValue",
- FT_INT32, BASE_DEC, VALS(itsv1_LateralAccelerationValue_vals), 0,
+ FT_INT32, BASE_CUSTOM, CF_FUNC(its_acceleration_value_fmt), 0,
NULL, HFILL }},
{ &hf_itsv1_lateralAccelerationConfidence,
{ "lateralAccelerationConfidence", "itsv1.lateralAccelerationConfidence",
- FT_UINT32, BASE_DEC, VALS(itsv1_AccelerationConfidence_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_acceleration_confidence_fmt), 0,
"AccelerationConfidence", HFILL }},
{ &hf_itsv1_verticalAccelerationValue,
{ "verticalAccelerationValue", "itsv1.verticalAccelerationValue",
- FT_INT32, BASE_DEC, VALS(itsv1_VerticalAccelerationValue_vals), 0,
+ FT_INT32, BASE_CUSTOM, CF_FUNC(its_acceleration_value_fmt), 0,
NULL, HFILL }},
{ &hf_itsv1_verticalAccelerationConfidence,
{ "verticalAccelerationConfidence", "itsv1.verticalAccelerationConfidence",
- FT_UINT32, BASE_DEC, VALS(itsv1_AccelerationConfidence_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_acceleration_confidence_fmt), 0,
"AccelerationConfidence", HFILL }},
{ &hf_itsv1_dangerousGoodsType,
{ "dangerousGoodsType", "itsv1.dangerousGoodsType",
@@ -19663,7 +19693,7 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_itsv1_vehicleLengthValue,
{ "vehicleLengthValue", "itsv1.vehicleLengthValue",
- FT_UINT32, BASE_DEC, VALS(itsv1_VehicleLengthValue_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_vehicle_length_value_fmt), 0,
NULL, HFILL }},
{ &hf_itsv1_vehicleLengthConfidenceIndication,
{ "vehicleLengthConfidenceIndication", "itsv1.vehicleLengthConfidenceIndication",
@@ -19675,15 +19705,15 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_itsv1_steeringWheelAngleValue,
{ "steeringWheelAngleValue", "itsv1.steeringWheelAngleValue",
- FT_INT32, BASE_DEC, VALS(itsv1_SteeringWheelAngleValue_vals), 0,
+ FT_INT32, BASE_CUSTOM, CF_FUNC(its_swa_value_fmt), 0,
NULL, HFILL }},
{ &hf_itsv1_steeringWheelAngleConfidence,
{ "steeringWheelAngleConfidence", "itsv1.steeringWheelAngleConfidence",
- FT_UINT32, BASE_DEC, VALS(itsv1_SteeringWheelAngleConfidence_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_swa_confidence_fmt), 0,
NULL, HFILL }},
{ &hf_itsv1_yawRateValue,
{ "yawRateValue", "itsv1.yawRateValue",
- FT_INT32, BASE_DEC, VALS(itsv1_YawRateValue_vals), 0,
+ FT_INT32, BASE_CUSTOM, CF_FUNC(its_yaw_rate_value_fmt), 0,
NULL, HFILL }},
{ &hf_itsv1_yawRateConfidence,
{ "yawRateConfidence", "itsv1.yawRateConfidence",
@@ -20171,7 +20201,7 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_dsrc_mdTimeStamp,
{ "timeStamp", "dsrc.timeStamp",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_moi_fmt), 0,
"MinuteOfTheYear", HFILL }},
{ &hf_dsrc_msgIssueRevision,
{ "msgIssueRevision", "dsrc.msgIssueRevision",
@@ -20219,7 +20249,7 @@ void proto_register_its(void)
"RTCM_Revision", HFILL }},
{ &hf_dsrc_timeStamp,
{ "timeStamp", "dsrc.timeStamp",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_moi_fmt), 0,
"MinuteOfTheYear", HFILL }},
{ &hf_dsrc_anchorPoint,
{ "anchorPoint", "dsrc.anchorPoint_element",
@@ -20243,7 +20273,7 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_dsrc_spatTimeStamp,
{ "timeStamp", "dsrc.timeStamp",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_moi_fmt), 0,
"MinuteOfTheYear", HFILL }},
{ &hf_dsrc_name,
{ "name", "dsrc.name",
@@ -20263,11 +20293,11 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_dsrc_srmTimeStamp,
{ "timeStamp", "dsrc.timeStamp",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_moi_fmt), 0,
"MinuteOfTheYear", HFILL }},
{ &hf_dsrc_second,
{ "second", "dsrc.second",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_dsecond_fmt), 0,
"DSecond", HFILL }},
{ &hf_dsrc_sequenceNumber,
{ "sequenceNumber", "dsrc.sequenceNumber",
@@ -20291,7 +20321,7 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_dsrc_ssmTimeStamp,
{ "timeStamp", "dsrc.timeStamp",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_moi_fmt), 0,
"MinuteOfTheYear", HFILL }},
{ &hf_dsrc_ssmStatus,
{ "status", "dsrc.signalStatusMessage.status",
@@ -20635,11 +20665,11 @@ void proto_register_its(void)
"IntersectionStatusObject", HFILL }},
{ &hf_dsrc_moy,
{ "moy", "dsrc.moy",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_moi_fmt), 0,
"MinuteOfTheYear", HFILL }},
{ &hf_dsrc_isTimeStamp,
{ "timeStamp", "dsrc.timeStamp",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_dsecond_fmt), 0,
"DSecond", HFILL }},
{ &hf_dsrc_enabledLanes,
{ "enabledLanes", "dsrc.enabledLanes",
@@ -20983,7 +21013,7 @@ void proto_register_its(void)
"SpeedLimitType", HFILL }},
{ &hf_dsrc_rslSpeed,
{ "speed", "dsrc.speed",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_velocity_fmt), 0,
"Velocity", HFILL }},
{ &hf_dsrc_rdId,
{ "id", "dsrc.id",
@@ -21183,11 +21213,11 @@ void proto_register_its(void)
"SignalRequest", HFILL }},
{ &hf_dsrc_srpMinute,
{ "minute", "dsrc.minute",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_moi_fmt), 0,
"MinuteOfTheYear", HFILL }},
{ &hf_dsrc_duration,
{ "duration", "dsrc.duration",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_dsecond_fmt), 0,
"DSecond", HFILL }},
{ &hf_dsrc_srpRegional,
{ "regional", "dsrc.regional",
@@ -21235,7 +21265,7 @@ void proto_register_its(void)
"IntersectionAccessPoint", HFILL }},
{ &hf_dsrc_sspMinute,
{ "minute", "dsrc.minute",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_moi_fmt), 0,
"MinuteOfTheYear", HFILL }},
{ &hf_dsrc_sspStatus,
{ "status", "dsrc.signalStatusPackage.status",
@@ -21267,27 +21297,27 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_dsrc_startTime,
{ "startTime", "dsrc.startTime",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_time_mark_fmt), 0,
"TimeMark", HFILL }},
{ &hf_dsrc_minEndTime,
{ "minEndTime", "dsrc.minEndTime",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_time_mark_fmt), 0,
"TimeMark", HFILL }},
{ &hf_dsrc_maxEndTime,
{ "maxEndTime", "dsrc.maxEndTime",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_time_mark_fmt), 0,
"TimeMark", HFILL }},
{ &hf_dsrc_likelyTime,
{ "likelyTime", "dsrc.likelyTime",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_time_mark_fmt), 0,
"TimeMark", HFILL }},
{ &hf_dsrc_tcdConfidence,
{ "confidence", "dsrc.confidence",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_DEC, VALS(dsrc_TimeIntervalConfidence_vals), 0,
"TimeIntervalConfidence", HFILL }},
{ &hf_dsrc_nextTime,
{ "nextTime", "dsrc.nextTime",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_time_mark_fmt), 0,
"TimeMark", HFILL }},
{ &hf_dsrc_transmisson,
{ "transmisson", "dsrc.transmisson",
@@ -21295,7 +21325,7 @@ void proto_register_its(void)
"TransmissionState", HFILL }},
{ &hf_dsrc_tasSpeed,
{ "speed", "dsrc.speed",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(dsrc_velocity_fmt), 0,
"Velocity", HFILL }},
{ &hf_dsrc_entityID,
{ "entityID", "dsrc.entityID",
@@ -22384,7 +22414,7 @@ void proto_register_its(void)
"INTEGER_0_255", HFILL }},
{ &hf_ivi_zoneHeading,
{ "zoneHeading", "ivi.zoneHeading",
- FT_UINT32, BASE_CUSTOM, CF_FUNC(its_heading_fmt), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_heading_value_fmt), 0,
"HeadingValue", HFILL }},
{ &hf_ivi_zone,
{ "zone", "ivi.zone",
@@ -22712,15 +22742,15 @@ void proto_register_its(void)
"GapBetweenVehicles", HFILL }},
{ &hf_ivi_automatedVehicleMaxSpeedLimit,
{ "automatedVehicleMaxSpeedLimit", "ivi.automatedVehicleMaxSpeedLimit",
- FT_UINT32, BASE_DEC, VALS(its_SpeedValue_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_speed_value_fmt), 0,
"SpeedValue", HFILL }},
{ &hf_ivi_automatedVehicleMinSpeedLimit,
{ "automatedVehicleMinSpeedLimit", "ivi.automatedVehicleMinSpeedLimit",
- FT_UINT32, BASE_DEC, VALS(its_SpeedValue_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_speed_value_fmt), 0,
"SpeedValue", HFILL }},
{ &hf_ivi_automatedVehicleSpeedRecommendation,
{ "automatedVehicleSpeedRecommendation", "ivi.automatedVehicleSpeedRecommendation",
- FT_UINT32, BASE_DEC, VALS(its_SpeedValue_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_speed_value_fmt), 0,
"SpeedValue", HFILL }},
{ &hf_ivi_extraText_01,
{ "extraText", "ivi.extraText",
@@ -22920,15 +22950,15 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_ivi_platoonMaxSpeedLimit,
{ "platoonMaxSpeedLimit", "ivi.platoonMaxSpeedLimit",
- FT_UINT32, BASE_DEC, VALS(its_SpeedValue_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_speed_value_fmt), 0,
"SpeedValue", HFILL }},
{ &hf_ivi_platoonMinSpeedLimit,
{ "platoonMinSpeedLimit", "ivi.platoonMinSpeedLimit",
- FT_UINT32, BASE_DEC, VALS(its_SpeedValue_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_speed_value_fmt), 0,
"SpeedValue", HFILL }},
{ &hf_ivi_platoonSpeedRecommendation,
{ "platoonSpeedRecommendation", "ivi.platoonSpeedRecommendation",
- FT_UINT32, BASE_DEC, VALS(its_SpeedValue_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_speed_value_fmt), 0,
"SpeedValue", HFILL }},
{ &hf_ivi_deltaPositions,
{ "deltaPositions", "ivi.deltaPositions",
@@ -23151,7 +23181,7 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_camv1_generationDeltaTime,
{ "generationDeltaTime", "camv1.generationDeltaTime",
- FT_UINT32, BASE_DEC, VALS(camv1_GenerationDeltaTime_vals), 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_camv1_camParameters,
{ "camParameters", "camv1.camParameters_element",
@@ -23239,7 +23269,7 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_camv1_vehicleWidth,
{ "vehicleWidth", "camv1.vehicleWidth",
- FT_UINT32, BASE_DEC, VALS(itsv1_VehicleWidth_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_vehicle_width_fmt), 0,
NULL, HFILL }},
{ &hf_camv1_longitudinalAcceleration,
{ "longitudinalAcceleration", "camv1.longitudinalAcceleration_element",
@@ -23354,7 +23384,7 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_cam_generationDeltaTime,
{ "generationDeltaTime", "cam.generationDeltaTime",
- FT_UINT32, BASE_DEC, VALS(cam_GenerationDeltaTime_vals), 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_cam_camParameters,
{ "camParameters", "cam.camParameters_element",
@@ -23442,7 +23472,7 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_cam_vehicleWidth,
{ "vehicleWidth", "cam.vehicleWidth",
- FT_UINT32, BASE_DEC, VALS(its_VehicleWidth_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_vehicle_width_fmt), 0,
NULL, HFILL }},
{ &hf_cam_longitudinalAcceleration,
{ "longitudinalAcceleration", "cam.longitudinalAcceleration_element",
@@ -24784,7 +24814,7 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_cpm_generationDeltaTime,
{ "generationDeltaTime", "cpm.generationDeltaTime",
- FT_UINT32, BASE_DEC, VALS(cam_GenerationDeltaTime_vals), 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_cpm_cpmParameters,
{ "cpmParameters", "cpm.cpmParameters_element",
@@ -24880,7 +24910,7 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_cpm_vehicleWidth,
{ "vehicleWidth", "cpm.vehicleWidth",
- FT_UINT32, BASE_DEC, VALS(its_VehicleWidth_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_vehicle_width_fmt), 0,
NULL, HFILL }},
{ &hf_cpm_vehicleHeight,
{ "vehicleHeight", "cpm.vehicleHeight",
@@ -25188,7 +25218,7 @@ void proto_register_its(void)
"SpeedValueExtended", HFILL }},
{ &hf_cpm_confidence_03,
{ "confidence", "cpm.confidence",
- FT_UINT32, BASE_DEC, VALS(its_SpeedConfidence_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_speed_confidence_fmt), 0,
"SpeedConfidence", HFILL }},
{ &hf_cpm_SensorIdList_item,
{ "Identifier", "cpm.Identifier",
@@ -25212,7 +25242,7 @@ void proto_register_its(void)
NULL, HFILL }},
{ &hf_cpm_trailerWidth,
{ "trailerWidth", "cpm.trailerWidth",
- FT_UINT32, BASE_DEC, VALS(its_VehicleWidth_vals), 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(its_vehicle_width_fmt), 0,
"VehicleWidth", HFILL }},
{ &hf_cpm_hitchAngle,
{ "hitchAngle", "cpm.hitchAngle_element",
@@ -25320,7 +25350,7 @@ void proto_register_its(void)
"Offset_B16", HFILL }},
/*--- End of included file: packet-its-hfarr.c ---*/
-#line 461 "./asn1/its/packet-its-template.c"
+#line 677 "./asn1/its/packet-its-template.c"
{ &hf_its_roadworksSubCauseCode,
{ "roadworksSubCauseCode", "its.subCauseCode",
@@ -26094,7 +26124,7 @@ void proto_register_its(void)
&ett_cpm_NodeOffsetPointZ,
/*--- End of included file: packet-its-ettarr.c ---*/
-#line 664 "./asn1/its/packet-its-template.c"
+#line 880 "./asn1/its/packet-its-template.c"
};
static ei_register_info ei[] = {