1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
4 /* asn2wrs.py -q -L -o its -c ./its.cnf -s ./packet-its-template -D . -O ../.. ETSI-ITS-CDD.asn ITS-ContainerV1.asn ISO_TS_14816.asn ISO_TS_14906_Application.asn ISO_TS_19091.asn GDD.asn ISO19321IVIv2.asn ETSI_TS_103301.asn CAMv1.asn CAM-PDU-Descriptions.asn DENMv1.asn DENM-PDU-Descriptions.asn TIS_TPG_Transactions_Descriptions.asn EVCSN-PDU-Descriptions.asn EV-RSR-PDU-Descriptions.asn CPM-OriginatingStationContainers.asn CPM-PDU-Descriptionsv1.asn CPM-PDU-Descriptions.asn CPM-PerceivedObjectContainer.asn CPM-PerceptionRegionContainer.asn CPM-SensorInformationContainer.asn VAM-PDU-Descriptions.asn IMZM-PDU-Descriptions.asn */
6 /* packet-its-template.c
8 * Intelligent Transport Systems Applications dissectors
9 * Coyright 2018, C. Guerber <cguerber@yahoo.com>
11 * Wireshark - Network traffic analyzer
12 * By Gerald Combs <gerald@wireshark.org>
13 * Copyright 1998 Gerald Combs
15 * SPDX-License-Identifier: GPL-2.0-or-later
21 * CA (CAM) ETSI EN 302 637-2 V1.4.1 (2019-01)
22 * DEN (DENM) ETSI EN 302 637-3 V1.3.0 (2018-08)
23 * RLT (MAPEM) ETSI TS 103 301 V1.2.1 (2018-08)
24 * TLM (SPATEM) ETSI TS 103 301 V1.2.1 (2018-08)
25 * IVI (IVIM) ETSI TS 103 301 V1.2.1 (2018-08)
26 * TLC (SREM) ETSI TS 103 301 V1.2.1 (2018-08)
27 * TLC (SSEM) ETSI TS 103 301 V1.2.1 (2018-08)
28 * EVCSN POI (EVCSN POI message) ETSI TS 101 556-1
29 * TPG (TRM, TCM, VDRM, VDPM, EOFM) ETSI TS 101 556-2
30 * Charging (EV-RSR, SRM, SCM) ETSI TS 101 556-3
31 * GPC (RTCMEM) ETSI TS 103 301
32 * VA (VAM) ETSI TS 103 300-3 V2.2.1 (2023-02)
35 * SA (SAEM) ETSI TS 102 890-1
36 * CTL (CTLM) ETSI TS 102 941
37 * CRL (CRLM) ETSI TS 102 941
38 * Certificate request ETSI TS 102 941
39 * MCD (MCDM) ETSI TS 103 152
44 #include <epan/packet.h>
45 #include <epan/expert.h>
46 #include <epan/decode_as.h>
47 #include <epan/proto_data.h>
48 #include <epan/exceptions.h>
49 #include <epan/conversation.h>
51 #include <wsutil/utf8_entities.h>
52 #include <wsutil/array.h>
54 #include "packet-ber.h"
55 #include "packet-per.h"
57 #include "packet-its.h"
58 #include "packet-ieee1609dot2.h"
61 * Well Known Ports definitions as per:
63 * ETSI TS 103 248 v1.2.1 (2018-08)
64 * Intelligent Transport Systems (ITS);
66 * Port Numbers for the Basic Transport Protocol (BTP)
68 * BTP port Facilities service Related standard
69 * number or Application
71 * 2001 CA (CAM) ETSI EN 302 637-2 V1.4.1 (2019-01)
72 * 2002 DEN (DENM) ETSI EN 302 637-3
73 * 2003 RLT (MAPEM) ETSI TS 103 301 V1.2.1 (2018-08)
74 * 2004 TLM (SPATEM) ETSI TS 103 301 V1.2.1 (2018-08)
75 * 2005 SA (SAEM) ETSI TS 102 890-1
76 * 2006 IVI (IVIM) ETSI TS 103 301 V1.2.1 (2018-08)
77 * 2007 TLC (SREM) ETSI TS 103 301 V1.2.1 (2018-08)
78 * 2008 TLC (SSEM) ETSI TS 103 301 V1.2.1 (2018-08)
79 * 2009 Allocated Allocated for "Intelligent Transport
80 * System (ITS); Vehicular Communications;
81 * Basic Set of Applications; Specification
82 * of the Collective Perception Service"
83 * 2010 EVCSN POI (EVCSN POI ETSI TS 101 556-1
85 * 2011 TPG (TRM, TCM, VDRM, ETSI TS 101 556-2
87 * 2012 Charging (EV-RSR, ETSI TS 101 556-3
89 * 2013 GPC (RTCMEM) ETSI TS 103 301 V1.2.1 (2018-08)
90 * 2014 CTL (CTLM) ETSI TS 102 941
91 * 2015 CRL (CRLM) ETSI TS 102 941
92 * 2016 Certificate request ETSI TS 102 941
93 * 2017 MCD (MCDM) ETSI TS 103 152
94 * 2018 VA (VAM) ETSI TS 103 300-3 V2.2.1 (2023-02)
97 // Applications Well Known Ports
98 #define ITS_WKP_CA 2001
99 #define ITS_WKP_DEN 2002
100 #define ITS_WKP_RLT 2003
101 #define ITS_WKP_TLM 2004
102 #define ITS_WKP_SA 2005
103 #define ITS_WKP_IVI 2006
104 #define ITS_WKP_TLC_SREM 2007
105 #define ITS_WKP_TLC_SSEM 2008
106 #define ITS_WKP_CPS 2009
107 #define ITS_WKP_EVCSN 2010
108 #define ITS_WKP_TPG 2011
109 #define ITS_WKP_CHARGING 2012
110 #define ITS_WKP_GPC 2013
111 #define ITS_WKP_CTL 2014
112 #define ITS_WKP_CRL 2015
113 #define ITS_WKP_CERTIF_REQ 2016
114 #define ITS_WKP_MCD 2017
115 #define ITS_WKP_VA 2018
120 void proto_reg_handoff_its(void);
121 void proto_register_its(void);
123 static dissector_handle_t its_handle
;
125 static expert_field ei_its_no_sub_dis
;
131 static int proto_its
;
132 static int proto_its_denm
;
133 static int proto_its_denmv1
;
134 static int proto_its_cam
;
135 static int proto_its_camv1
;
136 static int proto_its_evcsn
;
137 static int proto_its_evrsr
;
138 static int proto_its_ivimv1
;
139 static int proto_its_ivim
;
140 static int proto_its_tistpg
;
141 static int proto_its_ssem
;
142 static int proto_its_srem
;
143 static int proto_its_rtcmemv1
;
144 static int proto_its_rtcmem
;
145 static int proto_its_mapemv1
;
146 static int proto_its_mapem
;
147 static int proto_its_spatemv1
;
148 static int proto_its_spatem
;
149 static int proto_its_cpmv1
;
150 static int proto_its_cpm
;
151 static int proto_its_imzm
;
152 static int proto_its_vam
;
153 static int proto_addgrpc
;
158 static int hf_denmssp_version
;
159 static int hf_denmssp_flags
;
160 static int hf_denmssp_trafficCondition
;
161 static int hf_denmssp_accident
;
162 static int hf_denmssp_roadworks
;
163 static int hf_denmssp_adverseWeatherConditionAdhesion
;
164 static int hf_denmssp_hazardousLocationSurfaceCondition
;
165 static int hf_denmssp_hazardousLocationObstacleOnTheRoad
;
166 static int hf_denmssp_hazardousLocationAnimalOnTheRoad
;
167 static int hf_denmssp_humanPresenceOnTheRoad
;
168 static int hf_denmssp_wrongWayDriving
;
169 static int hf_denmssp_rescueAndRecoveryWorkInProgress
;
170 static int hf_denmssp_ExtremeWeatherCondition
;
171 static int hf_denmssp_adverseWeatherConditionVisibility
;
172 static int hf_denmssp_adverseWeatherConditionPrecipitation
;
173 static int hf_denmssp_slowVehicle
;
174 static int hf_denmssp_dangerousEndOfQueue
;
175 static int hf_denmssp_vehicleBreakdown
;
176 static int hf_denmssp_postCrash
;
177 static int hf_denmssp_humanProblem
;
178 static int hf_denmssp_stationaryVehicle
;
179 static int hf_denmssp_emergencyVehicleApproaching
;
180 static int hf_denmssp_hazardousLocationDangerousCurve
;
181 static int hf_denmssp_collisionRisk
;
182 static int hf_denmssp_signalViolation
;
183 static int hf_denmssp_dangerousSituation
;
188 static int hf_camssp_version
;
189 static int hf_camssp_flags
;
190 static int hf_camssp_cenDsrcTollingZone
;
191 static int hf_camssp_publicTransport
;
192 static int hf_camssp_specialTransport
;
193 static int hf_camssp_dangerousGoods
;
194 static int hf_camssp_roadwork
;
195 static int hf_camssp_rescue
;
196 static int hf_camssp_emergency
;
197 static int hf_camssp_safetyCar
;
198 static int hf_camssp_closedLanes
;
199 static int hf_camssp_requestForRightOfWay
;
200 static int hf_camssp_requestForFreeCrossingAtATrafficLight
;
201 static int hf_camssp_noPassing
;
202 static int hf_camssp_noPassingForTrucks
;
203 static int hf_camssp_speedLimit
;
204 static int hf_camssp_reserved
;
206 static int ett_denmssp_flags
;
207 static int ett_camssp_flags
;
210 static dissector_table_t its_version_subdissector_table
;
211 static dissector_table_t its_msgid_subdissector_table
;
212 static dissector_table_t regionid_subdissector_table
;
213 static dissector_table_t cpmcontainer_subdissector_table
;
214 static dissector_table_t cam_pt_activation_table
;
216 typedef struct its_private_data
{
217 enum regext_type_enum type
;
220 } its_private_data_t
;
222 typedef struct its_pt_activation_data
{
225 } its_pt_activation_data_t
;
228 its_get_private_data(packet_info
* pinfo
)
230 its_header_t
* its_hdr
= (its_header_t
*)p_get_proto_data(pinfo
->pool
, pinfo
, proto_its
, 0);
232 its_hdr
= wmem_new0(pinfo
->pool
, its_header_t
);
233 p_add_proto_data(pinfo
->pool
, pinfo
, proto_its
, 0, its_hdr
);
238 // Specific dissector for content of open type for regional extensions
239 static int dissect_regextval_pdu(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
241 its_private_data_t
*re
= (its_private_data_t
*)data
;
242 // XXX What to do when region_id = noRegion? Test length is zero?
243 if (!dissector_try_uint_with_data(regionid_subdissector_table
, ((uint32_t) re
->region_id
<<16) + (uint32_t) re
->type
, tvb
, pinfo
, tree
, false, NULL
))
244 call_data_dissector(tvb
, pinfo
, tree
);
245 return tvb_captured_length(tvb
);
248 // Specific dissector for content of open type for regional extensions
249 static int dissect_cpmcontainers_pdu(tvbuff_t
* tvb
, packet_info
* pinfo
, proto_tree
* tree
, void* data _U_
)
251 // XXX What to do when region_id = noRegion? Test length is zero?
252 if (!dissector_try_uint_with_data(cpmcontainer_subdissector_table
, its_get_private_data(pinfo
)->CpmContainerId
, tvb
, pinfo
, tree
, false, NULL
))
253 call_data_dissector(tvb
, pinfo
, tree
);
254 return tvb_captured_length(tvb
);
260 static int dissect_denmssp_pdu(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
262 static int * const denmssp_flags
[] = {
263 &hf_denmssp_trafficCondition
,
264 &hf_denmssp_accident
,
265 &hf_denmssp_roadworks
,
266 &hf_denmssp_adverseWeatherConditionAdhesion
,
267 &hf_denmssp_hazardousLocationSurfaceCondition
,
268 &hf_denmssp_hazardousLocationObstacleOnTheRoad
,
269 &hf_denmssp_hazardousLocationAnimalOnTheRoad
,
270 &hf_denmssp_humanPresenceOnTheRoad
,
271 &hf_denmssp_wrongWayDriving
,
272 &hf_denmssp_rescueAndRecoveryWorkInProgress
,
273 &hf_denmssp_ExtremeWeatherCondition
,
274 &hf_denmssp_adverseWeatherConditionVisibility
,
275 &hf_denmssp_adverseWeatherConditionPrecipitation
,
276 &hf_denmssp_slowVehicle
,
277 &hf_denmssp_dangerousEndOfQueue
,
278 &hf_denmssp_vehicleBreakdown
,
279 &hf_denmssp_postCrash
,
280 &hf_denmssp_humanProblem
,
281 &hf_denmssp_stationaryVehicle
,
282 &hf_denmssp_emergencyVehicleApproaching
,
283 &hf_denmssp_hazardousLocationDangerousCurve
,
284 &hf_denmssp_collisionRisk
,
285 &hf_denmssp_signalViolation
,
286 &hf_denmssp_dangerousSituation
,
292 proto_tree_add_item_ret_uint(tree
, hf_denmssp_version
, tvb
, 0, 1, ENC_BIG_ENDIAN
, &version
);
294 proto_tree_add_bitmask(tree
, tvb
, 1, hf_denmssp_flags
, ett_denmssp_flags
, denmssp_flags
, ENC_BIG_ENDIAN
);
296 return tvb_reported_length(tvb
);
299 static int dissect_camssp_pdu(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
301 static int * const camssp_flags
[] = {
302 &hf_camssp_cenDsrcTollingZone
,
303 &hf_camssp_publicTransport
,
304 &hf_camssp_specialTransport
,
305 &hf_camssp_dangerousGoods
,
308 &hf_camssp_emergency
,
309 &hf_camssp_safetyCar
,
310 &hf_camssp_closedLanes
,
311 &hf_camssp_requestForRightOfWay
,
312 &hf_camssp_requestForFreeCrossingAtATrafficLight
,
313 &hf_camssp_noPassing
,
314 &hf_camssp_noPassingForTrucks
,
315 &hf_camssp_speedLimit
,
322 proto_tree_add_item_ret_uint(tree
, hf_camssp_version
, tvb
, 0, 1, ENC_BIG_ENDIAN
, &version
);
324 proto_tree_add_bitmask(tree
, tvb
, 1, hf_camssp_flags
, ett_camssp_flags
, camssp_flags
, ENC_BIG_ENDIAN
);
326 return tvb_reported_length(tvb
);
329 // Generated by asn2wrs
331 /* --- Module ETSI-ITS-CDD --- --- --- */
333 static int hf_its_its_ItsPduHeader_PDU
; /* ItsPduHeader */
334 static int hf_its_polarAcceleration
; /* AccelerationPolarWithZ */
335 static int hf_its_cartesianAcceleration
; /* AccelerationCartesian */
336 static int hf_its_accelerationMagnitude
; /* AccelerationMagnitude */
337 static int hf_its_accelerationDirection
; /* CartesianAngle */
338 static int hf_its_zAcceleration
; /* AccelerationComponent */
339 static int hf_its_xAcceleration
; /* AccelerationComponent */
340 static int hf_its_yAcceleration
; /* AccelerationComponent */
341 static int hf_its_value
; /* AccelerationValue */
342 static int hf_its_confidence
; /* AccelerationConfidence */
343 static int hf_its_accelOrDecel
; /* AccelerationChange */
344 static int hf_its_actionDeltaTime
; /* DeltaTimeTenthOfSecond */
345 static int hf_its_accelerationMagnitudeValue
; /* AccelerationMagnitudeValue */
346 static int hf_its_accelerationConfidence
; /* AccelerationConfidence */
347 static int hf_its_originatingStationId
; /* StationId */
348 static int hf_its_sequenceNumber
; /* SequenceNumber */
349 static int hf_its_originatingStationId_01
; /* StationID */
350 static int hf_its_ActionIdList_item
; /* ActionId */
351 static int hf_its_altitudeValue
; /* AltitudeValue */
352 static int hf_its_altitudeConfidence
; /* AltitudeConfidence */
353 static int hf_its_stationType
; /* TrafficParticipantType */
354 static int hf_its_referencePosition
; /* ReferencePositionWithConfidence */
355 static int hf_its_value_01
; /* CartesianAngleValue */
356 static int hf_its_confidence_01
; /* AngleConfidence */
357 static int hf_its_value_02
; /* CartesianAngularVelocityComponentValue */
358 static int hf_its_confidence_02
; /* AngularSpeedConfidence */
359 static int hf_its_value_03
; /* CartesianCoordinateLarge */
360 static int hf_its_confidence_03
; /* CoordinateConfidence */
361 static int hf_its_xCoordinate
; /* CartesianCoordinate */
362 static int hf_its_yCoordinate
; /* CartesianCoordinate */
363 static int hf_its_zCoordinate
; /* CartesianCoordinate */
364 static int hf_its_xCoordinate_01
; /* CartesianCoordinateWithConfidence */
365 static int hf_its_yCoordinate_01
; /* CartesianCoordinateWithConfidence */
366 static int hf_its_zCoordinate_01
; /* CartesianCoordinateWithConfidence */
367 static int hf_its_causeCode
; /* CauseCodeType */
368 static int hf_its_subCauseCode
; /* SubCauseCodeType */
369 static int hf_its_reserved0
; /* SubCauseCodeType */
370 static int hf_its_trafficCondition1
; /* TrafficConditionSubCauseCode */
371 static int hf_its_accident2
; /* AccidentSubCauseCode */
372 static int hf_its_roadworks3
; /* RoadworksSubCauseCode */
373 static int hf_its_reserved4
; /* SubCauseCodeType */
374 static int hf_its_impassability5
; /* ImpassabilitySubCauseCode */
375 static int hf_its_adverseWeatherCondition_Adhesion6
; /* AdverseWeatherCondition_AdhesionSubCauseCode */
376 static int hf_its_aquaplaning7
; /* SubCauseCodeType */
377 static int hf_its_reserved8
; /* SubCauseCodeType */
378 static int hf_its_hazardousLocation_SurfaceCondition9
; /* HazardousLocation_SurfaceConditionSubCauseCode */
379 static int hf_its_hazardousLocation_ObstacleOnTheRoad10
; /* HazardousLocation_ObstacleOnTheRoadSubCauseCode */
380 static int hf_its_hazardousLocation_AnimalOnTheRoad11
; /* HazardousLocation_AnimalOnTheRoadSubCauseCode */
381 static int hf_its_humanPresenceOnTheRoad12
; /* HumanPresenceOnTheRoadSubCauseCode */
382 static int hf_its_reserved13
; /* SubCauseCodeType */
383 static int hf_its_wrongWayDriving14
; /* WrongWayDrivingSubCauseCode */
384 static int hf_its_rescueAndRecoveryWorkInProgress15
; /* RescueAndRecoveryWorkInProgressSubCauseCode */
385 static int hf_its_reserved16
; /* SubCauseCodeType */
386 static int hf_its_adverseWeatherCondition_ExtremeWeatherCondition17
; /* AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode */
387 static int hf_its_adverseWeatherCondition_Visibility18
; /* AdverseWeatherCondition_VisibilitySubCauseCode */
388 static int hf_its_adverseWeatherCondition_Precipitation19
; /* AdverseWeatherCondition_PrecipitationSubCauseCode */
389 static int hf_its_violence20
; /* SubCauseCodeType */
390 static int hf_its_reserved21
; /* SubCauseCodeType */
391 static int hf_its_reserved22
; /* SubCauseCodeType */
392 static int hf_its_reserved23
; /* SubCauseCodeType */
393 static int hf_its_reserved24
; /* SubCauseCodeType */
394 static int hf_its_reserved25
; /* SubCauseCodeType */
395 static int hf_its_slowVehicle26
; /* SlowVehicleSubCauseCode */
396 static int hf_its_dangerousEndOfQueue27
; /* DangerousEndOfQueueSubCauseCode */
397 static int hf_its_publicTransportVehicleApproaching28
; /* SubCauseCodeType */
398 static int hf_its_reserved29
; /* SubCauseCodeType */
399 static int hf_its_reserved30
; /* SubCauseCodeType */
400 static int hf_its_reserved31
; /* SubCauseCodeType */
401 static int hf_its_reserved32
; /* SubCauseCodeType */
402 static int hf_its_reserved33
; /* SubCauseCodeType */
403 static int hf_its_reserved34
; /* SubCauseCodeType */
404 static int hf_its_reserved35
; /* SubCauseCodeType */
405 static int hf_its_reserved36
; /* SubCauseCodeType */
406 static int hf_its_reserved37
; /* SubCauseCodeType */
407 static int hf_its_reserved38
; /* SubCauseCodeType */
408 static int hf_its_reserved39
; /* SubCauseCodeType */
409 static int hf_its_reserved40
; /* SubCauseCodeType */
410 static int hf_its_reserved41
; /* SubCauseCodeType */
411 static int hf_its_reserved42
; /* SubCauseCodeType */
412 static int hf_its_reserved43
; /* SubCauseCodeType */
413 static int hf_its_reserved44
; /* SubCauseCodeType */
414 static int hf_its_reserved45
; /* SubCauseCodeType */
415 static int hf_its_reserved46
; /* SubCauseCodeType */
416 static int hf_its_reserved47
; /* SubCauseCodeType */
417 static int hf_its_reserved48
; /* SubCauseCodeType */
418 static int hf_its_reserved49
; /* SubCauseCodeType */
419 static int hf_its_reserved50
; /* SubCauseCodeType */
420 static int hf_its_reserved51
; /* SubCauseCodeType */
421 static int hf_its_reserved52
; /* SubCauseCodeType */
422 static int hf_its_reserved53
; /* SubCauseCodeType */
423 static int hf_its_reserved54
; /* SubCauseCodeType */
424 static int hf_its_reserved55
; /* SubCauseCodeType */
425 static int hf_its_reserved56
; /* SubCauseCodeType */
426 static int hf_its_reserved57
; /* SubCauseCodeType */
427 static int hf_its_reserved58
; /* SubCauseCodeType */
428 static int hf_its_reserved59
; /* SubCauseCodeType */
429 static int hf_its_reserved60
; /* SubCauseCodeType */
430 static int hf_its_reserved61
; /* SubCauseCodeType */
431 static int hf_its_reserved62
; /* SubCauseCodeType */
432 static int hf_its_reserved63
; /* SubCauseCodeType */
433 static int hf_its_reserved64
; /* SubCauseCodeType */
434 static int hf_its_reserved65
; /* SubCauseCodeType */
435 static int hf_its_reserved66
; /* SubCauseCodeType */
436 static int hf_its_reserved67
; /* SubCauseCodeType */
437 static int hf_its_reserved68
; /* SubCauseCodeType */
438 static int hf_its_reserved69
; /* SubCauseCodeType */
439 static int hf_its_reserved70
; /* SubCauseCodeType */
440 static int hf_its_reserved71
; /* SubCauseCodeType */
441 static int hf_its_reserved72
; /* SubCauseCodeType */
442 static int hf_its_reserved73
; /* SubCauseCodeType */
443 static int hf_its_reserved74
; /* SubCauseCodeType */
444 static int hf_its_reserved75
; /* SubCauseCodeType */
445 static int hf_its_reserved76
; /* SubCauseCodeType */
446 static int hf_its_reserved77
; /* SubCauseCodeType */
447 static int hf_its_reserved78
; /* SubCauseCodeType */
448 static int hf_its_reserved79
; /* SubCauseCodeType */
449 static int hf_its_reserved80
; /* SubCauseCodeType */
450 static int hf_its_reserved81
; /* SubCauseCodeType */
451 static int hf_its_reserved82
; /* SubCauseCodeType */
452 static int hf_its_reserved83
; /* SubCauseCodeType */
453 static int hf_its_reserved84
; /* SubCauseCodeType */
454 static int hf_its_reserved85
; /* SubCauseCodeType */
455 static int hf_its_reserved86
; /* SubCauseCodeType */
456 static int hf_its_reserved87
; /* SubCauseCodeType */
457 static int hf_its_reserved88
; /* SubCauseCodeType */
458 static int hf_its_reserved89
; /* SubCauseCodeType */
459 static int hf_its_reserved90
; /* SubCauseCodeType */
460 static int hf_its_vehicleBreakdown91
; /* VehicleBreakdownSubCauseCode */
461 static int hf_its_postCrash92
; /* PostCrashSubCauseCode */
462 static int hf_its_humanProblem93
; /* HumanProblemSubCauseCode */
463 static int hf_its_stationaryVehicle94
; /* StationaryVehicleSubCauseCode */
464 static int hf_its_emergencyVehicleApproaching95
; /* EmergencyVehicleApproachingSubCauseCode */
465 static int hf_its_hazardousLocation_DangerousCurve96
; /* HazardousLocation_DangerousCurveSubCauseCode */
466 static int hf_its_collisionRisk97
; /* CollisionRiskSubCauseCode */
467 static int hf_its_signalViolation98
; /* SignalViolationSubCauseCode */
468 static int hf_its_dangerousSituation99
; /* DangerousSituationSubCauseCode */
469 static int hf_its_railwayLevelCrossing100
; /* RailwayLevelCrossingSubCauseCode */
470 static int hf_its_reserved101
; /* SubCauseCodeType */
471 static int hf_its_reserved102
; /* SubCauseCodeType */
472 static int hf_its_reserved103
; /* SubCauseCodeType */
473 static int hf_its_reserved104
; /* SubCauseCodeType */
474 static int hf_its_reserved105
; /* SubCauseCodeType */
475 static int hf_its_reserved106
; /* SubCauseCodeType */
476 static int hf_its_reserved107
; /* SubCauseCodeType */
477 static int hf_its_reserved108
; /* SubCauseCodeType */
478 static int hf_its_reserved109
; /* SubCauseCodeType */
479 static int hf_its_reserved110
; /* SubCauseCodeType */
480 static int hf_its_reserved111
; /* SubCauseCodeType */
481 static int hf_its_reserved112
; /* SubCauseCodeType */
482 static int hf_its_reserved113
; /* SubCauseCodeType */
483 static int hf_its_reserved114
; /* SubCauseCodeType */
484 static int hf_its_reserved115
; /* SubCauseCodeType */
485 static int hf_its_reserved116
; /* SubCauseCodeType */
486 static int hf_its_reserved117
; /* SubCauseCodeType */
487 static int hf_its_reserved118
; /* SubCauseCodeType */
488 static int hf_its_reserved119
; /* SubCauseCodeType */
489 static int hf_its_reserved120
; /* SubCauseCodeType */
490 static int hf_its_reserved121
; /* SubCauseCodeType */
491 static int hf_its_reserved122
; /* SubCauseCodeType */
492 static int hf_its_reserved123
; /* SubCauseCodeType */
493 static int hf_its_reserved124
; /* SubCauseCodeType */
494 static int hf_its_reserved125
; /* SubCauseCodeType */
495 static int hf_its_reserved126
; /* SubCauseCodeType */
496 static int hf_its_reserved127
; /* SubCauseCodeType */
497 static int hf_its_reserved128
; /* SubCauseCodeType */
498 static int hf_its_ccAndScc
; /* CauseCodeChoice */
499 static int hf_its_protectedZoneLatitude
; /* Latitude */
500 static int hf_its_protectedZoneLongitude
; /* Longitude */
501 static int hf_its_cenDsrcTollingZoneId
; /* ProtectedZoneId */
502 static int hf_its_shapeReferencePoint
; /* CartesianPosition3d */
503 static int hf_its_radius
; /* StandardLength12b */
504 static int hf_its_height
; /* StandardLength12b */
505 static int hf_its_innerhardShoulderStatus
; /* HardShoulderStatus */
506 static int hf_its_outerhardShoulderStatus
; /* HardShoulderStatus */
507 static int hf_its_drivingLaneStatus
; /* DrivingLaneStatus */
508 static int hf_its_clusterBreakupReason
; /* ClusterBreakupReason */
509 static int hf_its_breakupTime
; /* DeltaTimeQuarterSecond */
510 static int hf_its_clusterId
; /* Identifier1B */
511 static int hf_its_joinTime
; /* DeltaTimeQuarterSecond */
512 static int hf_its_clusterLeaveReason
; /* ClusterLeaveReason */
513 static int hf_its_CorrelationColumn_item
; /* CorrelationCellValue */
514 static int hf_its_curvatureValue
; /* CurvatureValue */
515 static int hf_its_curvatureConfidence
; /* CurvatureConfidence */
516 static int hf_its_dangerousGoodsType
; /* DangerousGoodsBasic */
517 static int hf_its_unNumber
; /* INTEGER_0_9999 */
518 static int hf_its_elevatedTemperature
; /* BOOLEAN */
519 static int hf_its_tunnelsRestricted
; /* BOOLEAN */
520 static int hf_its_limitedQuantity
; /* BOOLEAN */
521 static int hf_its_emergencyActionCode
; /* IA5String_SIZE_1_24 */
522 static int hf_its_phoneNumber
; /* PhoneNumber */
523 static int hf_its_companyName
; /* UTF8String_SIZE_1_24 */
524 static int hf_its_deltaLatitude
; /* DeltaLatitude */
525 static int hf_its_deltaLongitude
; /* DeltaLongitude */
526 static int hf_its_deltaAltitude
; /* DeltaAltitude */
527 static int hf_its_DigitalMap_item
; /* ReferencePosition */
528 static int hf_its_semiMajorAxisLength
; /* StandardLength12b */
529 static int hf_its_semiMinorAxisLength
; /* StandardLength12b */
530 static int hf_its_orientation
; /* CartesianAngleValue */
531 static int hf_its_zAngle
; /* CartesianAngle */
532 static int hf_its_yAngle
; /* CartesianAngle */
533 static int hf_its_xAngle
; /* CartesianAngle */
534 static int hf_its_euVehicleCategoryL
; /* EuVehicleCategoryL */
535 static int hf_its_euVehicleCategoryM
; /* EuVehicleCategoryM */
536 static int hf_its_euVehicleCategoryN
; /* EuVehicleCategoryN */
537 static int hf_its_euVehicleCategoryO
; /* EuVehicleCategoryO */
538 static int hf_its_euVehicleCategoryT
; /* NULL */
539 static int hf_its_euVehicleCategoryG
; /* NULL */
540 static int hf_its_EventHistory_item
; /* EventPoint */
541 static int hf_its_eventPosition
; /* DeltaReferencePosition */
542 static int hf_its_eventDeltaTime
; /* PathDeltaTime */
543 static int hf_its_informationQuality
; /* InformationQuality */
544 static int hf_its_lanePositionBased
; /* LanePositionOptions */
545 static int hf_its_mapBased
; /* MapPosition */
546 static int hf_its_confidence_04
; /* MetaInformation */
547 static int hf_its_headingValue
; /* HeadingValue */
548 static int hf_its_headingConfidence
; /* HeadingConfidence */
549 static int hf_its_direction
; /* TurningDirection */
550 static int hf_its_centreFrequency
; /* INTEGER_1_99999 */
551 static int hf_its_channelWidth
; /* INTEGER_0_9999 */
552 static int hf_its_exponent
; /* INTEGER_0_15 */
553 static int hf_its_zoneDefinition
; /* InterferenceManagementZoneDefinition */
554 static int hf_its_managementInfo
; /* InterferenceManagementInfo */
555 static int hf_its_interferenceManagementZoneLatitude
; /* Latitude */
556 static int hf_its_interferenceManagementZoneLongitude
; /* Longitude */
557 static int hf_its_interferenceManagementZoneId
; /* ProtectedZoneId */
558 static int hf_its_interferenceManagementZoneShape
; /* Shape */
559 static int hf_its_InterferenceManagementInfo_item
; /* InterferenceManagementInfoPerChannel */
560 static int hf_its_interferenceManagementChannel
; /* InterferenceManagementChannel */
561 static int hf_its_interferenceManagementZoneType
; /* InterferenceManagementZoneType */
562 static int hf_its_interferenceManagementMitigationType
; /* MitigationForTechnologies */
563 static int hf_its_expiryTime
; /* TimestampIts */
564 static int hf_its_InterferenceManagementZones_item
; /* InterferenceManagementZone */
565 static int hf_its_region
; /* Identifier2B */
566 static int hf_its_id
; /* Identifier2B */
567 static int hf_its_ItineraryPath_item
; /* ReferencePosition */
568 static int hf_its_protocolVersion
; /* ProtocolVersion */
569 static int hf_its_messageId
; /* MessageId */
570 static int hf_its_stationId
; /* StationId */
571 static int hf_its_transversalPosition
; /* LanePosition */
572 static int hf_its_laneType
; /* LaneType */
573 static int hf_its_direction_01
; /* Direction */
574 static int hf_its_simplelanePosition
; /* LanePosition */
575 static int hf_its_simpleLaneType
; /* LaneType */
576 static int hf_its_detailedlanePosition
; /* LanePositionAndType */
577 static int hf_its_lanePositionWithLateralDetails
; /* LanePositionWithLateralDetails */
578 static int hf_its_trafficIslandPosition
; /* TrafficIslandPosition */
579 static int hf_its_lateralAccelerationValue
; /* LateralAccelerationValue */
580 static int hf_its_lateralAccelerationConfidence
; /* AccelerationConfidence */
581 static int hf_its_longitudinalAccelerationValue
; /* LongitudinalAccelerationValue */
582 static int hf_its_longitudinalAccelerationConfidence
; /* AccelerationConfidence */
583 static int hf_its_longitudinalLanePositionValue
; /* LongitudinalLanePositionValue */
584 static int hf_its_longitudinalLanePositionConfidence
; /* LongitudinalLanePositionConfidence */
585 static int hf_its_LowerTriangularPositiveSemidefiniteMatrices_item
; /* LowerTriangularPositiveSemidefiniteMatrix */
586 static int hf_its_componentsIncludedIntheMatrix
; /* MatrixIncludedComponents */
587 static int hf_its_matrix
; /* LowerTriangularPositiveSemidefiniteMatrixColumns */
588 static int hf_its_LowerTriangularPositiveSemidefiniteMatrixColumns_item
; /* CorrelationColumn */
589 static int hf_its_mapReference
; /* MapReference */
590 static int hf_its_laneId
; /* Identifier1B */
591 static int hf_its_connectionId
; /* Identifier1B */
592 static int hf_its_longitudinalLanePosition
; /* LongitudinalLanePosition */
593 static int hf_its_roadsegment
; /* RoadSegmentReferenceId */
594 static int hf_its_intersection
; /* IntersectionReferenceId */
595 static int hf_its_mantissa
; /* INTEGER_1_100 */
596 static int hf_its_exponent_01
; /* INTEGER_M5_2 */
597 static int hf_its_totalMsgNo
; /* CardinalNumber3b */
598 static int hf_its_thisMsgNo
; /* OrdinalNumber3b */
599 static int hf_its_usedDetectionInformation
; /* SensorTypes */
600 static int hf_its_usedStoredInformation
; /* StoredInformationType */
601 static int hf_its_confidenceValue
; /* ConfidenceLevel */
602 static int hf_its_MitigationForTechnologies_item
; /* MitigationPerTechnologyClass */
603 static int hf_its_accessTechnologyClass
; /* AccessTechnologyClass */
604 static int hf_its_lowDutyCycle
; /* INTEGER_0_10000 */
605 static int hf_its_powerReduction
; /* INTEGER_0_30 */
606 static int hf_its_dmcToffLimit
; /* INTEGER_0_1200 */
607 static int hf_its_dmcTonLimit
; /* INTEGER_0_20 */
608 static int hf_its_vehicleSubClass
; /* TrafficParticipantType_CONSTR001 */
609 static int hf_its_vruSubClass
; /* VruProfileAndSubprofile */
610 static int hf_its_groupSubClass
; /* VruClusterInformation */
611 static int hf_its_otherSubClass
; /* OtherSubClass */
612 static int hf_its_ObjectClassDescription_item
; /* ObjectClassWithConfidence */
613 static int hf_its_objectClass
; /* ObjectClass */
614 static int hf_its_confidence_05
; /* ConfidenceLevel */
615 static int hf_its_value_04
; /* ObjectDimensionValue */
616 static int hf_its_confidence_06
; /* ObjectDimensionConfidence */
617 static int hf_its_Path_item
; /* PathPoint */
618 static int hf_its_deltaTimeHighPrecision
; /* DeltaTimeTenthOfSecond */
619 static int hf_its_deltaTimeBigRange
; /* DeltaTimeTenSeconds */
620 static int hf_its_PathHistory_item
; /* PathPoint */
621 static int hf_its_PathPredicted_item
; /* PathPointPredicted */
622 static int hf_its_pathPosition
; /* DeltaReferencePosition */
623 static int hf_its_pathDeltaTime
; /* PathDeltaTime */
624 static int hf_its_horizontalPositionConfidence
; /* PosConfidenceEllipse */
625 static int hf_its_pathDeltaTime_01
; /* PathDeltaTimeChoice */
626 static int hf_its_symmetricAreaOffset
; /* StandardLength9b */
627 static int hf_its_asymmetricAreaOffset
; /* StandardLength9b */
628 static int hf_its_objectId
; /* Identifier2B */
629 static int hf_its_measurementDeltaTime
; /* DeltaTimeMilliSecondSigned */
630 static int hf_its_position
; /* CartesianPosition3dWithConfidence */
631 static int hf_its_velocity
; /* Velocity3dWithConfidence */
632 static int hf_its_acceleration
; /* Acceleration3dWithConfidence */
633 static int hf_its_angles
; /* EulerAnglesWithConfidence */
634 static int hf_its_zAngularVelocity
; /* CartesianAngularVelocityComponent */
635 static int hf_its_lowerTriangularCorrelationMatrices
; /* LowerTriangularPositiveSemidefiniteMatrices */
636 static int hf_its_objectDimensionZ
; /* ObjectDimension */
637 static int hf_its_objectDimensionY
; /* ObjectDimension */
638 static int hf_its_objectDimensionX
; /* ObjectDimension */
639 static int hf_its_objectAge
; /* DeltaTimeMilliSecondSigned_0_2047 */
640 static int hf_its_objectPerceptionQuality
; /* ObjectPerceptionQuality */
641 static int hf_its_sensorIdList
; /* SequenceOfIdentifier1B */
642 static int hf_its_classification
; /* ObjectClassDescription */
643 static int hf_its_mapPosition
; /* MapPosition */
644 static int hf_its_polygon
; /* SequenceOfCartesianPosition3d_SIZE_3_16_ */
645 static int hf_its_semiMajorConfidence
; /* SemiAxisLength */
646 static int hf_its_semiMinorConfidence
; /* SemiAxisLength */
647 static int hf_its_semiMajorOrientation
; /* HeadingValue */
648 static int hf_its_semiMajorAxisLength_01
; /* SemiAxisLength */
649 static int hf_its_semiMinorAxisLength_01
; /* SemiAxisLength */
650 static int hf_its_semiMajorAxisOrientation
; /* Wgs84AngleValue */
651 static int hf_its_PositionOfPillars_item
; /* PosPillar */
652 static int hf_its_protectedZoneType
; /* ProtectedZoneType */
653 static int hf_its_protectedZoneRadius
; /* ProtectedZoneRadius */
654 static int hf_its_protectedZoneId
; /* ProtectedZoneId */
655 static int hf_its_ProtectedCommunicationZonesRSU_item
; /* ProtectedCommunicationZone */
656 static int hf_its_ptActivationType
; /* PtActivationType */
657 static int hf_its_ptActivationData
; /* PtActivationData */
658 static int hf_its_range
; /* StandardLength12b */
659 static int hf_its_horizontalOpeningAngleStart
; /* CartesianAngleValue */
660 static int hf_its_horizontalOpeningAngleEnd
; /* CartesianAngleValue */
661 static int hf_its_verticalOpeningAngleStart
; /* CartesianAngleValue */
662 static int hf_its_verticalOpeningAngleEnd
; /* CartesianAngleValue */
663 static int hf_its_refPointId
; /* Identifier1B */
664 static int hf_its_xCoordinate_02
; /* CartesianCoordinateSmall */
665 static int hf_its_yCoordinate_02
; /* CartesianCoordinateSmall */
666 static int hf_its_zCoordinate_02
; /* CartesianCoordinateSmall */
667 static int hf_its_radialShapesList
; /* RadialShapesList */
668 static int hf_its_RadialShapesList_item
; /* RadialShapeDetails */
669 static int hf_its_semiLength
; /* StandardLength12b */
670 static int hf_its_semiBreadth
; /* StandardLength12b */
671 static int hf_its_latitude
; /* Latitude */
672 static int hf_its_longitude
; /* Longitude */
673 static int hf_its_positionConfidenceEllipse
; /* PosConfidenceEllipse */
674 static int hf_its_altitude
; /* Altitude */
675 static int hf_its_positionConfidenceEllipse_01
; /* PositionConfidenceEllipse */
676 static int hf_its_RestrictedTypes_item
; /* StationType */
677 static int hf_its_subjectStation
; /* StationId */
678 static int hf_its_safeDistanceIndicator
; /* SafeDistanceIndicator */
679 static int hf_its_timeToCollision
; /* DeltaTimeTenthOfSecond */
680 static int hf_its_SequenceOfCartesianPosition3d_item
; /* CartesianPosition3d */
681 static int hf_its_SequenceOfIdentifier1B_item
; /* Identifier1B */
682 static int hf_its_SequenceOfSafeDistanceIndication_item
; /* SafeDistanceIndication */
683 static int hf_its_SequenceOfTrajectoryInterceptionIndication_item
; /* TrajectoryInterceptionIndication */
684 static int hf_its_rectangular
; /* RectangularShape */
685 static int hf_its_circular
; /* CircularShape */
686 static int hf_its_polygonal
; /* PolygonalShape */
687 static int hf_its_elliptical
; /* EllipticalShape */
688 static int hf_its_radial
; /* RadialShape */
689 static int hf_its_radialShapes
; /* RadialShapes */
690 static int hf_its_speedValue
; /* SpeedValue */
691 static int hf_its_speedConfidence
; /* SpeedConfidence */
692 static int hf_its_lossProbability
; /* StabilityLossProbability */
693 static int hf_its_steeringWheelAngleValue
; /* SteeringWheelAngleValue */
694 static int hf_its_steeringWheelAngleConfidence
; /* SteeringWheelAngleConfidence */
695 static int hf_its_Traces_item
; /* Path */
696 static int hf_its_oneSide
; /* LanePositionAndType */
697 static int hf_its_otherSide
; /* LanePositionAndType */
698 static int hf_its_hitchPointOffset
; /* StandardLength1B */
699 static int hf_its_frontOverhang
; /* StandardLength1B */
700 static int hf_its_rearOverhang
; /* StandardLength1B */
701 static int hf_its_trailerWidth
; /* VehicleWidth */
702 static int hf_its_hitchAngle
; /* CartesianAngle */
703 static int hf_its_trajectoryInterceptionProbability
; /* TrajectoryInterceptionProbability */
704 static int hf_its_trajectoryInterceptionConfidence
; /* TrajectoryInterceptionConfidence */
705 static int hf_its_vlnContent
; /* INTEGER_0_127 */
706 static int hf_its_vlnExtension
; /* Ext1 */
707 static int hf_its_e1Content
; /* INTEGER_128_16511 */
708 static int hf_its_e2Extension
; /* Ext2 */
709 static int hf_its_e2Content
; /* INTEGER_16512_2113663 */
710 static int hf_its_e1Extension
; /* Ext3 */
711 static int hf_its_verticalAccelerationValue
; /* VerticalAccelerationValue */
712 static int hf_its_verticalAccelerationConfidence
; /* AccelerationConfidence */
713 static int hf_its_wMInumber
; /* WMInumber */
714 static int hf_its_vDS
; /* VDS */
715 static int hf_its_vehicleLengthValue
; /* VehicleLengthValue */
716 static int hf_its_vehicleLengthConfidenceIndication
; /* VehicleLengthConfidenceIndication */
717 static int hf_its_polarVelocity
; /* VelocityPolarWithZ */
718 static int hf_its_cartesianVelocity
; /* VelocityCartesian */
719 static int hf_its_xVelocity
; /* VelocityComponent */
720 static int hf_its_yVelocity
; /* VelocityComponent */
721 static int hf_its_zVelocity
; /* VelocityComponent */
722 static int hf_its_value_05
; /* VelocityComponentValue */
723 static int hf_its_confidence_07
; /* SpeedConfidence */
724 static int hf_its_velocityMagnitude
; /* Speed */
725 static int hf_its_velocityDirection
; /* CartesianAngle */
726 static int hf_its_clusterBoundingBoxShape
; /* Shape */
727 static int hf_its_clusterCardinalitySize
; /* CardinalNumber1B */
728 static int hf_its_clusterProfiles
; /* VruClusterProfiles */
729 static int hf_its_vehicular
; /* ExteriorLights */
730 static int hf_its_vruSpecific
; /* VruSpecificExteriorLights */
731 static int hf_its_pedestrian
; /* VruSubProfilePedestrian */
732 static int hf_its_bicyclistAndLightVruVehicle
; /* VruSubProfileBicyclist */
733 static int hf_its_motorcyclist
; /* VruSubProfileMotorcyclist */
734 static int hf_its_animal
; /* VruSubProfileAnimal */
735 static int hf_its_value_06
; /* Wgs84AngleValue */
736 static int hf_its_confidence_08
; /* Wgs84AngleConfidence */
737 static int hf_its_yawRateValue
; /* YawRateValue */
738 static int hf_its_yawRateConfidence
; /* YawRateConfidence */
739 static int hf_its_distanceToLeftBorder
; /* StandardLength9b */
740 static int hf_its_distanceToRightBorder
; /* StandardLength9b */
742 static int hf_its_AccelerationControl_brakePedalEngaged
;
743 static int hf_its_AccelerationControl_gasPedalEngaged
;
744 static int hf_its_AccelerationControl_emergencyBrakeEngaged
;
745 static int hf_its_AccelerationControl_collisionWarningEngaged
;
746 static int hf_its_AccelerationControl_accEngaged
;
747 static int hf_its_AccelerationControl_cruiseControlEngaged
;
748 static int hf_its_AccelerationControl_speedLimiterEngaged
;
749 static int hf_its_EmergencyPriority_requestForRightOfWay
;
750 static int hf_its_EmergencyPriority_requestForFreeCrossingAtATrafficLight
;
751 static int hf_its_EnergyStorageType_hydrogenStorage
;
752 static int hf_its_EnergyStorageType_electricEnergyStorage
;
753 static int hf_its_EnergyStorageType_liquidPropaneGas
;
754 static int hf_its_EnergyStorageType_compressedNaturalGas
;
755 static int hf_its_EnergyStorageType_diesel
;
756 static int hf_its_EnergyStorageType_gasoline
;
757 static int hf_its_EnergyStorageType_ammonia
;
758 static int hf_its_ExteriorLights_lowBeamHeadlightsOn
;
759 static int hf_its_ExteriorLights_highBeamHeadlightsOn
;
760 static int hf_its_ExteriorLights_leftTurnSignalOn
;
761 static int hf_its_ExteriorLights_rightTurnSignalOn
;
762 static int hf_its_ExteriorLights_daytimeRunningLightsOn
;
763 static int hf_its_ExteriorLights_reverseLightOn
;
764 static int hf_its_ExteriorLights_fogLightOn
;
765 static int hf_its_ExteriorLights_parkingLightsOn
;
766 static int hf_its_LightBarSirenInUse_lightBarActivated
;
767 static int hf_its_LightBarSirenInUse_sirenActivated
;
768 static int hf_its_MatrixIncludedComponents_xPosition
;
769 static int hf_its_MatrixIncludedComponents_yPosition
;
770 static int hf_its_MatrixIncludedComponents_zPosition
;
771 static int hf_its_MatrixIncludedComponents_xVelocityOrVelocityMagnitude
;
772 static int hf_its_MatrixIncludedComponents_yVelocityOrVelocityDirection
;
773 static int hf_its_MatrixIncludedComponents_zSpeed
;
774 static int hf_its_MatrixIncludedComponents_xAccelOrAccelMagnitude
;
775 static int hf_its_MatrixIncludedComponents_yAccelOrAccelDirection
;
776 static int hf_its_MatrixIncludedComponents_zAcceleration
;
777 static int hf_its_MatrixIncludedComponents_zAngle
;
778 static int hf_its_MatrixIncludedComponents_yAngle
;
779 static int hf_its_MatrixIncludedComponents_xAngle
;
780 static int hf_its_MatrixIncludedComponents_zAngularVelocity
;
781 static int hf_its_PositionOfOccupants_row1LeftOccupied
;
782 static int hf_its_PositionOfOccupants_row1RightOccupied
;
783 static int hf_its_PositionOfOccupants_row1MidOccupied
;
784 static int hf_its_PositionOfOccupants_row1NotDetectable
;
785 static int hf_its_PositionOfOccupants_row1NotPresent
;
786 static int hf_its_PositionOfOccupants_row2LeftOccupied
;
787 static int hf_its_PositionOfOccupants_row2RightOccupied
;
788 static int hf_its_PositionOfOccupants_row2MidOccupied
;
789 static int hf_its_PositionOfOccupants_row2NotDetectable
;
790 static int hf_its_PositionOfOccupants_row2NotPresent
;
791 static int hf_its_PositionOfOccupants_row3LeftOccupied
;
792 static int hf_its_PositionOfOccupants_row3RightOccupied
;
793 static int hf_its_PositionOfOccupants_row3MidOccupied
;
794 static int hf_its_PositionOfOccupants_row3NotDetectable
;
795 static int hf_its_PositionOfOccupants_row3NotPresent
;
796 static int hf_its_PositionOfOccupants_row4LeftOccupied
;
797 static int hf_its_PositionOfOccupants_row4RightOccupied
;
798 static int hf_its_PositionOfOccupants_row4MidOccupied
;
799 static int hf_its_PositionOfOccupants_row4NotDetectable
;
800 static int hf_its_PositionOfOccupants_row4NotPresent
;
801 static int hf_its_SensorTypes_undefined
;
802 static int hf_its_SensorTypes_radar
;
803 static int hf_its_SensorTypes_lidar
;
804 static int hf_its_SensorTypes_monovideo
;
805 static int hf_its_SensorTypes_stereovision
;
806 static int hf_its_SensorTypes_nightvision
;
807 static int hf_its_SensorTypes_ultrasonic
;
808 static int hf_its_SensorTypes_pmd
;
809 static int hf_its_SensorTypes_inductionLoop
;
810 static int hf_its_SensorTypes_sphericalCamera
;
811 static int hf_its_SensorTypes_uwb
;
812 static int hf_its_SensorTypes_acoustic
;
813 static int hf_its_SensorTypes_localAggregation
;
814 static int hf_its_SensorTypes_itsAggregation
;
815 static int hf_its_SpecialTransportType_heavyLoad
;
816 static int hf_its_SpecialTransportType_excessWidth
;
817 static int hf_its_SpecialTransportType_excessLength
;
818 static int hf_its_SpecialTransportType_excessHeight
;
819 static int hf_its_StoredInformationType_undefined
;
820 static int hf_its_StoredInformationType_staticDb
;
821 static int hf_its_StoredInformationType_dynamicDb
;
822 static int hf_its_StoredInformationType_realTimeDb
;
823 static int hf_its_StoredInformationType_map
;
824 static int hf_its_VruClusterProfiles_pedestrian
;
825 static int hf_its_VruClusterProfiles_bicyclist
;
826 static int hf_its_VruClusterProfiles_motorcyclist
;
827 static int hf_its_VruClusterProfiles_animal
;
828 static int hf_its_VruSpecificExteriorLights_unavailable
;
829 static int hf_its_VruSpecificExteriorLights_backFlashLight
;
830 static int hf_its_VruSpecificExteriorLights_helmetLight
;
831 static int hf_its_VruSpecificExteriorLights_armLight
;
832 static int hf_its_VruSpecificExteriorLights_legLight
;
833 static int hf_its_VruSpecificExteriorLights_wheelLight
;
835 /* --- Module ITS-ContainerV1 --- --- --- */
837 static int hf_itsv1_latitude
; /* Latitude */
838 static int hf_itsv1_longitude
; /* Longitude */
839 static int hf_itsv1_positionConfidenceEllipse
; /* PosConfidenceEllipse */
840 static int hf_itsv1_altitude
; /* Altitude */
841 static int hf_itsv1_deltaLatitude
; /* DeltaLatitude */
842 static int hf_itsv1_deltaLongitude
; /* DeltaLongitude */
843 static int hf_itsv1_deltaAltitude
; /* DeltaAltitude */
844 static int hf_itsv1_altitudeValue
; /* AltitudeValue */
845 static int hf_itsv1_altitudeConfidence
; /* AltitudeConfidence */
846 static int hf_itsv1_semiMajorConfidence
; /* SemiAxisLength */
847 static int hf_itsv1_semiMinorConfidence
; /* SemiAxisLength */
848 static int hf_itsv1_semiMajorOrientation
; /* HeadingValue */
849 static int hf_itsv1_pathPosition
; /* DeltaReferencePosition */
850 static int hf_itsv1_pathDeltaTime
; /* PathDeltaTime */
851 static int hf_itsv1_ptActivationType
; /* PtActivationType */
852 static int hf_itsv1_ptActivationData
; /* PtActivationData */
853 static int hf_itsv1_causeCode
; /* CauseCodeTypeV1 */
854 static int hf_itsv1_subCauseCode
; /* SubCauseCodeTypeV1 */
855 static int hf_itsv1_curvatureValue
; /* CurvatureValue */
856 static int hf_itsv1_curvatureConfidence
; /* CurvatureConfidence */
857 static int hf_itsv1_headingValue
; /* HeadingValue */
858 static int hf_itsv1_headingConfidence
; /* HeadingConfidence */
859 static int hf_itsv1_hardShoulderStatus
; /* HardShoulderStatus */
860 static int hf_itsv1_drivingLaneStatus
; /* DrivingLaneStatus */
861 static int hf_itsv1_speedValue
; /* SpeedValue */
862 static int hf_itsv1_speedConfidence
; /* SpeedConfidence */
863 static int hf_itsv1_longitudinalAccelerationValue
; /* LongitudinalAccelerationValue */
864 static int hf_itsv1_longitudinalAccelerationConfidence
; /* AccelerationConfidence */
865 static int hf_itsv1_lateralAccelerationValue
; /* LateralAccelerationValue */
866 static int hf_itsv1_lateralAccelerationConfidence
; /* AccelerationConfidence */
867 static int hf_itsv1_verticalAccelerationValue
; /* VerticalAccelerationValue */
868 static int hf_itsv1_verticalAccelerationConfidence
; /* AccelerationConfidence */
869 static int hf_itsv1_dangerousGoodsType
; /* DangerousGoodsBasic */
870 static int hf_itsv1_unNumber
; /* INTEGER_0_9999 */
871 static int hf_itsv1_elevatedTemperature
; /* BOOLEAN */
872 static int hf_itsv1_tunnelsRestricted
; /* BOOLEAN */
873 static int hf_itsv1_limitedQuantity
; /* BOOLEAN */
874 static int hf_itsv1_emergencyActionCode
; /* IA5String_SIZE_1_24 */
875 static int hf_itsv1_phoneNumber
; /* IA5String_SIZE_1_24 */
876 static int hf_itsv1_companyName
; /* UTF8String_SIZE_1_24 */
877 static int hf_itsv1_wMInumber
; /* WMInumber */
878 static int hf_itsv1_vDS
; /* VDS */
879 static int hf_itsv1_vehicleLengthValue
; /* VehicleLengthValue */
880 static int hf_itsv1_vehicleLengthConfidenceIndication
; /* VehicleLengthConfidenceIndication */
881 static int hf_itsv1_PathHistory_item
; /* PathPoint */
882 static int hf_itsv1_steeringWheelAngleValue
; /* SteeringWheelAngleValue */
883 static int hf_itsv1_steeringWheelAngleConfidence
; /* SteeringWheelAngleConfidence */
884 static int hf_itsv1_yawRateValue
; /* YawRateValue */
885 static int hf_itsv1_yawRateConfidence
; /* YawRateConfidence */
886 static int hf_itsv1_originatingStationID
; /* StationID */
887 static int hf_itsv1_sequenceNumber
; /* SequenceNumber */
888 static int hf_itsv1_ItineraryPath_item
; /* ReferencePosition */
889 static int hf_itsv1_protectedZoneType
; /* ProtectedZoneType */
890 static int hf_itsv1_expiryTime
; /* TimestampIts */
891 static int hf_itsv1_protectedZoneLatitude
; /* Latitude */
892 static int hf_itsv1_protectedZoneLongitude
; /* Longitude */
893 static int hf_itsv1_protectedZoneRadius
; /* ProtectedZoneRadius */
894 static int hf_itsv1_protectedZoneID
; /* ProtectedZoneID */
895 static int hf_itsv1_Traces_item
; /* PathHistory */
896 static int hf_itsv1_PositionOfPillars_item
; /* PosPillar */
897 static int hf_itsv1_RestrictedTypes_item
; /* StationType */
898 static int hf_itsv1_EventHistory_item
; /* EventPoint */
899 static int hf_itsv1_eventPosition
; /* DeltaReferencePosition */
900 static int hf_itsv1_eventDeltaTime
; /* PathDeltaTime */
901 static int hf_itsv1_informationQuality
; /* InformationQuality */
902 static int hf_itsv1_ProtectedCommunicationZonesRSU_item
; /* ProtectedCommunicationZone */
903 static int hf_itsv1_cenDsrcTollingZoneID
; /* CenDsrcTollingZoneID */
905 static int hf_itsv1_AccelerationControl_brakePedalEngaged
;
906 static int hf_itsv1_AccelerationControl_gasPedalEngaged
;
907 static int hf_itsv1_AccelerationControl_emergencyBrakeEngaged
;
908 static int hf_itsv1_AccelerationControl_collisionWarningEngaged
;
909 static int hf_itsv1_AccelerationControl_accEngaged
;
910 static int hf_itsv1_AccelerationControl_cruiseControlEngaged
;
911 static int hf_itsv1_AccelerationControl_speedLimiterEngaged
;
912 static int hf_itsv1_DrivingLaneStatus_spare_bit0
;
913 static int hf_itsv1_DrivingLaneStatus_outermostLaneClosed
;
914 static int hf_itsv1_DrivingLaneStatus_secondLaneFromOutsideClosed
;
915 static int hf_itsv1_ExteriorLights_lowBeamHeadlightsOn
;
916 static int hf_itsv1_ExteriorLights_highBeamHeadlightsOn
;
917 static int hf_itsv1_ExteriorLights_leftTurnSignalOn
;
918 static int hf_itsv1_ExteriorLights_rightTurnSignalOn
;
919 static int hf_itsv1_ExteriorLights_daytimeRunningLightsOn
;
920 static int hf_itsv1_ExteriorLights_reverseLightOn
;
921 static int hf_itsv1_ExteriorLights_fogLightOn
;
922 static int hf_itsv1_ExteriorLights_parkingLightsOn
;
923 static int hf_itsv1_SpecialTransportType_heavyLoad
;
924 static int hf_itsv1_SpecialTransportType_excessWidth
;
925 static int hf_itsv1_SpecialTransportType_excessLength
;
926 static int hf_itsv1_SpecialTransportType_excessHeight
;
927 static int hf_itsv1_LightBarSirenInUse_lightBarActivated
;
928 static int hf_itsv1_LightBarSirenInUse_sirenActivated
;
929 static int hf_itsv1_PositionOfOccupants_row1LeftOccupied
;
930 static int hf_itsv1_PositionOfOccupants_row1RightOccupied
;
931 static int hf_itsv1_PositionOfOccupants_row1MidOccupied
;
932 static int hf_itsv1_PositionOfOccupants_row1NotDetectable
;
933 static int hf_itsv1_PositionOfOccupants_row1NotPresent
;
934 static int hf_itsv1_PositionOfOccupants_row2LeftOccupied
;
935 static int hf_itsv1_PositionOfOccupants_row2RightOccupied
;
936 static int hf_itsv1_PositionOfOccupants_row2MidOccupied
;
937 static int hf_itsv1_PositionOfOccupants_row2NotDetectable
;
938 static int hf_itsv1_PositionOfOccupants_row2NotPresent
;
939 static int hf_itsv1_PositionOfOccupants_row3LeftOccupied
;
940 static int hf_itsv1_PositionOfOccupants_row3RightOccupied
;
941 static int hf_itsv1_PositionOfOccupants_row3MidOccupied
;
942 static int hf_itsv1_PositionOfOccupants_row3NotDetectable
;
943 static int hf_itsv1_PositionOfOccupants_row3NotPresent
;
944 static int hf_itsv1_PositionOfOccupants_row4LeftOccupied
;
945 static int hf_itsv1_PositionOfOccupants_row4RightOccupied
;
946 static int hf_itsv1_PositionOfOccupants_row4MidOccupied
;
947 static int hf_itsv1_PositionOfOccupants_row4NotDetectable
;
948 static int hf_itsv1_PositionOfOccupants_row4NotPresent
;
949 static int hf_itsv1_EnergyStorageType_hydrogenStorage
;
950 static int hf_itsv1_EnergyStorageType_electricEnergyStorage
;
951 static int hf_itsv1_EnergyStorageType_liquidPropaneGas
;
952 static int hf_itsv1_EnergyStorageType_compressedNaturalGas
;
953 static int hf_itsv1_EnergyStorageType_diesel
;
954 static int hf_itsv1_EnergyStorageType_gasoline
;
955 static int hf_itsv1_EnergyStorageType_ammonia
;
956 static int hf_itsv1_EmergencyPriority_requestForRightOfWay
;
957 static int hf_itsv1_EmergencyPriority_requestForFreeCrossingAtATrafficLight
;
959 /* --- Module EfcDsrcApplication --- --- --- */
961 static int hf_dsrc_app_maxLadenweightOnAxle1
; /* Int2 */
962 static int hf_dsrc_app_maxLadenweightOnAxle2
; /* Int2 */
963 static int hf_dsrc_app_maxLadenweightOnAxle3
; /* Int2 */
964 static int hf_dsrc_app_maxLadenweightOnAxle4
; /* Int2 */
965 static int hf_dsrc_app_maxLadenweightOnAxle5
; /* Int2 */
966 static int hf_dsrc_app_particulate
; /* T_particulate */
967 static int hf_dsrc_app_unitType
; /* UnitType */
968 static int hf_dsrc_app_value
; /* INTEGER_0_32767 */
969 static int hf_dsrc_app_absorptionCoeff
; /* Int2 */
970 static int hf_dsrc_app_euroValue
; /* EuroValue */
971 static int hf_dsrc_app_copValue
; /* CopValue */
972 static int hf_dsrc_app_emissionCO
; /* INTEGER_0_32767 */
973 static int hf_dsrc_app_emissionHC
; /* Int2 */
974 static int hf_dsrc_app_emissionNOX
; /* Int2 */
975 static int hf_dsrc_app_emissionHCNOX
; /* Int2 */
976 static int hf_dsrc_app_numberOfSeats
; /* Int1 */
977 static int hf_dsrc_app_numberOfStandingPlaces
; /* Int1 */
978 static int hf_dsrc_app_countryCode
; /* CountryCode */
979 static int hf_dsrc_app_providerIdentifier
; /* AVIAEIIssuerIdentifier */
980 static int hf_dsrc_app_soundstationary
; /* Int1 */
981 static int hf_dsrc_app_sounddriveby
; /* Int1 */
982 static int hf_dsrc_app_vehicleLengthOverall
; /* Int1 */
983 static int hf_dsrc_app_vehicleHeigthOverall
; /* Int1 */
984 static int hf_dsrc_app_vehicleWidthOverall
; /* Int1 */
985 static int hf_dsrc_app_vehicleMaxLadenWeight
; /* Int2 */
986 static int hf_dsrc_app_vehicleTrainMaximumWeight
; /* Int2 */
987 static int hf_dsrc_app_vehicleWeightUnladen
; /* Int2 */
989 /* --- Module DSRC --- --- --- */
991 static int hf_dsrc_dsrc_MapData_PDU
; /* MapData */
992 static int hf_dsrc_dsrc_RTCMcorrections_PDU
; /* RTCMcorrections */
993 static int hf_dsrc_dsrc_SPAT_PDU
; /* SPAT */
994 static int hf_dsrc_dsrc_SignalRequestMessage_PDU
; /* SignalRequestMessage */
995 static int hf_dsrc_dsrc_SignalStatusMessage_PDU
; /* SignalStatusMessage */
996 static int hf_dsrc_regionId
; /* RegionId */
997 static int hf_dsrc_regExtValue
; /* T_regExtValue */
998 static int hf_dsrc_mdTimeStamp
; /* MinuteOfTheYear */
999 static int hf_dsrc_msgIssueRevision
; /* MsgCount */
1000 static int hf_dsrc_layerType
; /* LayerType */
1001 static int hf_dsrc_layerID
; /* LayerID */
1002 static int hf_dsrc_mdIntersections
; /* IntersectionGeometryList */
1003 static int hf_dsrc_roadSegments
; /* RoadSegmentList */
1004 static int hf_dsrc_dataParameters
; /* DataParameters */
1005 static int hf_dsrc_restrictionList
; /* RestrictionClassList */
1006 static int hf_dsrc_mapRegional
; /* T_MAPRegional */
1007 static int hf_dsrc_mapRegional_item
; /* RegionalExtension */
1008 static int hf_dsrc_msgCnt
; /* MsgCount */
1009 static int hf_dsrc_rev
; /* RTCM_Revision */
1010 static int hf_dsrc_timeStamp
; /* MinuteOfTheYear */
1011 static int hf_dsrc_anchorPoint
; /* FullPositionVector */
1012 static int hf_dsrc_rtcmHeader
; /* RTCMheader */
1013 static int hf_dsrc_msgs
; /* RTCMmessageList */
1014 static int hf_dsrc_regional
; /* SEQUENCE_SIZE_1_4_OF_RegionalExtension */
1015 static int hf_dsrc_regional_item
; /* RegionalExtension */
1016 static int hf_dsrc_spatTimeStamp
; /* MinuteOfTheYear */
1017 static int hf_dsrc_name
; /* DescriptiveName */
1018 static int hf_dsrc_spatIntersections
; /* IntersectionStateList */
1019 static int hf_dsrc_spatRegional
; /* T_SPATRegional */
1020 static int hf_dsrc_spatRegional_item
; /* RegionalExtension */
1021 static int hf_dsrc_srmTimeStamp
; /* MinuteOfTheYear */
1022 static int hf_dsrc_second
; /* DSecond */
1023 static int hf_dsrc_sequenceNumber
; /* MsgCount */
1024 static int hf_dsrc_requests
; /* SignalRequestList */
1025 static int hf_dsrc_requestor
; /* RequestorDescription */
1026 static int hf_dsrc_srmRegional
; /* T_SRMRegional */
1027 static int hf_dsrc_srmRegional_item
; /* RegionalExtension */
1028 static int hf_dsrc_ssmTimeStamp
; /* MinuteOfTheYear */
1029 static int hf_dsrc_ssmStatus
; /* SignalStatusList */
1030 static int hf_dsrc_ssmRegional
; /* T_SSMRegional */
1031 static int hf_dsrc_ssmRegional_item
; /* RegionalExtension */
1032 static int hf_dsrc_asType
; /* AdvisorySpeedType */
1033 static int hf_dsrc_asSpeed
; /* SpeedAdvice */
1034 static int hf_dsrc_asConfidence
; /* SpeedConfidenceDSRC */
1035 static int hf_dsrc_distance
; /* ZoneLength */
1036 static int hf_dsrc_class
; /* RestrictionClassID */
1037 static int hf_dsrc_asRegional
; /* T_AdvisorySpeedRegional */
1038 static int hf_dsrc_asRegional_item
; /* RegionalExtension */
1039 static int hf_dsrc_AdvisorySpeedList_item
; /* AdvisorySpeed */
1040 static int hf_dsrc_antOffsetX
; /* Offset_B12 */
1041 static int hf_dsrc_antOffsetY
; /* Offset_B09 */
1042 static int hf_dsrc_antOffsetZ
; /* Offset_B10 */
1043 static int hf_dsrc_referenceLaneId
; /* LaneID */
1044 static int hf_dsrc_offsetXaxis
; /* T_offsetXaxis */
1045 static int hf_dsrc_small
; /* DrivenLineOffsetSm */
1046 static int hf_dsrc_large
; /* DrivenLineOffsetLg */
1047 static int hf_dsrc_offsetYaxis
; /* T_offsetYaxis */
1048 static int hf_dsrc_rotateXY
; /* Angle */
1049 static int hf_dsrc_scaleXaxis
; /* Scale_B12 */
1050 static int hf_dsrc_scaleYaxis
; /* Scale_B12 */
1051 static int hf_dsrc_clRegional
; /* T_ComputedLaneRegional */
1052 static int hf_dsrc_clRegional_item
; /* RegionalExtension */
1053 static int hf_dsrc_ConnectsToList_item
; /* Connection */
1054 static int hf_dsrc_lane
; /* LaneID */
1055 static int hf_dsrc_maneuver
; /* AllowedManeuvers */
1056 static int hf_dsrc_connectingLane
; /* ConnectingLane */
1057 static int hf_dsrc_remoteIntersection
; /* IntersectionReferenceID */
1058 static int hf_dsrc_signalGroup
; /* SignalGroupID */
1059 static int hf_dsrc_userClass
; /* RestrictionClassID */
1060 static int hf_dsrc_connectionID
; /* LaneConnectionID */
1061 static int hf_dsrc_queueLength
; /* ZoneLength */
1062 static int hf_dsrc_availableStorageLength
; /* ZoneLength */
1063 static int hf_dsrc_waitOnStop
; /* WaitOnStopline */
1064 static int hf_dsrc_pedBicycleDetect
; /* PedestrianBicycleDetect */
1065 static int hf_dsrc_cmaRegional
; /* T_ConnectionManeuverAssistRegional */
1066 static int hf_dsrc_cmaRegional_item
; /* RegionalExtension */
1067 static int hf_dsrc_processMethod
; /* IA5String_SIZE_1_255 */
1068 static int hf_dsrc_processAgency
; /* IA5String_SIZE_1_255 */
1069 static int hf_dsrc_lastCheckedDate
; /* IA5String_SIZE_1_255 */
1070 static int hf_dsrc_geoidUsed
; /* IA5String_SIZE_1_255 */
1071 static int hf_dsrc_year
; /* DYear */
1072 static int hf_dsrc_month
; /* DMonth */
1073 static int hf_dsrc_day
; /* DDay */
1074 static int hf_dsrc_hour
; /* DHour */
1075 static int hf_dsrc_minute
; /* DMinute */
1076 static int hf_dsrc_offset
; /* DOffset */
1077 static int hf_dsrc_EnabledLaneList_item
; /* LaneID */
1078 static int hf_dsrc_utcTime
; /* DDateTime */
1079 static int hf_dsrc_long
; /* Longitude */
1080 static int hf_dsrc_lat
; /* Latitude */
1081 static int hf_dsrc_fpvElevation
; /* Elevation */
1082 static int hf_dsrc_fpvHeading
; /* HeadingDSRC */
1083 static int hf_dsrc_fpvSpeed
; /* TransmissionAndSpeed */
1084 static int hf_dsrc_posAccuracy
; /* PositionalAccuracy */
1085 static int hf_dsrc_timeConfidence
; /* TimeConfidence */
1086 static int hf_dsrc_posConfidence
; /* PositionConfidenceSet */
1087 static int hf_dsrc_speedConfidence
; /* SpeedandHeadingandThrottleConfidence */
1088 static int hf_dsrc_laneID
; /* LaneID */
1089 static int hf_dsrc_ingressApproach
; /* ApproachID */
1090 static int hf_dsrc_egressApproach
; /* ApproachID */
1091 static int hf_dsrc_laneAttributes
; /* LaneAttributes */
1092 static int hf_dsrc_maneuvers
; /* AllowedManeuvers */
1093 static int hf_dsrc_nodeList
; /* NodeListXY */
1094 static int hf_dsrc_connectsTo
; /* ConnectsToList */
1095 static int hf_dsrc_overlays
; /* OverlayLaneList */
1096 static int hf_dsrc_glRegional
; /* T_GenericLaneRegional */
1097 static int hf_dsrc_glRegional_item
; /* RegionalExtension */
1098 static int hf_dsrc_approach
; /* ApproachID */
1099 static int hf_dsrc_connection
; /* LaneConnectionID */
1100 static int hf_dsrc_igId
; /* IntersectionReferenceID */
1101 static int hf_dsrc_revision
; /* MsgCount */
1102 static int hf_dsrc_refPoint
; /* Position3D */
1103 static int hf_dsrc_laneWidth
; /* LaneWidth */
1104 static int hf_dsrc_speedLimits
; /* SpeedLimitList */
1105 static int hf_dsrc_laneSet
; /* LaneList */
1106 static int hf_dsrc_preemptPriorityData
; /* PreemptPriorityList */
1107 static int hf_dsrc_igRegional
; /* T_IntersectionGeometryRegional */
1108 static int hf_dsrc_igRegional_item
; /* RegionalExtension */
1109 static int hf_dsrc_IntersectionGeometryList_item
; /* IntersectionGeometry */
1110 static int hf_dsrc_region
; /* RoadRegulatorID */
1111 static int hf_dsrc_irId
; /* IntersectionID */
1112 static int hf_dsrc_isId
; /* IntersectionReferenceID */
1113 static int hf_dsrc_isStatus
; /* IntersectionStatusObject */
1114 static int hf_dsrc_moy
; /* MinuteOfTheYear */
1115 static int hf_dsrc_isTimeStamp
; /* DSecond */
1116 static int hf_dsrc_enabledLanes
; /* EnabledLaneList */
1117 static int hf_dsrc_states
; /* MovementList */
1118 static int hf_dsrc_maneuverAssistList
; /* ManeuverAssistList */
1119 static int hf_dsrc_isRegional
; /* T_IntersectionStateRegional */
1120 static int hf_dsrc_isRegional_item
; /* RegionalExtension */
1121 static int hf_dsrc_IntersectionStateList_item
; /* IntersectionState */
1122 static int hf_dsrc_directionalUse
; /* LaneDirection */
1123 static int hf_dsrc_sharedWith
; /* LaneSharing */
1124 static int hf_dsrc_laneType
; /* LaneTypeAttributes */
1125 static int hf_dsrc_laRegional
; /* RegionalExtension */
1126 static int hf_dsrc_pathEndPointAngle
; /* DeltaAngle */
1127 static int hf_dsrc_laneCrownPointCenter
; /* RoadwayCrownAngle */
1128 static int hf_dsrc_laneCrownPointLeft
; /* RoadwayCrownAngle */
1129 static int hf_dsrc_laneCrownPointRight
; /* RoadwayCrownAngle */
1130 static int hf_dsrc_laneAngle
; /* MergeDivergeNodeAngle */
1131 static int hf_dsrc_ldaRegional
; /* T_LaneDataAttributeRegional */
1132 static int hf_dsrc_ldaRegional_item
; /* RegionalExtension */
1133 static int hf_dsrc_LaneDataAttributeList_item
; /* LaneDataAttribute */
1134 static int hf_dsrc_LaneList_item
; /* GenericLane */
1135 static int hf_dsrc_vehicle
; /* LaneAttributes_Vehicle */
1136 static int hf_dsrc_crosswalk
; /* LaneAttributes_Crosswalk */
1137 static int hf_dsrc_bikeLane
; /* LaneAttributes_Bike */
1138 static int hf_dsrc_sidewalk
; /* LaneAttributes_Sidewalk */
1139 static int hf_dsrc_median
; /* LaneAttributes_Barrier */
1140 static int hf_dsrc_striping
; /* LaneAttributes_Striping */
1141 static int hf_dsrc_trackedVehicle
; /* LaneAttributes_TrackedVehicle */
1142 static int hf_dsrc_parking
; /* LaneAttributes_Parking */
1143 static int hf_dsrc_ManeuverAssistList_item
; /* ConnectionManeuverAssist */
1144 static int hf_dsrc_eventState
; /* MovementPhaseState */
1145 static int hf_dsrc_timing
; /* TimeChangeDetails */
1146 static int hf_dsrc_speeds
; /* AdvisorySpeedList */
1147 static int hf_dsrc_meRegional
; /* T_MovementEventRegional */
1148 static int hf_dsrc_meRegional_item
; /* RegionalExtension */
1149 static int hf_dsrc_MovementEventList_item
; /* MovementEvent */
1150 static int hf_dsrc_MovementList_item
; /* MovementState */
1151 static int hf_dsrc_movementName
; /* DescriptiveName */
1152 static int hf_dsrc_state_time_speed
; /* MovementEventList */
1153 static int hf_dsrc_msRegional
; /* T_MovementStateRegional */
1154 static int hf_dsrc_msRegional_item
; /* RegionalExtension */
1155 static int hf_dsrc_localNode
; /* NodeAttributeXYList */
1156 static int hf_dsrc_disabled
; /* SegmentAttributeXYList */
1157 static int hf_dsrc_enabled
; /* SegmentAttributeXYList */
1158 static int hf_dsrc_data
; /* LaneDataAttributeList */
1159 static int hf_dsrc_dWidth
; /* Offset_B10 */
1160 static int hf_dsrc_dElevation
; /* Offset_B10 */
1161 static int hf_dsrc_nasxyRegional
; /* T_NodeAttributeSetXYRegional */
1162 static int hf_dsrc_nasxyRegional_item
; /* RegionalExtension */
1163 static int hf_dsrc_NodeAttributeXYList_item
; /* NodeAttributeXY */
1164 static int hf_dsrc_lon
; /* Longitude */
1165 static int hf_dsrc_n20bX
; /* Offset_B10 */
1166 static int hf_dsrc_n20bY
; /* Offset_B10 */
1167 static int hf_dsrc_n22bX
; /* Offset_B11 */
1168 static int hf_dsrc_n22bY
; /* Offset_B11 */
1169 static int hf_dsrc_n24bX
; /* Offset_B12 */
1170 static int hf_dsrc_n24bY
; /* Offset_B12 */
1171 static int hf_dsrc_n26bX
; /* Offset_B13 */
1172 static int hf_dsrc_n26bY
; /* Offset_B13 */
1173 static int hf_dsrc_n28bX
; /* Offset_B14 */
1174 static int hf_dsrc_n28bY
; /* Offset_B14 */
1175 static int hf_dsrc_n32bX
; /* Offset_B16 */
1176 static int hf_dsrc_n32bY
; /* Offset_B16 */
1177 static int hf_dsrc_nodes
; /* NodeSetXY */
1178 static int hf_dsrc_computed
; /* ComputedLane */
1179 static int hf_dsrc_node_XY1
; /* Node_XY_20b */
1180 static int hf_dsrc_node_XY2
; /* Node_XY_22b */
1181 static int hf_dsrc_node_XY3
; /* Node_XY_24b */
1182 static int hf_dsrc_node_XY4
; /* Node_XY_26b */
1183 static int hf_dsrc_node_XY5
; /* Node_XY_28b */
1184 static int hf_dsrc_node_XY6
; /* Node_XY_32b */
1185 static int hf_dsrc_node_LatLon
; /* Node_LLmD_64b */
1186 static int hf_dsrc_nopxyRegional
; /* RegionalExtension */
1187 static int hf_dsrc_delta
; /* NodeOffsetPointXY */
1188 static int hf_dsrc_attributes
; /* NodeAttributeSetXY */
1189 static int hf_dsrc_NodeSetXY_item
; /* NodeXY */
1190 static int hf_dsrc_OverlayLaneList_item
; /* LaneID */
1191 static int hf_dsrc_semiMajor
; /* SemiMajorAxisAccuracy */
1192 static int hf_dsrc_semiMinor
; /* SemiMinorAxisAccuracy */
1193 static int hf_dsrc_orientation
; /* SemiMajorAxisOrientation */
1194 static int hf_dsrc_pos
; /* PositionConfidence */
1195 static int hf_dsrc_pcsElevation
; /* ElevationConfidence */
1196 static int hf_dsrc_p3dElevation
; /* Elevation */
1197 static int hf_dsrc_p3dRegional
; /* T_Position3DRegional */
1198 static int hf_dsrc_p3dRegional_item
; /* RegionalExtension */
1199 static int hf_dsrc_PreemptPriorityList_item
; /* SignalControlZone */
1200 static int hf_dsrc_rslType
; /* SpeedLimitType */
1201 static int hf_dsrc_rslSpeed
; /* Velocity */
1202 static int hf_dsrc_rdId
; /* VehicleID */
1203 static int hf_dsrc_rdType
; /* RequestorType */
1204 static int hf_dsrc_rdPosition
; /* RequestorPositionVector */
1205 static int hf_dsrc_routeName
; /* DescriptiveName */
1206 static int hf_dsrc_transitStatus
; /* TransitVehicleStatus */
1207 static int hf_dsrc_transitOccupancy
; /* TransitVehicleOccupancy */
1208 static int hf_dsrc_transitSchedule
; /* DeltaTime */
1209 static int hf_dsrc_rdRegional
; /* T_RequestorDescriptionRegional */
1210 static int hf_dsrc_rdRegional_item
; /* RegionalExtension */
1211 static int hf_dsrc_rpvPosition
; /* Position3D */
1212 static int hf_dsrc_rpvHeading
; /* Angle */
1213 static int hf_dsrc_rpvSpeed
; /* TransmissionAndSpeed */
1214 static int hf_dsrc_role
; /* BasicVehicleRole */
1215 static int hf_dsrc_subrole
; /* RequestSubRole */
1216 static int hf_dsrc_rtRequest
; /* RequestImportanceLevel */
1217 static int hf_dsrc_iso3883
; /* Iso3833VehicleType */
1218 static int hf_dsrc_hpmsType
; /* VehicleType */
1219 static int hf_dsrc_rtRegional
; /* RegionalExtension */
1220 static int hf_dsrc_scaId
; /* RestrictionClassID */
1221 static int hf_dsrc_users
; /* RestrictionUserTypeList */
1222 static int hf_dsrc_RestrictionClassList_item
; /* RestrictionClassAssignment */
1223 static int hf_dsrc_basicType
; /* RestrictionAppliesTo */
1224 static int hf_dsrc_rutRegional
; /* T_RestrictionUserTypeRegional */
1225 static int hf_dsrc_rutRegional_item
; /* RegionalExtension */
1226 static int hf_dsrc_RestrictionUserTypeList_item
; /* RestrictionUserType */
1227 static int hf_dsrc_RoadLaneSetList_item
; /* GenericLane */
1228 static int hf_dsrc_rsrId
; /* RoadSegmentID */
1229 static int hf_dsrc_rsId
; /* RoadSegmentReferenceID */
1230 static int hf_dsrc_roadLaneSet
; /* RoadLaneSetList */
1231 static int hf_dsrc_rsRegional
; /* T_RoadSegmentRegional */
1232 static int hf_dsrc_rsRegional_item
; /* RegionalExtension */
1233 static int hf_dsrc_RoadSegmentList_item
; /* RoadSegment */
1234 static int hf_dsrc_status
; /* GNSSstatus */
1235 static int hf_dsrc_offsetSet
; /* AntennaOffsetSet */
1236 static int hf_dsrc_RTCMmessageList_item
; /* RTCMmessage */
1237 static int hf_dsrc_SegmentAttributeXYList_item
; /* SegmentAttributeXY */
1238 static int hf_dsrc_zone
; /* RegionalExtension */
1239 static int hf_dsrc_sriId
; /* VehicleID */
1240 static int hf_dsrc_sriRequest
; /* RequestID */
1241 static int hf_dsrc_typeData
; /* RequestorType */
1242 static int hf_dsrc_srId
; /* IntersectionReferenceID */
1243 static int hf_dsrc_requestID
; /* RequestID */
1244 static int hf_dsrc_requestType
; /* PriorityRequestType */
1245 static int hf_dsrc_inBoundLane
; /* IntersectionAccessPoint */
1246 static int hf_dsrc_outBoundLane
; /* IntersectionAccessPoint */
1247 static int hf_dsrc_srRegional
; /* T_SignalRequestRegional */
1248 static int hf_dsrc_srRegional_item
; /* RegionalExtension */
1249 static int hf_dsrc_SignalRequestList_item
; /* SignalRequestPackage */
1250 static int hf_dsrc_srpRequest
; /* SignalRequest */
1251 static int hf_dsrc_srpMinute
; /* MinuteOfTheYear */
1252 static int hf_dsrc_duration
; /* DSecond */
1253 static int hf_dsrc_srpRegional
; /* T_SignalRequestPackageRegional */
1254 static int hf_dsrc_srpRegional_item
; /* RegionalExtension */
1255 static int hf_dsrc_ssId
; /* IntersectionReferenceID */
1256 static int hf_dsrc_sigStatus
; /* SignalStatusPackageList */
1257 static int hf_dsrc_ssRegional
; /* T_SignalStatusRegional */
1258 static int hf_dsrc_ssRegional_item
; /* RegionalExtension */
1259 static int hf_dsrc_SignalStatusList_item
; /* SignalStatus */
1260 static int hf_dsrc_SignalStatusPackageList_item
; /* SignalStatusPackage */
1261 static int hf_dsrc_requester
; /* SignalRequesterInfo */
1262 static int hf_dsrc_inboundOn
; /* IntersectionAccessPoint */
1263 static int hf_dsrc_outboundOn
; /* IntersectionAccessPoint */
1264 static int hf_dsrc_sspMinute
; /* MinuteOfTheYear */
1265 static int hf_dsrc_sspStatus
; /* PrioritizationResponseStatus */
1266 static int hf_dsrc_sspRegional
; /* T_SignalStatusPackageRegional */
1267 static int hf_dsrc_sspRegional_item
; /* RegionalExtension */
1268 static int hf_dsrc_shtcheading
; /* HeadingConfidenceDSRC */
1269 static int hf_dsrc_shtcSpeed
; /* SpeedConfidenceDSRC */
1270 static int hf_dsrc_throttle
; /* ThrottleConfidence */
1271 static int hf_dsrc_SpeedLimitList_item
; /* RegulatorySpeedLimit */
1272 static int hf_dsrc_startTime
; /* TimeMark */
1273 static int hf_dsrc_minEndTime
; /* TimeMark */
1274 static int hf_dsrc_maxEndTime
; /* TimeMark */
1275 static int hf_dsrc_likelyTime
; /* TimeMark */
1276 static int hf_dsrc_tcdConfidence
; /* TimeIntervalConfidence */
1277 static int hf_dsrc_nextTime
; /* TimeMark */
1278 static int hf_dsrc_transmisson
; /* TransmissionState */
1279 static int hf_dsrc_tasSpeed
; /* Velocity */
1280 static int hf_dsrc_entityID
; /* TemporaryID */
1281 static int hf_dsrc_stationID
; /* StationID */
1283 static int hf_dsrc_LaneSharing_overlappingLaneDescriptionProvided
;
1284 static int hf_dsrc_LaneSharing_multipleLanesTreatedAsOneLane
;
1285 static int hf_dsrc_LaneSharing_otherNonMotorizedTrafficTypes
;
1286 static int hf_dsrc_LaneSharing_individualMotorizedVehicleTraffic
;
1287 static int hf_dsrc_LaneSharing_busVehicleTraffic
;
1288 static int hf_dsrc_LaneSharing_taxiVehicleTraffic
;
1289 static int hf_dsrc_LaneSharing_pedestriansTraffic
;
1290 static int hf_dsrc_LaneSharing_cyclistVehicleTraffic
;
1291 static int hf_dsrc_LaneSharing_trackedVehicleTraffic
;
1292 static int hf_dsrc_LaneSharing_pedestrianTraffic
;
1293 static int hf_dsrc_AllowedManeuvers_maneuverStraightAllowed
;
1294 static int hf_dsrc_AllowedManeuvers_maneuverLeftAllowed
;
1295 static int hf_dsrc_AllowedManeuvers_maneuverRightAllowed
;
1296 static int hf_dsrc_AllowedManeuvers_maneuverUTurnAllowed
;
1297 static int hf_dsrc_AllowedManeuvers_maneuverLeftTurnOnRedAllowed
;
1298 static int hf_dsrc_AllowedManeuvers_maneuverRightTurnOnRedAllowed
;
1299 static int hf_dsrc_AllowedManeuvers_maneuverLaneChangeAllowed
;
1300 static int hf_dsrc_AllowedManeuvers_maneuverNoStoppingAllowed
;
1301 static int hf_dsrc_AllowedManeuvers_yieldAllwaysRequired
;
1302 static int hf_dsrc_AllowedManeuvers_goWithHalt
;
1303 static int hf_dsrc_AllowedManeuvers_caution
;
1304 static int hf_dsrc_AllowedManeuvers_reserved1
;
1305 static int hf_dsrc_GNSSstatus_unavailable
;
1306 static int hf_dsrc_GNSSstatus_isHealthy
;
1307 static int hf_dsrc_GNSSstatus_isMonitored
;
1308 static int hf_dsrc_GNSSstatus_baseStationType
;
1309 static int hf_dsrc_GNSSstatus_aPDOPofUnder5
;
1310 static int hf_dsrc_GNSSstatus_inViewOfUnder5
;
1311 static int hf_dsrc_GNSSstatus_localCorrectionsPresent
;
1312 static int hf_dsrc_GNSSstatus_networkCorrectionsPresent
;
1313 static int hf_dsrc_IntersectionStatusObject_manualControlIsEnabled
;
1314 static int hf_dsrc_IntersectionStatusObject_stopTimeIsActivated
;
1315 static int hf_dsrc_IntersectionStatusObject_failureFlash
;
1316 static int hf_dsrc_IntersectionStatusObject_preemptIsActive
;
1317 static int hf_dsrc_IntersectionStatusObject_signalPriorityIsActive
;
1318 static int hf_dsrc_IntersectionStatusObject_fixedTimeOperation
;
1319 static int hf_dsrc_IntersectionStatusObject_trafficDependentOperation
;
1320 static int hf_dsrc_IntersectionStatusObject_standbyOperation
;
1321 static int hf_dsrc_IntersectionStatusObject_failureMode
;
1322 static int hf_dsrc_IntersectionStatusObject_off
;
1323 static int hf_dsrc_IntersectionStatusObject_recentMAPmessageUpdate
;
1324 static int hf_dsrc_IntersectionStatusObject_recentChangeInMAPassignedLanesIDsUsed
;
1325 static int hf_dsrc_IntersectionStatusObject_noValidMAPisAvailableAtThisTime
;
1326 static int hf_dsrc_IntersectionStatusObject_noValidSPATisAvailableAtThisTime
;
1327 static int hf_dsrc_LaneAttributes_Barrier_median_RevocableLane
;
1328 static int hf_dsrc_LaneAttributes_Barrier_median
;
1329 static int hf_dsrc_LaneAttributes_Barrier_whiteLineHashing
;
1330 static int hf_dsrc_LaneAttributes_Barrier_stripedLines
;
1331 static int hf_dsrc_LaneAttributes_Barrier_doubleStripedLines
;
1332 static int hf_dsrc_LaneAttributes_Barrier_trafficCones
;
1333 static int hf_dsrc_LaneAttributes_Barrier_constructionBarrier
;
1334 static int hf_dsrc_LaneAttributes_Barrier_trafficChannels
;
1335 static int hf_dsrc_LaneAttributes_Barrier_lowCurbs
;
1336 static int hf_dsrc_LaneAttributes_Barrier_highCurbs
;
1337 static int hf_dsrc_LaneAttributes_Bike_bikeRevocableLane
;
1338 static int hf_dsrc_LaneAttributes_Bike_pedestrianUseAllowed
;
1339 static int hf_dsrc_LaneAttributes_Bike_isBikeFlyOverLane
;
1340 static int hf_dsrc_LaneAttributes_Bike_fixedCycleTime
;
1341 static int hf_dsrc_LaneAttributes_Bike_biDirectionalCycleTimes
;
1342 static int hf_dsrc_LaneAttributes_Bike_isolatedByBarrier
;
1343 static int hf_dsrc_LaneAttributes_Bike_unsignalizedSegmentsPresent
;
1344 static int hf_dsrc_LaneAttributes_Crosswalk_crosswalkRevocableLane
;
1345 static int hf_dsrc_LaneAttributes_Crosswalk_bicyleUseAllowed
;
1346 static int hf_dsrc_LaneAttributes_Crosswalk_isXwalkFlyOverLane
;
1347 static int hf_dsrc_LaneAttributes_Crosswalk_fixedCycleTime
;
1348 static int hf_dsrc_LaneAttributes_Crosswalk_biDirectionalCycleTimes
;
1349 static int hf_dsrc_LaneAttributes_Crosswalk_hasPushToWalkButton
;
1350 static int hf_dsrc_LaneAttributes_Crosswalk_audioSupport
;
1351 static int hf_dsrc_LaneAttributes_Crosswalk_rfSignalRequestPresent
;
1352 static int hf_dsrc_LaneAttributes_Crosswalk_unsignalizedSegmentsPresent
;
1353 static int hf_dsrc_LaneAttributes_Parking_parkingRevocableLane
;
1354 static int hf_dsrc_LaneAttributes_Parking_parallelParkingInUse
;
1355 static int hf_dsrc_LaneAttributes_Parking_headInParkingInUse
;
1356 static int hf_dsrc_LaneAttributes_Parking_doNotParkZone
;
1357 static int hf_dsrc_LaneAttributes_Parking_parkingForBusUse
;
1358 static int hf_dsrc_LaneAttributes_Parking_parkingForTaxiUse
;
1359 static int hf_dsrc_LaneAttributes_Parking_noPublicParkingUse
;
1360 static int hf_dsrc_LaneAttributes_Sidewalk_sidewalk_RevocableLane
;
1361 static int hf_dsrc_LaneAttributes_Sidewalk_bicyleUseAllowed
;
1362 static int hf_dsrc_LaneAttributes_Sidewalk_isSidewalkFlyOverLane
;
1363 static int hf_dsrc_LaneAttributes_Sidewalk_walkBikes
;
1364 static int hf_dsrc_LaneAttributes_Striping_stripeToConnectingLanesRevocableLane
;
1365 static int hf_dsrc_LaneAttributes_Striping_stripeDrawOnLeft
;
1366 static int hf_dsrc_LaneAttributes_Striping_stripeDrawOnRight
;
1367 static int hf_dsrc_LaneAttributes_Striping_stripeToConnectingLanesLeft
;
1368 static int hf_dsrc_LaneAttributes_Striping_stripeToConnectingLanesRight
;
1369 static int hf_dsrc_LaneAttributes_Striping_stripeToConnectingLanesAhead
;
1370 static int hf_dsrc_LaneAttributes_TrackedVehicle_spec_RevocableLane
;
1371 static int hf_dsrc_LaneAttributes_TrackedVehicle_spec_commuterRailRoadTrack
;
1372 static int hf_dsrc_LaneAttributes_TrackedVehicle_spec_lightRailRoadTrack
;
1373 static int hf_dsrc_LaneAttributes_TrackedVehicle_spec_heavyRailRoadTrack
;
1374 static int hf_dsrc_LaneAttributes_TrackedVehicle_spec_otherRailType
;
1375 static int hf_dsrc_LaneAttributes_Vehicle_isVehicleRevocableLane
;
1376 static int hf_dsrc_LaneAttributes_Vehicle_isVehicleFlyOverLane
;
1377 static int hf_dsrc_LaneAttributes_Vehicle_hovLaneUseOnly
;
1378 static int hf_dsrc_LaneAttributes_Vehicle_restrictedToBusUse
;
1379 static int hf_dsrc_LaneAttributes_Vehicle_restrictedToTaxiUse
;
1380 static int hf_dsrc_LaneAttributes_Vehicle_restrictedFromPublicUse
;
1381 static int hf_dsrc_LaneAttributes_Vehicle_hasIRbeaconCoverage
;
1382 static int hf_dsrc_LaneAttributes_Vehicle_permissionOnRequest
;
1383 static int hf_dsrc_LaneDirection_ingressPath
;
1384 static int hf_dsrc_LaneDirection_egressPath
;
1385 static int hf_dsrc_TransitVehicleStatus_loading
;
1386 static int hf_dsrc_TransitVehicleStatus_anADAuse
;
1387 static int hf_dsrc_TransitVehicleStatus_aBikeLoad
;
1388 static int hf_dsrc_TransitVehicleStatus_doorOpen
;
1389 static int hf_dsrc_TransitVehicleStatus_charging
;
1390 static int hf_dsrc_TransitVehicleStatus_atStopLine
;
1392 /* --- Module AddGrpC --- --- --- */
1394 static int hf_AddGrpC_AddGrpC_ConnectionManeuverAssist_addGrpC_PDU
; /* ConnectionManeuverAssist_addGrpC */
1395 static int hf_AddGrpC_AddGrpC_ConnectionTrajectory_addGrpC_PDU
; /* ConnectionTrajectory_addGrpC */
1396 static int hf_AddGrpC_AddGrpC_IntersectionState_addGrpC_PDU
; /* IntersectionState_addGrpC */
1397 static int hf_AddGrpC_AddGrpC_LaneAttributes_addGrpC_PDU
; /* LaneAttributes_addGrpC */
1398 static int hf_AddGrpC_AddGrpC_MapData_addGrpC_PDU
; /* MapData_addGrpC */
1399 static int hf_AddGrpC_AddGrpC_MovementEvent_addGrpC_PDU
; /* MovementEvent_addGrpC */
1400 static int hf_AddGrpC_AddGrpC_NodeAttributeSet_addGrpC_PDU
; /* NodeAttributeSet_addGrpC */
1401 static int hf_AddGrpC_AddGrpC_Position3D_addGrpC_PDU
; /* Position3D_addGrpC */
1402 static int hf_AddGrpC_AddGrpC_RestrictionUserType_addGrpC_PDU
; /* RestrictionUserType_addGrpC */
1403 static int hf_AddGrpC_AddGrpC_RequestorDescription_addGrpC_PDU
; /* RequestorDescription_addGrpC */
1404 static int hf_AddGrpC_AddGrpC_SignalStatusPackage_addGrpC_PDU
; /* SignalStatusPackage_addGrpC */
1405 static int hf_AddGrpC_itsStationPosition
; /* ItsStationPositionList */
1406 static int hf_AddGrpC_nodes
; /* NodeSetXY */
1407 static int hf_AddGrpC_connectionID
; /* LaneConnectionID */
1408 static int hf_AddGrpC_activePrioritizations
; /* PrioritizationResponseList */
1409 static int hf_AddGrpC_maxVehicleHeight
; /* VehicleHeight */
1410 static int hf_AddGrpC_maxVehicleWeight
; /* VehicleMass */
1411 static int hf_AddGrpC_signalHeadLocations
; /* SignalHeadLocationList */
1412 static int hf_AddGrpC_stateChangeReason
; /* ExceptionalCondition */
1413 static int hf_AddGrpC_ptvRequest
; /* PtvRequestType */
1414 static int hf_AddGrpC_nodeLink
; /* NodeLink */
1415 static int hf_AddGrpC_node
; /* Node */
1416 static int hf_AddGrpC_altitude
; /* Altitude */
1417 static int hf_AddGrpC_emission
; /* EmissionType */
1418 static int hf_AddGrpC_fuel
; /* FuelType */
1419 static int hf_AddGrpC_batteryStatus
; /* BatteryStatus */
1420 static int hf_AddGrpC_synchToSchedule
; /* DeltaTime */
1421 static int hf_AddGrpC_rejectedReason
; /* RejectedReason */
1422 static int hf_AddGrpC_stationID
; /* StationID */
1423 static int hf_AddGrpC_laneID
; /* LaneID */
1424 static int hf_AddGrpC_nodeXY
; /* NodeOffsetPointXY */
1425 static int hf_AddGrpC_timeReference
; /* TimeReference */
1426 static int hf_AddGrpC_ItsStationPositionList_item
; /* ItsStationPosition */
1427 static int hf_AddGrpC_id
; /* INTEGER */
1428 static int hf_AddGrpC_lane
; /* LaneID */
1429 static int hf_AddGrpC_intersectionID
; /* IntersectionID */
1430 static int hf_AddGrpC_NodeLink_item
; /* Node */
1431 static int hf_AddGrpC_priorState
; /* PrioritizationResponseStatus */
1432 static int hf_AddGrpC_signalGroup
; /* SignalGroupID */
1433 static int hf_AddGrpC_PrioritizationResponseList_item
; /* PrioritizationResponse */
1434 static int hf_AddGrpC_nodeZ
; /* DeltaAltitude */
1435 static int hf_AddGrpC_signalGroupID
; /* SignalGroupID */
1436 static int hf_AddGrpC_SignalHeadLocationList_item
; /* SignalHeadLocation */
1438 /* --- Module GDD --- --- --- */
1440 static int hf_gdd_pictogramCode
; /* Pictogram */
1441 static int hf_gdd_attributes
; /* GddAttributes */
1442 static int hf_gdd_countryCode
; /* Pictogram_countryCode */
1443 static int hf_gdd_serviceCategoryCode
; /* Pictogram_serviceCategory */
1444 static int hf_gdd_pictogramCategoryCode
; /* Pictogram_category */
1445 static int hf_gdd_trafficSignPictogram
; /* Pictogram_trafficSign */
1446 static int hf_gdd_publicFacilitiesPictogram
; /* Pictogram_publicFacilitySign */
1447 static int hf_gdd_ambientOrRoadConditionPictogram
; /* Pictogram_conditionsSign */
1448 static int hf_gdd_nature
; /* Pictogram_nature */
1449 static int hf_gdd_serialNumber
; /* Pictogram_serialNumber */
1450 static int hf_gdd_GddAttributes_item
; /* GddAttributes_item */
1451 static int hf_gdd_dtm
; /* InternationalSign_applicablePeriod */
1452 static int hf_gdd_edt
; /* InternationalSign_exemptedApplicablePeriod */
1453 static int hf_gdd_dfl
; /* InternationalSign_directionalFlowOfLane */
1454 static int hf_gdd_ved
; /* InternationalSign_applicableVehicleDimensions */
1455 static int hf_gdd_spe
; /* InternationalSign_speedLimits */
1456 static int hf_gdd_roi
; /* InternationalSign_rateOfIncline */
1457 static int hf_gdd_dbv
; /* InternationalSign_distanceBetweenVehicles */
1458 static int hf_gdd_ddd
; /* InternationalSign_destinationInformation */
1459 static int hf_gdd_set
; /* InternationalSign_section */
1460 static int hf_gdd_nol
; /* InternationalSign_numberOfLane */
1461 static int hf_gdd_year
; /* T_year */
1462 static int hf_gdd_yearRangeStartYear
; /* Year */
1463 static int hf_gdd_yearRangeEndYear
; /* Year */
1464 static int hf_gdd_month_day
; /* T_month_day */
1465 static int hf_gdd_dateRangeStartMonthDate
; /* MonthDay */
1466 static int hf_gdd_dateRangeEndMonthDate
; /* MonthDay */
1467 static int hf_gdd_repeatingPeriodDayTypes
; /* RPDT */
1468 static int hf_gdd_hourMinutes
; /* T_hourMinutes */
1469 static int hf_gdd_timeRangeStartTime
; /* HoursMinutes */
1470 static int hf_gdd_timeRangeEndTime
; /* HoursMinutes */
1471 static int hf_gdd_dateRangeOfWeek
; /* DayOfWeek */
1472 static int hf_gdd_durationHourminute
; /* HoursMinutes */
1473 static int hf_gdd_month
; /* MonthDay_month */
1474 static int hf_gdd_day
; /* MonthDay_day */
1475 static int hf_gdd_hours
; /* HoursMinutes_hours */
1476 static int hf_gdd_mins
; /* HoursMinutes_mins */
1477 static int hf_gdd_startingPointLength
; /* Distance */
1478 static int hf_gdd_continuityLength
; /* Distance */
1479 static int hf_gdd_vehicleHeight
; /* Distance */
1480 static int hf_gdd_vehicleWidth
; /* Distance */
1481 static int hf_gdd_vehicleLength
; /* Distance */
1482 static int hf_gdd_vehicleWeight
; /* Weight */
1483 static int hf_gdd_dValue
; /* INTEGER_1_16384 */
1484 static int hf_gdd_unit
; /* Code_Units_CONSTR002 */
1485 static int hf_gdd_wValue
; /* INTEGER_1_16384 */
1486 static int hf_gdd_unit_01
; /* Code_Units_10_12 */
1487 static int hf_gdd_speedLimitMax
; /* INTEGER_0_250 */
1488 static int hf_gdd_speedLimitMin
; /* INTEGER_0_250 */
1489 static int hf_gdd_unit_02
; /* Code_Units_0_1 */
1490 static int hf_gdd_junctionDirection
; /* DistinInfo_junctionDirection */
1491 static int hf_gdd_roundaboutCwDirection
; /* DistinInfo_roundaboutCwDirection */
1492 static int hf_gdd_roundaboutCcwDirection
; /* DistinInfo_roundaboutCcwDirection */
1493 static int hf_gdd_ioList
; /* SEQUENCE_SIZE_1_8__OF_DestinationInformationIO */
1494 static int hf_gdd_ioList_item
; /* DestinationInformationIO */
1495 static int hf_gdd_arrowDirection
; /* IO_arrowDirection */
1496 static int hf_gdd_destPlace
; /* SEQUENCE_SIZE_1_4__OF_DestinationPlace */
1497 static int hf_gdd_destPlace_item
; /* DestinationPlace */
1498 static int hf_gdd_destRoad
; /* SEQUENCE_SIZE_1_4__OF_DestinationRoad */
1499 static int hf_gdd_destRoad_item
; /* DestinationRoad */
1500 static int hf_gdd_roadNumberIdentifier
; /* IO_roadNumberIdentifier */
1501 static int hf_gdd_streetName
; /* IO_streetName */
1502 static int hf_gdd_streetNameText
; /* IO_streetNameText */
1503 static int hf_gdd_distanceToDivergingPoint
; /* DistanceOrDuration */
1504 static int hf_gdd_distanceToDestinationPlace
; /* DistanceOrDuration */
1505 static int hf_gdd_destType
; /* DestinationType */
1506 static int hf_gdd_destRSCode
; /* GddStructure */
1507 static int hf_gdd_destBlob
; /* DestPlace_destBlob */
1508 static int hf_gdd_placeNameIdentification
; /* DestPlace_placeNameIdentification */
1509 static int hf_gdd_placeNameText
; /* DestPlace_placeNameText */
1510 static int hf_gdd_derType
; /* DestinationRoadType */
1511 static int hf_gdd_roadNumberIdentifier_01
; /* DestRoad_roadNumberIdentifier */
1512 static int hf_gdd_roadNumberText
; /* DestRoad_roadNumberText */
1513 static int hf_gdd_dodValue
; /* DistOrDuration_value */
1514 static int hf_gdd_unit_03
; /* DistOrDuration_Units */
1516 static int hf_gdd_RPDT_national_holiday
;
1517 static int hf_gdd_RPDT_even_days
;
1518 static int hf_gdd_RPDT_odd_days
;
1519 static int hf_gdd_RPDT_market_day
;
1520 static int hf_gdd_DayOfWeek_unused
;
1521 static int hf_gdd_DayOfWeek_monday
;
1522 static int hf_gdd_DayOfWeek_tuesday
;
1523 static int hf_gdd_DayOfWeek_wednesday
;
1524 static int hf_gdd_DayOfWeek_thursday
;
1525 static int hf_gdd_DayOfWeek_friday
;
1526 static int hf_gdd_DayOfWeek_saturday
;
1527 static int hf_gdd_DayOfWeek_sunday
;
1529 /* --- Module IVI --- --- --- */
1531 static int hf_ivi_ivi_IviStructure_PDU
; /* IviStructure */
1532 static int hf_ivi_mandatory
; /* IviManagementContainer */
1533 static int hf_ivi_optional
; /* IviContainers */
1534 static int hf_ivi_IviContainers_item
; /* IviContainer */
1535 static int hf_ivi_glc
; /* GeographicLocationContainer */
1536 static int hf_ivi_giv
; /* GeneralIviContainer */
1537 static int hf_ivi_rcc
; /* RoadConfigurationContainer */
1538 static int hf_ivi_tc
; /* TextContainer */
1539 static int hf_ivi_lac
; /* LayoutContainer */
1540 static int hf_ivi_avc
; /* AutomatedVehicleContainer */
1541 static int hf_ivi_mlc
; /* MapLocationContainer */
1542 static int hf_ivi_rsc
; /* RoadSurfaceContainer */
1543 static int hf_ivi_serviceProviderId
; /* Provider */
1544 static int hf_ivi_iviIdentificationNumber
; /* IviIdentificationNumber */
1545 static int hf_ivi_timeStamp
; /* TimestampIts */
1546 static int hf_ivi_validFrom
; /* TimestampIts */
1547 static int hf_ivi_validTo
; /* TimestampIts */
1548 static int hf_ivi_connectedIviStructures
; /* IviIdentificationNumbers */
1549 static int hf_ivi_iviStatus
; /* IviStatus */
1550 static int hf_ivi_connectedDenms
; /* ConnectedDenms */
1551 static int hf_ivi_referencePosition
; /* ReferencePosition */
1552 static int hf_ivi_referencePositionTime
; /* TimestampIts */
1553 static int hf_ivi_referencePositionHeading
; /* Heading */
1554 static int hf_ivi_referencePositionSpeed
; /* Speed */
1555 static int hf_ivi_parts
; /* GlcParts */
1556 static int hf_ivi_GlcParts_item
; /* GlcPart */
1557 static int hf_ivi_zoneId
; /* Zid */
1558 static int hf_ivi_laneNumber
; /* LanePosition */
1559 static int hf_ivi_zoneExtension
; /* INTEGER_0_255 */
1560 static int hf_ivi_zoneHeading
; /* HeadingValue */
1561 static int hf_ivi_zone
; /* Zone */
1562 static int hf_ivi_GeneralIviContainer_item
; /* GicPart */
1563 static int hf_ivi_gpDetectionZoneIds
; /* T_GicPartDetectionZoneIds */
1564 static int hf_ivi_its_Rrid
; /* VarLengthNumber */
1565 static int hf_ivi_gpRelevanceZoneIds
; /* T_GicPartRelevanceZoneIds */
1566 static int hf_ivi_direction
; /* Direction */
1567 static int hf_ivi_gpDriverAwarenessZoneIds
; /* T_GicPartDriverAwarenessZoneIds */
1568 static int hf_ivi_minimumAwarenessTime
; /* INTEGER_0_255 */
1569 static int hf_ivi_applicableLanes
; /* LanePositions */
1570 static int hf_ivi_iviType
; /* IviType */
1571 static int hf_ivi_iviPurpose
; /* IviPurpose */
1572 static int hf_ivi_laneStatus
; /* LaneStatus */
1573 static int hf_ivi_vehicleCharacteristics
; /* VehicleCharacteristicsList */
1574 static int hf_ivi_driverCharacteristics
; /* DriverCharacteristics */
1575 static int hf_ivi_layoutId
; /* INTEGER_1_4_ */
1576 static int hf_ivi_preStoredlayoutId
; /* INTEGER_1_64_ */
1577 static int hf_ivi_roadSignCodes
; /* RoadSignCodes */
1578 static int hf_ivi_extraText
; /* T_GicPartExtraText */
1579 static int hf_ivi_RoadConfigurationContainer_item
; /* RccPart */
1580 static int hf_ivi_relevanceZoneIds
; /* ZoneIds */
1581 static int hf_ivi_roadType
; /* RoadType */
1582 static int hf_ivi_laneConfiguration
; /* LaneConfiguration */
1583 static int hf_ivi_RoadSurfaceContainer_item
; /* RscPart */
1584 static int hf_ivi_detectionZoneIds
; /* ZoneIds */
1585 static int hf_ivi_roadSurfaceStaticCharacteristics
; /* RoadSurfaceStaticCharacteristics */
1586 static int hf_ivi_roadSurfaceDynamicCharacteristics
; /* RoadSurfaceDynamicCharacteristics */
1587 static int hf_ivi_TextContainer_item
; /* TcPart */
1588 static int hf_ivi_tpDetectionZoneIds
; /* T_TcPartDetectionZoneIds */
1589 static int hf_ivi_tpRelevanceZoneIds
; /* T_TcPartRelevanceZoneIds */
1590 static int hf_ivi_tpDriverAwarenessZoneIds
; /* T_TcPartDriverAwarenessZoneIds */
1591 static int hf_ivi_text
; /* T_TcPartText */
1592 static int hf_ivi_data
; /* OCTET_STRING */
1593 static int hf_ivi_height
; /* INTEGER_10_73 */
1594 static int hf_ivi_width
; /* INTEGER_10_265 */
1595 static int hf_ivi_layoutComponents
; /* LayoutComponents */
1596 static int hf_ivi_AutomatedVehicleContainer_item
; /* AvcPart */
1597 static int hf_ivi_automatedVehicleRules
; /* AutomatedVehicleRules */
1598 static int hf_ivi_platooningRules
; /* PlatooningRules */
1599 static int hf_ivi_reference
; /* MapReference */
1600 static int hf_ivi_parts_01
; /* MlcParts */
1601 static int hf_ivi_MlcParts_item
; /* MlcPart */
1602 static int hf_ivi_laneIds
; /* LaneIds */
1603 static int hf_ivi_AbsolutePositions_item
; /* AbsolutePosition */
1604 static int hf_ivi_AbsolutePositionsWAltitude_item
; /* AbsolutePositionWAltitude */
1605 static int hf_ivi_AutomatedVehicleRules_item
; /* AutomatedVehicleRule */
1606 static int hf_ivi_ConnectedDenms_item
; /* ActionID */
1607 static int hf_ivi_DeltaPositions_item
; /* DeltaPosition */
1608 static int hf_ivi_DeltaReferencePositions_item
; /* DeltaReferencePosition */
1609 static int hf_ivi_ConstraintTextLines1_item
; /* Text */
1610 static int hf_ivi_ConstraintTextLines2_item
; /* Text */
1611 static int hf_ivi_IviIdentificationNumbers_item
; /* IviIdentificationNumber */
1612 static int hf_ivi_ISO14823Attributes_item
; /* ISO14823Attribute */
1613 static int hf_ivi_LaneConfiguration_item
; /* LaneInformation */
1614 static int hf_ivi_LaneIds_item
; /* LaneID */
1615 static int hf_ivi_LanePositions_item
; /* LanePosition */
1616 static int hf_ivi_LayoutComponents_item
; /* LayoutComponent */
1617 static int hf_ivi_PlatooningRules_item
; /* PlatooningRule */
1618 static int hf_ivi_RoadSignCodes_item
; /* RSCode */
1619 static int hf_ivi_TextLines_item
; /* Text */
1620 static int hf_ivi_TrailerCharacteristicsList_item
; /* TrailerCharacteristics */
1621 static int hf_ivi_TrailerCharacteristicsFixValuesList_item
; /* VehicleCharacteristicsFixValues */
1622 static int hf_ivi_TrailerCharacteristicsRangesList_item
; /* VehicleCharacteristicsRanges */
1623 static int hf_ivi_SaeAutomationLevels_item
; /* SaeAutomationLevel */
1624 static int hf_ivi_VehicleCharacteristicsFixValuesList_item
; /* VehicleCharacteristicsFixValues */
1625 static int hf_ivi_VehicleCharacteristicsList_item
; /* CompleteVehicleCharacteristics */
1626 static int hf_ivi_VehicleCharacteristicsRangesList_item
; /* VehicleCharacteristicsRanges */
1627 static int hf_ivi_ValidityPeriods_item
; /* InternationalSign_applicablePeriod */
1628 static int hf_ivi_ZoneIds_item
; /* Zid */
1629 static int hf_ivi_latitude
; /* Latitude */
1630 static int hf_ivi_longitude
; /* Longitude */
1631 static int hf_ivi_altitude
; /* Altitude */
1632 static int hf_ivi_owner
; /* Provider */
1633 static int hf_ivi_version
; /* INTEGER_0_255 */
1634 static int hf_ivi_acPictogramCode
; /* INTEGER_0_65535 */
1635 static int hf_ivi_acValue
; /* INTEGER_0_65535 */
1636 static int hf_ivi_unit
; /* RSCUnit */
1637 static int hf_ivi_attributes
; /* ISO14823Attributes */
1638 static int hf_ivi_priority
; /* PriorityLevel */
1639 static int hf_ivi_allowedSaeAutomationLevels
; /* SaeAutomationLevels */
1640 static int hf_ivi_minGapBetweenVehicles
; /* GapBetweenVehicles */
1641 static int hf_ivi_recGapBetweenVehicles
; /* GapBetweenVehicles */
1642 static int hf_ivi_automatedVehicleMaxSpeedLimit
; /* SpeedValue */
1643 static int hf_ivi_automatedVehicleMinSpeedLimit
; /* SpeedValue */
1644 static int hf_ivi_automatedVehicleSpeedRecommendation
; /* SpeedValue */
1645 static int hf_ivi_extraText_01
; /* ConstraintTextLines2 */
1646 static int hf_ivi_tractor
; /* TractorCharacteristics */
1647 static int hf_ivi_trailer
; /* TrailerCharacteristicsList */
1648 static int hf_ivi_train
; /* TrainCharacteristics */
1649 static int hf_ivi_laneWidth
; /* IviLaneWidth */
1650 static int hf_ivi_offsetDistance
; /* INTEGER_M32768_32767 */
1651 static int hf_ivi_offsetPosition
; /* DeltaReferencePosition */
1652 static int hf_ivi_deltaLatitude
; /* DeltaLatitude */
1653 static int hf_ivi_deltaLongitude
; /* DeltaLongitude */
1654 static int hf_ivi_dtm
; /* InternationalSign_applicablePeriod */
1655 static int hf_ivi_edt
; /* InternationalSign_exemptedApplicablePeriod */
1656 static int hf_ivi_dfl
; /* InternationalSign_directionalFlowOfLane */
1657 static int hf_ivi_ved
; /* InternationalSign_applicableVehicleDimensions */
1658 static int hf_ivi_spe
; /* InternationalSign_speedLimits */
1659 static int hf_ivi_roi
; /* InternationalSign_rateOfIncline */
1660 static int hf_ivi_dbv
; /* InternationalSign_distanceBetweenVehicles */
1661 static int hf_ivi_ddd
; /* InternationalSign_destinationInformation */
1662 static int hf_ivi_icPictogramCode
; /* T_icPictogramCode */
1663 static int hf_ivi_countryCode
; /* OCTET_STRING_SIZE_2 */
1664 static int hf_ivi_serviceCategoryCode
; /* T_serviceCategoryCode */
1665 static int hf_ivi_trafficSignPictogram
; /* T_trafficSignPictogram */
1666 static int hf_ivi_publicFacilitiesPictogram
; /* T_publicFacilitiesPictogram */
1667 static int hf_ivi_ambientOrRoadConditionPictogram
; /* T_ambientOrRoadConditionPictogram */
1668 static int hf_ivi_pictogramCategoryCode
; /* T_pictogramCategoryCode */
1669 static int hf_ivi_nature
; /* INTEGER_1_9 */
1670 static int hf_ivi_serialNumber
; /* INTEGER_0_99 */
1671 static int hf_ivi_liValidity
; /* InternationalSign_applicablePeriod */
1672 static int hf_ivi_laneType
; /* LaneType */
1673 static int hf_ivi_laneTypeQualifier
; /* CompleteVehicleCharacteristics */
1674 static int hf_ivi_laneCharacteristics
; /* LaneCharacteristics */
1675 static int hf_ivi_laneSurfaceStaticCharacteristics
; /* RoadSurfaceStaticCharacteristics */
1676 static int hf_ivi_laneSurfaceDynamicCharacteristics
; /* RoadSurfaceDynamicCharacteristics */
1677 static int hf_ivi_zoneDefinitionAccuracy
; /* DefinitionAccuracy */
1678 static int hf_ivi_existinglaneMarkingStatus
; /* LaneMarkingStatus */
1679 static int hf_ivi_newlaneMarkingColour
; /* MarkingColour */
1680 static int hf_ivi_laneDelimitationLeft
; /* LaneDelimitation */
1681 static int hf_ivi_laneDelimitationRight
; /* LaneDelimitation */
1682 static int hf_ivi_mergingWith
; /* Zid */
1683 static int hf_ivi_lcLayoutComponentId
; /* INTEGER_1_8_ */
1684 static int hf_ivi_x
; /* INTEGER_10_265 */
1685 static int hf_ivi_y
; /* INTEGER_10_73 */
1686 static int hf_ivi_textScripting
; /* T_textScripting */
1687 static int hf_ivi_goodsType
; /* GoodsType */
1688 static int hf_ivi_dangerousGoodsType
; /* DangerousGoodsBasic */
1689 static int hf_ivi_specialTransportType
; /* SpecialTransportType */
1690 static int hf_ivi_roadsegment
; /* RoadSegmentReferenceID */
1691 static int hf_ivi_intersection
; /* IntersectionReferenceID */
1692 static int hf_ivi_maxNoOfVehicles
; /* MaxNoOfVehicles */
1693 static int hf_ivi_maxLenghtOfPlatoon
; /* MaxLenghtOfPlatoon */
1694 static int hf_ivi_platoonMaxSpeedLimit
; /* SpeedValue */
1695 static int hf_ivi_platoonMinSpeedLimit
; /* SpeedValue */
1696 static int hf_ivi_platoonSpeedRecommendation
; /* SpeedValue */
1697 static int hf_ivi_deltaPositions
; /* DeltaPositions */
1698 static int hf_ivi_deltaPositionsWithAltitude
; /* DeltaReferencePositions */
1699 static int hf_ivi_absolutePositions
; /* AbsolutePositions */
1700 static int hf_ivi_absolutePositionsWithAltitude
; /* AbsolutePositionsWAltitude */
1701 static int hf_ivi_condition
; /* Condition */
1702 static int hf_ivi_temperature
; /* Temperature */
1703 static int hf_ivi_iceOrWaterDepth
; /* Depth */
1704 static int hf_ivi_treatment
; /* TreatmentType */
1705 static int hf_ivi_frictionCoefficient
; /* FrictionCoefficient */
1706 static int hf_ivi_material
; /* MaterialType */
1707 static int hf_ivi_wear
; /* WearLevel */
1708 static int hf_ivi_avBankingAngle
; /* BankingAngle */
1709 static int hf_ivi_rscLayoutComponentId
; /* INTEGER_1_4_ */
1710 static int hf_ivi_code
; /* T_code */
1711 static int hf_ivi_viennaConvention
; /* VcCode */
1712 static int hf_ivi_iso14823
; /* ISO14823Code */
1713 static int hf_ivi_itisCodes
; /* INTEGER_0_65535 */
1714 static int hf_ivi_anyCatalogue
; /* AnyCatalogue */
1715 static int hf_ivi_line
; /* PolygonalLine */
1716 static int hf_ivi_tLayoutComponentId
; /* INTEGER_1_4_ */
1717 static int hf_ivi_language
; /* T_language */
1718 static int hf_ivi_textContent
; /* UTF8String */
1719 static int hf_ivi_toEqualTo
; /* T_TractorCharactEqualTo */
1720 static int hf_ivi_toNotEqualTo
; /* T_TractorCharactNotEqualTo */
1721 static int hf_ivi_ranges
; /* VehicleCharacteristicsRangesList */
1722 static int hf_ivi_teEqualTo
; /* T_TrailerCharactEqualTo */
1723 static int hf_ivi_teNotEqualTo
; /* T_TrailerCharactNotEqualTo */
1724 static int hf_ivi_ranges_01
; /* TrailerCharacteristicsRangesList */
1725 static int hf_ivi_roadSignClass
; /* VcClass */
1726 static int hf_ivi_roadSignCode
; /* INTEGER_1_64 */
1727 static int hf_ivi_vcOption
; /* VcOption */
1728 static int hf_ivi_vcValidity
; /* ValidityPeriods */
1729 static int hf_ivi_vcValue
; /* INTEGER_0_65535 */
1730 static int hf_ivi_simpleVehicleType
; /* StationType */
1731 static int hf_ivi_euVehicleCategoryCode
; /* EuVehicleCategoryCode */
1732 static int hf_ivi_iso3833VehicleType
; /* Iso3833VehicleType */
1733 static int hf_ivi_euroAndCo2value
; /* EnvironmentalCharacteristics */
1734 static int hf_ivi_engineCharacteristics
; /* EngineCharacteristics */
1735 static int hf_ivi_loadType
; /* LoadType */
1736 static int hf_ivi_usage
; /* VehicleRole */
1737 static int hf_ivi_comparisonOperator
; /* ComparisonOperator */
1738 static int hf_ivi_limits
; /* T_limits */
1739 static int hf_ivi_numberOfAxles
; /* INTEGER_0_7 */
1740 static int hf_ivi_vehicleDimensions
; /* VehicleDimensions */
1741 static int hf_ivi_vehicleWeightLimits
; /* VehicleWeightLimits */
1742 static int hf_ivi_axleWeightLimits
; /* AxleWeightLimits */
1743 static int hf_ivi_passengerCapacity
; /* PassengerCapacity */
1744 static int hf_ivi_exhaustEmissionValues
; /* ExhaustEmissionValues */
1745 static int hf_ivi_dieselEmissionValues
; /* DieselEmissionValues */
1746 static int hf_ivi_soundLevel
; /* SoundLevel */
1747 static int hf_ivi_segment
; /* Segment */
1748 static int hf_ivi_area
; /* PolygonalLine */
1749 static int hf_ivi_computedSegment
; /* ComputedSegment */
1750 static int dummy_hf_ivi_eag_field
; /* never registered */
1752 /* --- Module CAMv1-PDU-Descriptions --- --- --- */
1754 static int hf_camv1_camv1_CoopAwarenessV1_PDU
; /* CoopAwarenessV1 */
1755 static int hf_camv1_generationDeltaTime
; /* GenerationDeltaTime */
1756 static int hf_camv1_camParameters
; /* CamParameters */
1757 static int hf_camv1_basicContainer
; /* BasicContainer */
1758 static int hf_camv1_highFrequencyContainer
; /* HighFrequencyContainer */
1759 static int hf_camv1_lowFrequencyContainer
; /* LowFrequencyContainer */
1760 static int hf_camv1_specialVehicleContainer
; /* SpecialVehicleContainer */
1761 static int hf_camv1_basicVehicleContainerHighFrequency
; /* BasicVehicleContainerHighFrequency */
1762 static int hf_camv1_rsuContainerHighFrequency
; /* RSUContainerHighFrequency */
1763 static int hf_camv1_basicVehicleContainerLowFrequency
; /* BasicVehicleContainerLowFrequency */
1764 static int hf_camv1_publicTransportContainer
; /* PublicTransportContainer */
1765 static int hf_camv1_specialTransportContainer
; /* SpecialTransportContainer */
1766 static int hf_camv1_dangerousGoodsContainer
; /* DangerousGoodsContainer */
1767 static int hf_camv1_roadWorksContainerBasic
; /* RoadWorksContainerBasic */
1768 static int hf_camv1_rescueContainer
; /* RescueContainer */
1769 static int hf_camv1_emergencyContainer
; /* EmergencyContainer */
1770 static int hf_camv1_safetyCarContainer
; /* SafetyCarContainer */
1771 static int hf_camv1_stationType
; /* StationType */
1772 static int hf_camv1_referencePosition
; /* ReferencePosition */
1773 static int hf_camv1_heading
; /* Heading */
1774 static int hf_camv1_speed
; /* Speed */
1775 static int hf_camv1_driveDirection
; /* DriveDirection */
1776 static int hf_camv1_vehicleLength
; /* VehicleLength */
1777 static int hf_camv1_vehicleWidth
; /* VehicleWidth */
1778 static int hf_camv1_longitudinalAcceleration
; /* LongitudinalAcceleration */
1779 static int hf_camv1_curvature
; /* Curvature */
1780 static int hf_camv1_curvatureCalculationMode
; /* CurvatureCalculationMode */
1781 static int hf_camv1_yawRate
; /* YawRate */
1782 static int hf_camv1_accelerationControl
; /* AccelerationControl */
1783 static int hf_camv1_lanePosition
; /* LanePosition */
1784 static int hf_camv1_steeringWheelAngle
; /* SteeringWheelAngle */
1785 static int hf_camv1_lateralAcceleration
; /* LateralAcceleration */
1786 static int hf_camv1_verticalAcceleration
; /* VerticalAcceleration */
1787 static int hf_camv1_performanceClass
; /* PerformanceClass */
1788 static int hf_camv1_cenDsrcTollingZone
; /* CenDsrcTollingZone */
1789 static int hf_camv1_vehicleRole
; /* VehicleRole */
1790 static int hf_camv1_exteriorLights
; /* ExteriorLights */
1791 static int hf_camv1_pathHistory
; /* PathHistory */
1792 static int hf_camv1_embarkationStatus
; /* EmbarkationStatus */
1793 static int hf_camv1_ptActivation
; /* PtActivation */
1794 static int hf_camv1_specialTransportType
; /* SpecialTransportType */
1795 static int hf_camv1_lightBarSirenInUse
; /* LightBarSirenInUse */
1796 static int hf_camv1_dangerousGoodsBasic
; /* DangerousGoodsBasic */
1797 static int hf_camv1_roadworksSubCauseCode
; /* RoadworksSubCauseCode */
1798 static int hf_camv1_closedLanes
; /* ClosedLanes */
1799 static int hf_camv1_incidentIndication
; /* CauseCode */
1800 static int hf_camv1_emergencyPriority
; /* EmergencyPriority */
1801 static int hf_camv1_trafficRule
; /* TrafficRule */
1802 static int hf_camv1_speedLimit
; /* SpeedLimit */
1803 static int hf_camv1_protectedCommunicationZonesRSU
; /* ProtectedCommunicationZonesRSU */
1805 /* --- Module CAM-PDU-Descriptions --- --- --- */
1807 static int hf_cam_cam_CamPayload_PDU
; /* CamPayload */
1808 static int hf_cam_generationDeltaTime
; /* GenerationDeltaTime */
1809 static int hf_cam_camParameters
; /* CamParameters */
1810 static int hf_cam_basicContainer
; /* BasicContainer */
1811 static int hf_cam_highFrequencyContainer
; /* HighFrequencyContainer */
1812 static int hf_cam_lowFrequencyContainer
; /* LowFrequencyContainer */
1813 static int hf_cam_specialVehicleContainer
; /* SpecialVehicleContainer */
1814 static int hf_cam_basicVehicleContainerHighFrequency
; /* BasicVehicleContainerHighFrequency */
1815 static int hf_cam_rsuContainerHighFrequency
; /* RSUContainerHighFrequency */
1816 static int hf_cam_basicVehicleContainerLowFrequency
; /* BasicVehicleContainerLowFrequency */
1817 static int hf_cam_publicTransportContainer
; /* PublicTransportContainer */
1818 static int hf_cam_specialTransportContainer
; /* SpecialTransportContainer */
1819 static int hf_cam_dangerousGoodsContainer
; /* DangerousGoodsContainer */
1820 static int hf_cam_roadWorksContainerBasic
; /* RoadWorksContainerBasic */
1821 static int hf_cam_rescueContainer
; /* RescueContainer */
1822 static int hf_cam_emergencyContainer
; /* EmergencyContainer */
1823 static int hf_cam_safetyCarContainer
; /* SafetyCarContainer */
1824 static int hf_cam_heading
; /* Heading */
1825 static int hf_cam_speed
; /* Speed */
1826 static int hf_cam_driveDirection
; /* DriveDirection */
1827 static int hf_cam_vehicleLength
; /* VehicleLength */
1828 static int hf_cam_vehicleWidth
; /* VehicleWidth */
1829 static int hf_cam_longitudinalAcceleration
; /* AccelerationComponent */
1830 static int hf_cam_curvature
; /* Curvature */
1831 static int hf_cam_curvatureCalculationMode
; /* CurvatureCalculationMode */
1832 static int hf_cam_yawRate
; /* YawRate */
1833 static int hf_cam_accelerationControl
; /* AccelerationControl */
1834 static int hf_cam_lanePosition
; /* LanePosition */
1835 static int hf_cam_steeringWheelAngle
; /* SteeringWheelAngle */
1836 static int hf_cam_lateralAcceleration
; /* AccelerationComponent */
1837 static int hf_cam_verticalAcceleration
; /* AccelerationComponent */
1838 static int hf_cam_performanceClass
; /* PerformanceClass */
1839 static int hf_cam_cenDsrcTollingZone
; /* CenDsrcTollingZone */
1840 static int hf_cam_vehicleRole
; /* VehicleRole */
1841 static int hf_cam_exteriorLights
; /* ExteriorLights */
1842 static int hf_cam_pathHistory
; /* Path */
1843 static int hf_cam_embarkationStatus
; /* EmbarkationStatus */
1844 static int hf_cam_ptActivation
; /* PtActivation */
1845 static int hf_cam_specialTransportType
; /* SpecialTransportType */
1846 static int hf_cam_lightBarSirenInUse
; /* LightBarSirenInUse */
1847 static int hf_cam_dangerousGoodsBasic
; /* DangerousGoodsBasic */
1848 static int hf_cam_roadworksSubCauseCode
; /* RoadworksSubCauseCode */
1849 static int hf_cam_closedLanes
; /* ClosedLanes */
1850 static int hf_cam_incidentIndication
; /* CauseCodeV2 */
1851 static int hf_cam_emergencyPriority
; /* EmergencyPriority */
1852 static int hf_cam_trafficRule
; /* TrafficRule */
1853 static int hf_cam_speedLimit
; /* SpeedLimit */
1854 static int hf_cam_protectedCommunicationZonesRSU
; /* ProtectedCommunicationZonesRSU */
1856 /* --- Module DENMv1-PDU-Descriptions --- --- --- */
1858 static int hf_denmv1_denmv1_DecentralizedEnvironmentalNotificationMessageV1_PDU
; /* DecentralizedEnvironmentalNotificationMessageV1 */
1859 static int hf_denmv1_management
; /* ManagementContainer */
1860 static int hf_denmv1_situation
; /* SituationContainer */
1861 static int hf_denmv1_location
; /* LocationContainer */
1862 static int hf_denmv1_alacarte
; /* AlacarteContainer */
1863 static int hf_denmv1_actionID
; /* ActionID */
1864 static int hf_denmv1_detectionTime
; /* TimestampIts */
1865 static int hf_denmv1_referenceTime
; /* TimestampIts */
1866 static int hf_denmv1_termination
; /* Termination */
1867 static int hf_denmv1_eventPosition
; /* ReferencePosition */
1868 static int hf_denmv1_relevanceDistance
; /* RelevanceDistance */
1869 static int hf_denmv1_relevanceTrafficDirection
; /* RelevanceTrafficDirection */
1870 static int hf_denmv1_validityDuration
; /* ValidityDuration */
1871 static int hf_denmv1_transmissionInterval
; /* TransmissionInterval */
1872 static int hf_denmv1_stationType
; /* StationType */
1873 static int hf_denmv1_informationQuality
; /* InformationQuality */
1874 static int hf_denmv1_eventType
; /* CauseCode */
1875 static int hf_denmv1_linkedCause
; /* CauseCode */
1876 static int hf_denmv1_eventHistory
; /* EventHistory */
1877 static int hf_denmv1_eventSpeed
; /* Speed */
1878 static int hf_denmv1_eventPositionHeading
; /* Heading */
1879 static int hf_denmv1_traces
; /* Traces */
1880 static int hf_denmv1_roadType
; /* RoadType */
1881 static int hf_denmv1_heightLonCarrLeft
; /* HeightLonCarr */
1882 static int hf_denmv1_heightLonCarrRight
; /* HeightLonCarr */
1883 static int hf_denmv1_posLonCarrLeft
; /* PosLonCarr */
1884 static int hf_denmv1_posLonCarrRight
; /* PosLonCarr */
1885 static int hf_denmv1_positionOfPillars
; /* PositionOfPillars */
1886 static int hf_denmv1_posCentMass
; /* PosCentMass */
1887 static int hf_denmv1_wheelBaseVehicle
; /* WheelBaseVehicle */
1888 static int hf_denmv1_turningRadius
; /* TurningRadius */
1889 static int hf_denmv1_posFrontAx
; /* PosFrontAx */
1890 static int hf_denmv1_positionOfOccupants
; /* PositionOfOccupants */
1891 static int hf_denmv1_vehicleMass
; /* VehicleMass */
1892 static int hf_denmv1_requestResponseIndication
; /* RequestResponseIndication */
1893 static int hf_denmv1_lightBarSirenInUse
; /* LightBarSirenInUse */
1894 static int hf_denmv1_closedLanes
; /* ClosedLanes */
1895 static int hf_denmv1_restriction
; /* RestrictedTypes */
1896 static int hf_denmv1_speedLimit
; /* SpeedLimit */
1897 static int hf_denmv1_incidentIndication
; /* CauseCode */
1898 static int hf_denmv1_recommendedPath
; /* ItineraryPath */
1899 static int hf_denmv1_startingPointSpeedLimit
; /* DeltaReferencePosition */
1900 static int hf_denmv1_trafficFlowRule
; /* TrafficRule */
1901 static int hf_denmv1_referenceDenms
; /* ReferenceDenms */
1902 static int hf_denmv1_stationarySince
; /* StationarySince */
1903 static int hf_denmv1_stationaryCause
; /* CauseCode */
1904 static int hf_denmv1_carryingDangerousGoods
; /* DangerousGoodsExtended */
1905 static int hf_denmv1_numberOfOccupants
; /* NumberOfOccupants */
1906 static int hf_denmv1_vehicleIdentification
; /* VehicleIdentification */
1907 static int hf_denmv1_energyStorageType
; /* EnergyStorageType */
1908 static int hf_denmv1_lanePosition
; /* LanePosition */
1909 static int hf_denmv1_impactReduction
; /* ImpactReductionContainer */
1910 static int hf_denmv1_externalTemperature
; /* Temperature */
1911 static int hf_denmv1_roadWorks
; /* RoadWorksContainerExtended */
1912 static int hf_denmv1_positioningSolution
; /* PositioningSolutionType */
1913 static int hf_denmv1_stationaryVehicle
; /* StationaryVehicleContainer */
1914 static int hf_denmv1_ReferenceDenms_item
; /* ActionID */
1916 /* --- Module DENM-PDU-Description --- --- --- */
1918 static int hf_denm_denm_DenmPayload_PDU
; /* DenmPayload */
1919 static int hf_denm_management
; /* ManagementContainer */
1920 static int hf_denm_situation
; /* SituationContainer */
1921 static int hf_denm_location
; /* LocationContainer */
1922 static int hf_denm_alacarte
; /* AlacarteContainer */
1923 static int hf_denm_actionId
; /* ActionId */
1924 static int hf_denm_detectionTime
; /* TimestampIts */
1925 static int hf_denm_referenceTime
; /* TimestampIts */
1926 static int hf_denm_termination
; /* Termination */
1927 static int hf_denm_eventPosition
; /* ReferencePosition */
1928 static int hf_denm_awarenessDistance
; /* StandardLength3b */
1929 static int hf_denm_awarenessTrafficDirection
; /* TrafficDirection */
1930 static int hf_denm_validityDuration
; /* DeltaTimeSecond */
1931 static int hf_denm_transmissionInterval
; /* DeltaTimeMilliSecondPositive */
1932 static int hf_denm_stationType
; /* StationType */
1933 static int hf_denm_informationQuality
; /* InformationQuality */
1934 static int hf_denm_eventType
; /* CauseCodeV2 */
1935 static int hf_denm_linkedCause
; /* CauseCodeV2 */
1936 static int hf_denm_eventZone
; /* EventZone */
1937 static int hf_denm_eventSpeed
; /* Speed */
1938 static int hf_denm_eventPositionHeading
; /* Wgs84Angle */
1939 static int hf_denm_traces
; /* Traces */
1940 static int hf_denm_roadType
; /* RoadType */
1941 static int hf_denm_heightLonCarrLeft
; /* HeightLonCarr */
1942 static int hf_denm_heightLonCarrRight
; /* HeightLonCarr */
1943 static int hf_denm_posLonCarrLeft
; /* PosLonCarr */
1944 static int hf_denm_posLonCarrRight
; /* PosLonCarr */
1945 static int hf_denm_positionOfPillars
; /* PositionOfPillars */
1946 static int hf_denm_posCentMass
; /* PosCentMass */
1947 static int hf_denm_wheelBaseVehicle
; /* WheelBaseVehicle */
1948 static int hf_denm_turningRadius
; /* TurningRadius */
1949 static int hf_denm_posFrontAx
; /* PosFrontAx */
1950 static int hf_denm_positionOfOccupants
; /* PositionOfOccupants */
1951 static int hf_denm_vehicleMass
; /* VehicleMass */
1952 static int hf_denm_requestResponseIndication
; /* RequestResponseIndication */
1953 static int hf_denm_lightBarSirenInUse
; /* LightBarSirenInUse */
1954 static int hf_denm_closedLanes
; /* ClosedLanes */
1955 static int hf_denm_restriction
; /* RestrictedTypes */
1956 static int hf_denm_speedLimit
; /* SpeedLimit */
1957 static int hf_denm_incidentIndication
; /* CauseCodeV2 */
1958 static int hf_denm_recommendedPath
; /* ItineraryPath */
1959 static int hf_denm_startingPointSpeedLimit
; /* DeltaReferencePosition */
1960 static int hf_denm_trafficFlowRule
; /* TrafficRule */
1961 static int hf_denm_referenceDenms
; /* ActionIdList */
1962 static int hf_denm_stationarySince
; /* StationarySince */
1963 static int hf_denm_stationaryCause
; /* CauseCodeV2 */
1964 static int hf_denm_carryingDangerousGoods
; /* DangerousGoodsExtended */
1965 static int hf_denm_numberOfOccupants
; /* NumberOfOccupants */
1966 static int hf_denm_vehicleIdentification
; /* VehicleIdentification */
1967 static int hf_denm_energyStorageType
; /* EnergyStorageType */
1968 static int hf_denm_lanePosition
; /* LanePosition */
1969 static int hf_denm_impactReduction
; /* ImpactReductionContainer */
1970 static int hf_denm_externalTemperature
; /* Temperature */
1971 static int hf_denm_roadWorks
; /* RoadWorksContainerExtended */
1972 static int hf_denm_positioningSolution
; /* PositioningSolutionType */
1973 static int hf_denm_stationaryVehicle
; /* StationaryVehicleContainer */
1975 /* --- Module TIS-TPG-Transactions-Descriptions --- --- --- */
1977 static int hf_tistpg_tistpg_TisTpgTransaction_PDU
; /* TisTpgTransaction */
1978 static int hf_tistpg_drm
; /* TisTpgDRM */
1979 static int hf_tistpg_snm
; /* TisTpgSNM */
1980 static int hf_tistpg_trm
; /* TisTpgTRM */
1981 static int hf_tistpg_tcm
; /* TisTpgTCM */
1982 static int hf_tistpg_vdrm
; /* TisTpgVDRM */
1983 static int hf_tistpg_vdpm
; /* TisTpgVDPM */
1984 static int hf_tistpg_eofm
; /* TisTpgEOFM */
1985 static int hf_tistpg_drmManagement
; /* TisTpgDRM_Management */
1986 static int hf_tistpg_drmSituation
; /* TisTpgDRM_Situation */
1987 static int hf_tistpg_drmLocation
; /* TisTpgDRM_Location */
1988 static int hf_tistpg_generationTime
; /* TimestampIts */
1989 static int hf_tistpg_vehicleType
; /* UNVehicleClassifcation */
1990 static int hf_tistpg_costumerContract
; /* CustomerContract */
1991 static int hf_tistpg_tisProfile
; /* TisProfile */
1992 static int hf_tistpg_causeCode
; /* CauseCode */
1993 static int hf_tistpg_vehiclePosition
; /* ReferencePosition */
1994 static int hf_tistpg_vehicleSpeed
; /* Speed */
1995 static int hf_tistpg_vehicleHeading
; /* Heading */
1996 static int hf_tistpg_requestedPosition
; /* ReferencePosition */
1997 static int hf_tistpg_searchRange
; /* SearchRange */
1998 static int hf_tistpg_searchCondition
; /* SearchCondition */
1999 static int hf_tistpg_snmManagement
; /* TisTpgSNM_Management */
2000 static int hf_tistpg_tpgContainer
; /* TpgNotifContainer */
2001 static int hf_tistpg_totalTpgStations
; /* TotalTpgStations */
2002 static int hf_tistpg_trmManagement
; /* TisTpgTRM_Management */
2003 static int hf_tistpg_trmSituation
; /* TisTpgTRM_Situation */
2004 static int hf_tistpg_trmLocation
; /* TisTpgTRM_Location */
2005 static int hf_tistpg_tpgStationID
; /* StationID */
2006 static int hf_tistpg_reservationStatus
; /* ReservationStatus */
2007 static int hf_tistpg_costumercontract
; /* CustomerContract */
2008 static int hf_tistpg_reservationID
; /* ReservationID */
2009 static int hf_tistpg_estArrivalTime
; /* TimestampIts */
2010 static int hf_tistpg_proposedPairingID
; /* PairingID */
2011 static int hf_tistpg_tcmManagement
; /* TisTpgTCM_Management */
2012 static int hf_tistpg_tcmSituation
; /* TisTpgTCM_Situation */
2013 static int hf_tistpg_tcmLocation
; /* TisTpgTCM_Location */
2014 static int hf_tistpg_reservedTpg
; /* INTEGER_1_65535 */
2015 static int hf_tistpg_tpgAutomationLevel
; /* TpgAutomation */
2016 static int hf_tistpg_pairingID
; /* PairingID */
2017 static int hf_tistpg_reservationTimeLimit
; /* TimestampIts */
2018 static int hf_tistpg_cancellationCondition
; /* CancellationCondition */
2019 static int hf_tistpg_tpgLocation
; /* ReferencePosition */
2020 static int hf_tistpg_address
; /* UTF8String_SIZE_1_128 */
2021 static int hf_tistpg_vdrmManagement
; /* TisTpgVDRM_Management */
2022 static int hf_tistpg_fillingStatus
; /* FillingStatus */
2023 static int hf_tistpg_automationLevel
; /* TpgAutomation */
2024 static int hf_tistpg_vdpmManagement
; /* TisTpgVDPM_Management */
2025 static int hf_tistpg_placardTable
; /* PlacardTable */
2026 static int hf_tistpg_vehicleSpecificData
; /* VehicleSpecificData */
2027 static int hf_tistpg_language
; /* Language */
2028 static int hf_tistpg_tyreTempCondition
; /* TyreTempCondition */
2029 static int hf_tistpg_currentVehicleConfiguration
; /* PressureConfiguration */
2030 static int hf_tistpg_frontLeftTyreData
; /* TyreData */
2031 static int hf_tistpg_frontRightTyreData
; /* TyreData */
2032 static int hf_tistpg_rearLeftTyreData
; /* TyreData */
2033 static int hf_tistpg_rearRightTyreData
; /* TyreData */
2034 static int hf_tistpg_spareTyreData
; /* TyreData */
2035 static int hf_tistpg_eofmManagement
; /* TisTpgEOFM_Management */
2036 static int hf_tistpg_numberOfAppliedPressure
; /* NumberOfAppliedPressure */
2037 static int hf_tistpg_appliedTyrePressures
; /* AppliedTyrePressures */
2038 static int hf_tistpg_PlacardTable_item
; /* TyreSetVariant */
2039 static int hf_tistpg_variantID
; /* TyreSetVariantID */
2040 static int hf_tistpg_frontAxleDimension
; /* TyreSidewallInformation */
2041 static int hf_tistpg_rearAxleDimension
; /* TyreSidewallInformation */
2042 static int hf_tistpg_pressureVariantsList
; /* PressureVariantsList */
2043 static int hf_tistpg_PressureVariantsList_item
; /* PressureVariant */
2044 static int hf_tistpg_pressureConfiguration
; /* PressureConfiguration */
2045 static int hf_tistpg_frontAxlePressure
; /* AxlePlacardPressure */
2046 static int hf_tistpg_rearAxlePressure
; /* AxlePlacardPressure */
2047 static int hf_tistpg_currentTyrePressure
; /* T_currentTyrePressure */
2048 static int hf_tistpg_tyrePressureValue
; /* TyrePressure */
2049 static int hf_tistpg_unavailable
; /* NULL */
2050 static int hf_tistpg_tyreSidewallInformation
; /* T_tyreSidewallInformation */
2051 static int hf_tistpg_tyreSidewallInformationValue
; /* TyreSidewallInformation */
2052 static int hf_tistpg_currentInsideAirTemperature
; /* T_currentInsideAirTemperature */
2053 static int hf_tistpg_tyreAirTemperatureValue
; /* TyreAirTemperature */
2054 static int hf_tistpg_recommendedTyrePressure
; /* T_recommendedTyrePressure */
2055 static int hf_tistpg_axlePlacardPressureValue
; /* AxlePlacardPressure */
2056 static int hf_tistpg_tin
; /* T_tin */
2057 static int hf_tistpg_tinValue
; /* TIN */
2058 static int hf_tistpg_sensorState
; /* T_sensorState */
2059 static int hf_tistpg_sensorStateValue
; /* SensorState */
2060 static int hf_tistpg_tpgNumber
; /* TpgNumber */
2061 static int hf_tistpg_tpgProvider
; /* TpgProvider */
2062 static int hf_tistpg_accessibility
; /* Accessibility */
2063 static int hf_tistpg_phoneNumber
; /* PhoneNumber */
2064 static int hf_tistpg_digitalMap
; /* DigitalMap */
2065 static int hf_tistpg_openingDaysHours
; /* OpeningDaysHours */
2066 static int hf_tistpg_bookingInfo
; /* BookingInfo */
2067 static int hf_tistpg_availableTpgNumber
; /* AvailableTpgNumber */
2068 static int hf_tistpg_AppliedTyrePressures_item
; /* AppliedTyrePressure */
2069 static int hf_tistpg_TpgNotifContainer_item
; /* TpgStationData */
2071 static int hf_tistpg_TpgAutomation_fullAutomated
;
2072 static int hf_tistpg_TpgAutomation_semiAutomated
;
2073 static int hf_tistpg_TpgAutomation_manual
;
2074 static int hf_tistpg_TpgAutomation_reserved
;
2075 static int hf_tistpg_TisProfile_reserved
;
2076 static int hf_tistpg_TisProfile_profileOne
;
2077 static int hf_tistpg_TisProfile_profileTwo
;
2078 static int hf_tistpg_TisProfile_profileThree
;
2080 /* --- Module EVCSN-PDU-Descriptions --- --- --- */
2082 static int hf_evcsn_evcsn_EVChargingSpotNotificationPOIMessage_PDU
; /* EVChargingSpotNotificationPOIMessage */
2083 static int hf_evcsn_poiHeader
; /* ItsPOIHeader */
2084 static int hf_evcsn_evcsnData
; /* ItsEVCSNData */
2085 static int hf_evcsn_poiType
; /* POIType */
2086 static int hf_evcsn_timeStamp
; /* TimestampIts */
2087 static int hf_evcsn_relayCapable
; /* BOOLEAN */
2088 static int hf_evcsn_totalNumberOfStations
; /* NumberStations */
2089 static int hf_evcsn_chargingStationsData
; /* SEQUENCE_SIZE_1_256_OF_ItsChargingStationData */
2090 static int hf_evcsn_chargingStationsData_item
; /* ItsChargingStationData */
2091 static int hf_evcsn_chargingStationID
; /* StationID */
2092 static int hf_evcsn_utilityDistributorId
; /* UTF8String_SIZE_1_32 */
2093 static int hf_evcsn_providerID
; /* UTF8String_SIZE_1_32 */
2094 static int hf_evcsn_chargingStationLocation
; /* ReferencePosition */
2095 static int hf_evcsn_address
; /* UTF8String */
2096 static int hf_evcsn_phoneNumber
; /* NumericString_SIZE_1_16 */
2097 static int hf_evcsn_accessibility
; /* UTF8String_SIZE_1_32 */
2098 static int hf_evcsn_digitalMap
; /* DigitalMap */
2099 static int hf_evcsn_openingDaysHours
; /* UTF8String */
2100 static int hf_evcsn_pricing
; /* UTF8String */
2101 static int hf_evcsn_bookingContactInfo
; /* UTF8String */
2102 static int hf_evcsn_payment
; /* UTF8String */
2103 static int hf_evcsn_chargingSpotsAvailable
; /* ItsChargingSpots */
2104 static int hf_evcsn_ItsChargingSpots_item
; /* ItsChargingSpotDataElements */
2105 static int hf_evcsn_type
; /* ChargingSpotType */
2106 static int hf_evcsn_evEquipmentID
; /* UTF8String */
2107 static int hf_evcsn_typeOfReceptacle
; /* TypeOfReceptacle */
2108 static int hf_evcsn_energyAvailability
; /* UTF8String */
2109 static int hf_evcsn_parkingPlacesData
; /* ParkingPlacesData */
2110 static int hf_evcsn_ParkingPlacesData_item
; /* SpotAvailability */
2111 static int hf_evcsn_maxWaitingTimeMinutes
; /* INTEGER_0_1400 */
2112 static int hf_evcsn_blocking
; /* BOOLEAN */
2114 static int hf_evcsn_ChargingSpotType_standardChargeMode1
;
2115 static int hf_evcsn_ChargingSpotType_standardChargeMode2
;
2116 static int hf_evcsn_ChargingSpotType_standardOrFastChargeMode3
;
2117 static int hf_evcsn_ChargingSpotType_fastChargeWithExternalCharger
;
2118 static int hf_evcsn_ChargingSpotType_spare_bit4
;
2119 static int hf_evcsn_ChargingSpotType_spare_bit5
;
2120 static int hf_evcsn_ChargingSpotType_spare_bit6
;
2121 static int hf_evcsn_ChargingSpotType_spare_bit7
;
2122 static int hf_evcsn_ChargingSpotType_quickDrop
;
2123 static int hf_evcsn_ChargingSpotType_spare_bit9
;
2124 static int hf_evcsn_ChargingSpotType_spare_bit10
;
2125 static int hf_evcsn_ChargingSpotType_spare_bit11
;
2126 static int hf_evcsn_ChargingSpotType_inductiveChargeWhileStationary
;
2127 static int hf_evcsn_ChargingSpotType_spare_bit13
;
2128 static int hf_evcsn_ChargingSpotType_inductiveChargeWhileDriving
;
2130 /* --- Module EV-RechargingSpotReservation-PDU-Descriptions --- --- --- */
2132 static int hf_evrsr_evrsr_EV_RSR_MessageBody_PDU
; /* EV_RSR_MessageBody */
2133 static int hf_evrsr_preReservationRequestMessage
; /* PreReservationRequestMessage */
2134 static int hf_evrsr_preReservationResponseMessage
; /* PreReservationResponseMessage */
2135 static int hf_evrsr_reservationRequestMessage
; /* ReservationRequestMessage */
2136 static int hf_evrsr_reservationResponseMessage
; /* ReservationResponseMessage */
2137 static int hf_evrsr_cancellationRequestMessage
; /* CancellationRequestMessage */
2138 static int hf_evrsr_cancellationResponseMessage
; /* CancellationResponseMessage */
2139 static int hf_evrsr_updateRequestMessage
; /* UpdateRequestMessage */
2140 static int hf_evrsr_updateResponseMessage
; /* UpdateResponseMessage */
2141 static int hf_evrsr_evse_ID
; /* EVSE_ID */
2142 static int hf_evrsr_arrivalTime
; /* TimestampUTC */
2143 static int hf_evrsr_departureTime
; /* TimestampUTC */
2144 static int hf_evrsr_rechargingType
; /* RechargingType */
2145 static int hf_evrsr_batteryType
; /* BatteryType */
2146 static int hf_evrsr_preReservation_ID
; /* PreReservation_ID */
2147 static int hf_evrsr_availabilityStatus
; /* AvailabilityStatus */
2148 static int hf_evrsr_preReservationExpirationTime
; /* TimestampUTC */
2149 static int hf_evrsr_supportedPaymentTypes
; /* SupportedPaymentTypes */
2150 static int hf_evrsr_currentTime
; /* TimestampUTC */
2151 static int hf_evrsr_eAmount
; /* EAmount */
2152 static int hf_evrsr_eAmountMin
; /* EAmount */
2153 static int hf_evrsr_paymentType
; /* PaymentType */
2154 static int hf_evrsr_payment_ID
; /* Payment_ID */
2155 static int hf_evrsr_secondPayment_ID
; /* Payment_ID */
2156 static int hf_evrsr_pairing_ID
; /* Pairing_ID */
2157 static int hf_evrsr_reservationResponseCode
; /* ReservationResponseCode */
2158 static int hf_evrsr_reservation_ID
; /* Reservation_ID */
2159 static int hf_evrsr_reservation_Password
; /* Reservation_Password */
2160 static int hf_evrsr_stationDetails
; /* StationDetails */
2161 static int hf_evrsr_chargingSpotLabel
; /* ChargingSpotLabel */
2162 static int hf_evrsr_expirationTime
; /* TimestampUTC */
2163 static int hf_evrsr_freeCancelTimeLimit
; /* TimestampUTC */
2164 static int hf_evrsr_cancellationResponseCode
; /* CancellationResponseCode */
2165 static int hf_evrsr_updatedArrivalTime
; /* TimestampUTC */
2166 static int hf_evrsr_updatedDepartureTime
; /* TimestampUTC */
2167 static int hf_evrsr_updateResponseCode
; /* UpdateResponseCode */
2168 static int hf_evrsr_contractID
; /* ContractID */
2169 static int hf_evrsr_externalIdentificationMeans
; /* ExternalIdentificationMeans */
2170 static int hf_evrsr_rechargingMode
; /* RechargingMode */
2171 static int hf_evrsr_powerSource
; /* PowerSource */
2173 static int hf_evrsr_SupportedPaymentTypes_contract
;
2174 static int hf_evrsr_SupportedPaymentTypes_externalIdentification
;
2176 /* --- Module CPM-OriginatingStationContainers --- --- --- */
2178 static int hf_cpm_cpm_OriginatingVehicleContainer_PDU
; /* OriginatingVehicleContainer */
2179 static int hf_cpm_cpm_OriginatingRsuContainer_PDU
; /* OriginatingRsuContainer */
2180 static int hf_cpm_orientationAngle
; /* Wgs84Angle */
2181 static int hf_cpm_pitchAngle
; /* CartesianAngle */
2182 static int hf_cpm_rollAngle
; /* CartesianAngle */
2183 static int hf_cpm_trailerDataSet
; /* TrailerDataSet */
2184 static int hf_cpm_mapReference
; /* MapReference */
2185 static int hf_cpm_TrailerDataSet_item
; /* TrailerData */
2187 /* --- Module CPM-PDU-Descriptionsv1 --- --- --- */
2189 static int hf_cpmv1_cpmv1_CollectivePerceptionMessagev1_PDU
; /* CollectivePerceptionMessagev1 */
2190 static int hf_cpmv1_generationDeltaTime
; /* GenerationDeltaTime */
2191 static int hf_cpmv1_cpmParameters
; /* CpmParameters */
2192 static int hf_cpmv1_managementContainer
; /* CpmManagementContainer */
2193 static int hf_cpmv1_stationDataContainer
; /* StationDataContainer */
2194 static int hf_cpmv1_sensorInformationContainer
; /* SensorInformationContainerv1 */
2195 static int hf_cpmv1_perceivedObjectContainer
; /* PerceivedObjectContainerv1 */
2196 static int hf_cpmv1_freeSpaceAddendumContainer
; /* FreeSpaceAddendumContainer */
2197 static int hf_cpmv1_numberOfPerceivedObjects
; /* NumberOfPerceivedObjects */
2198 static int hf_cpmv1_stationType
; /* StationType */
2199 static int hf_cpmv1_perceivedObjectContainerSegmentInfo
; /* PerceivedObjectContainerSegmentInfo */
2200 static int hf_cpmv1_referencePosition
; /* ReferencePosition */
2201 static int hf_cpmv1_originatingVehicleContainer
; /* OriginatingVehicleContainerV1 */
2202 static int hf_cpmv1_originatingRSUContainer
; /* OriginatingRSUContainer */
2203 static int hf_cpmv1_heading
; /* Heading */
2204 static int hf_cpmv1_speed
; /* Speed */
2205 static int hf_cpmv1_vehicleOrientationAngle
; /* WGS84Angle */
2206 static int hf_cpmv1_driveDirection
; /* DriveDirection */
2207 static int hf_cpmv1_longitudinalAcceleration
; /* LongitudinalAcceleration */
2208 static int hf_cpmv1_lateralAcceleration
; /* LateralAcceleration */
2209 static int hf_cpmv1_verticalAcceleration
; /* VerticalAcceleration */
2210 static int hf_cpmv1_yawRate
; /* YawRate */
2211 static int hf_cpmv1_pitchAnglev1
; /* CartesianAngle */
2212 static int hf_cpmv1_rollAnglev1
; /* CartesianAngle */
2213 static int hf_cpmv1_vehicleLengthv1
; /* VehicleLength */
2214 static int hf_cpmv1_vehicleWidthv1
; /* VehicleWidth */
2215 static int hf_cpmv1_vehicleHeightv1
; /* VehicleHeight */
2216 static int hf_cpmv1_trailerDataContainerv1
; /* TrailerDataContainer */
2217 static int hf_cpmv1_intersectionReferenceId
; /* IntersectionReferenceID */
2218 static int hf_cpmv1_roadSegmentReferenceId
; /* RoadSegmentReferenceID */
2219 static int hf_cpmv1_SensorInformationContainerv1_item
; /* SensorInformationv1 */
2220 static int hf_cpmv1_sensorID
; /* Identifier */
2221 static int hf_cpmv1_type
; /* SensorType */
2222 static int hf_cpmv1_detectionArea
; /* DetectionArea */
2223 static int hf_cpmv1_freeSpaceConfidence
; /* FreeSpaceConfidence */
2224 static int hf_cpmv1_PerceivedObjectContainerv1_item
; /* PerceivedObjectv1 */
2225 static int hf_cpmv1_objectID
; /* Identifier */
2226 static int hf_cpmv1_sensorIDList
; /* SensorIdList */
2227 static int hf_cpmv1_timeOfMeasurement
; /* TimeOfMeasurement */
2228 static int hf_cpmv1_objectAge
; /* ObjectAge */
2229 static int hf_cpmv1_objectConfidence
; /* ObjectConfidence */
2230 static int hf_cpmv1_xDistance
; /* ObjectDistanceWithConfidence */
2231 static int hf_cpmv1_yDistance
; /* ObjectDistanceWithConfidence */
2232 static int hf_cpmv1_zDistance
; /* ObjectDistanceWithConfidence */
2233 static int hf_cpmv1_xSpeed
; /* SpeedExtended */
2234 static int hf_cpmv1_ySpeed
; /* SpeedExtended */
2235 static int hf_cpmv1_zSpeed
; /* SpeedExtended */
2236 static int hf_cpmv1_xAcceleration
; /* LongitudinalAcceleration */
2237 static int hf_cpmv1_yAcceleration
; /* LateralAcceleration */
2238 static int hf_cpmv1_zAcceleration
; /* VerticalAcceleration */
2239 static int hf_cpmv1_yawAngle
; /* CartesianAngle */
2240 static int hf_cpmv1_planarObjectDimension1
; /* ObjectDimension */
2241 static int hf_cpmv1_planarObjectDimension2
; /* ObjectDimension */
2242 static int hf_cpmv1_verticalObjectDimension
; /* ObjectDimension */
2243 static int hf_cpmv1_objectRefPoint
; /* ObjectRefPoint */
2244 static int hf_cpmv1_dynamicStatus
; /* DynamicStatus */
2245 static int hf_cpmv1_classification
; /* ObjectClassDescription */
2246 static int hf_cpmv1_matchedPosition
; /* MatchedPosition */
2247 static int hf_cpmv1_vehicleSensor
; /* VehicleSensor */
2248 static int hf_cpmv1_stationarySensorRadial
; /* AreaRadial */
2249 static int hf_cpmv1_stationarySensorPolygon
; /* AreaPolygon */
2250 static int hf_cpmv1_stationarySensorCircular
; /* AreaCircular */
2251 static int hf_cpmv1_stationarySensorEllipse
; /* AreaEllipse */
2252 static int hf_cpmv1_stationarySensorRectangle
; /* AreaRectangle */
2253 static int hf_cpmv1_refPointId
; /* RefPointId */
2254 static int hf_cpmv1_xSensorOffset
; /* XSensorOffset */
2255 static int hf_cpmv1_ySensorOffset
; /* YSensorOffset */
2256 static int hf_cpmv1_zSensorOffset
; /* ZSensorOffset */
2257 static int hf_cpmv1_vehicleSensorPropertyList
; /* VehicleSensorPropertyList */
2258 static int hf_cpmv1_VehicleSensorPropertyList_item
; /* VehicleSensorProperties */
2259 static int hf_cpmv1_range
; /* Range */
2260 static int hf_cpmv1_horizontalOpeningAngleStart
; /* CartesianAngleValue */
2261 static int hf_cpmv1_horizontalOpeningAngleEnd
; /* CartesianAngleValue */
2262 static int hf_cpmv1_verticalOpeningAngleStart
; /* CartesianAngleValue */
2263 static int hf_cpmv1_verticalOpeningAngleEnd
; /* CartesianAngleValue */
2264 static int hf_cpmv1_nodeCenterPoint
; /* OffsetPoint */
2265 static int hf_cpmv1_radius
; /* Radius */
2266 static int hf_cpmv1_semiMinorRangeLength
; /* SemiRangeLength */
2267 static int hf_cpmv1_semiMajorRangeLength
; /* SemiRangeLength */
2268 static int hf_cpmv1_semiMajorRangeOrientation
; /* WGS84AngleValue */
2269 static int hf_cpmv1_semiHeight
; /* SemiRangeLength */
2270 static int hf_cpmv1_polyPointList
; /* PolyPointList */
2271 static int hf_cpmv1_PolyPointList_item
; /* OffsetPoint */
2272 static int hf_cpmv1_stationaryHorizontalOpeningAngleStart
; /* WGS84AngleValue */
2273 static int hf_cpmv1_stationaryHorizontalOpeningAngleEnd
; /* WGS84AngleValue */
2274 static int hf_cpmv1_sensorPositionOffset
; /* OffsetPoint */
2275 static int hf_cpmv1_sensorHeight
; /* SensorHeight */
2276 static int hf_cpmv1_FreeSpaceAddendumContainer_item
; /* FreeSpaceAddendum */
2277 static int hf_cpmv1_freeSpaceArea
; /* FreeSpaceArea */
2278 static int hf_cpmv1_shadowingApplies
; /* ShadowingApplies */
2279 static int hf_cpmv1_freeSpacePolygon
; /* AreaPolygon */
2280 static int hf_cpmv1_freeSpaceCircular
; /* AreaCircular */
2281 static int hf_cpmv1_freeSpaceEllipse
; /* AreaEllipse */
2282 static int hf_cpmv1_freeSpaceRectangle
; /* AreaRectangle */
2283 static int hf_cpmv1_value
; /* DistanceValue */
2284 static int hf_cpmv1_confidence
; /* DistanceConfidence */
2285 static int hf_cpmv1_value_01
; /* ObjectDimensionValue */
2286 static int hf_cpmv1_confidence_01
; /* ObjectDimensionConfidence */
2287 static int hf_cpmv1_value_02
; /* CartesianAngleValue */
2288 static int hf_cpmv1_confidence_02
; /* AngleConfidence */
2289 static int hf_cpmv1_value_03
; /* WGS84AngleValue */
2290 static int hf_cpmv1_value_04
; /* SpeedValueExtended */
2291 static int hf_cpmv1_confidence_03
; /* SpeedConfidence */
2292 static int hf_cpmv1_SensorIdList_item
; /* Identifier */
2293 static int hf_cpmv1_TrailerDataContainer_item
; /* TrailerData */
2294 static int hf_cpmv1_hitchPointOffset
; /* HitchPointOffset */
2295 static int hf_cpmv1_frontOverhang
; /* FrontOverhang */
2296 static int hf_cpmv1_rearOverhang
; /* RearOverhang */
2297 static int hf_cpmv1_trailerWidth
; /* VehicleWidth */
2298 static int hf_cpmv1_hitchAngle
; /* CartesianAngle */
2299 static int hf_cpmv1_longitudinalLanePositionValue
; /* LongitudinalLanePositionValue */
2300 static int hf_cpmv1_longitudinalLanePositionConfidence
; /* LongitudinalLanePositionConfidence */
2301 static int hf_cpmv1_laneID
; /* LaneID */
2302 static int hf_cpmv1_longitudinalLanePosition
; /* LongitudinalLanePosition */
2303 static int hf_cpmv1_totalMsgSegments
; /* SegmentCount */
2304 static int hf_cpmv1_thisSegmentNum
; /* SegmentCount */
2305 static int hf_cpmv1_ObjectClassDescription_item
; /* ObjectClass */
2306 static int hf_cpmv1_confidence_04
; /* ClassConfidence */
2307 static int hf_cpmv1_class
; /* T_class */
2308 static int hf_cpmv1_vehicle
; /* VehicleSubclass */
2309 static int hf_cpmv1_person
; /* PersonSubclass */
2310 static int hf_cpmv1_animal
; /* AnimalSubclass */
2311 static int hf_cpmv1_other
; /* OtherSubclass */
2312 static int hf_cpmv1_type_01
; /* VehicleSubclassType */
2313 static int hf_cpmv1_type_02
; /* PersonSubclassType */
2314 static int hf_cpmv1_type_03
; /* AnimalSubclassType */
2315 static int hf_cpmv1_type_04
; /* OtherSublassType */
2316 static int hf_cpmv1_nodeOffsetPointxy
; /* NodeOffsetPointXY */
2317 static int hf_cpmv1_nodeOffsetPointZ
; /* NodeOffsetPointZ */
2318 static int hf_cpmv1_node_Z1
; /* Offset_B10 */
2319 static int hf_cpmv1_node_Z2
; /* Offset_B11 */
2320 static int hf_cpmv1_node_Z3
; /* Offset_B12 */
2321 static int hf_cpmv1_node_Z4
; /* Offset_B13 */
2322 static int hf_cpmv1_node_Z5
; /* Offset_B14 */
2323 static int hf_cpmv1_node_Z6
; /* Offset_B16 */
2325 /* --- Module CPM-PDU-Descriptions --- --- --- */
2327 static int hf_cpm_cpm_CpmPayload_PDU
; /* CpmPayload */
2328 static int hf_cpm_managementContainer
; /* ManagementContainer */
2329 static int hf_cpm_cpmContainers
; /* ConstraintWrappedCpmContainers */
2330 static int hf_cpm_referenceTime
; /* TimestampIts */
2331 static int hf_cpm_referencePosition
; /* ReferencePosition */
2332 static int hf_cpm_segmentationInfo
; /* MessageSegmentationInfo */
2333 static int hf_cpm_messageRateRange
; /* MessageRateRange */
2334 static int hf_cpm_containerId
; /* CpmContainerId */
2335 static int hf_cpm_containerData
; /* T_containerData */
2336 static int hf_cpm_WrappedCpmContainers_item
; /* WrappedCpmContainer */
2337 static int hf_cpm_messageRateMin
; /* MessageRateHz */
2338 static int hf_cpm_messageRateMax
; /* MessageRateHz */
2340 /* --- Module CPM-PerceivedObjectContainer --- --- --- */
2342 static int hf_cpm_cpm_PerceivedObjectContainer_PDU
; /* PerceivedObjectContainer */
2343 static int hf_cpm_numberOfPerceivedObjects
; /* CardinalNumber1B */
2344 static int hf_cpm_perceivedObjects
; /* PerceivedObjects */
2345 static int hf_cpm_PerceivedObjects_item
; /* PerceivedObject */
2347 /* --- Module CPM-PerceptionRegionContainer --- --- --- */
2349 static int hf_cpm_cpm_PerceptionRegionContainer_PDU
; /* PerceptionRegionContainer */
2350 static int hf_cpm_PerceptionRegionContainer_item
; /* PerceptionRegion */
2351 static int hf_cpm_measurementDeltaTime
; /* DeltaTimeMilliSecondSigned */
2352 static int hf_cpm_perceptionRegionPerceptionRegionConfidence
; /* ConfidenceLevel */
2353 static int hf_cpm_perceptionRegionPerceptionRegionShape
; /* Shape */
2354 static int hf_cpm_perceptionRegionShadowingApplies
; /* T_PerceptionRegionShadowingApplies */
2355 static int hf_cpm_sensorIdList
; /* SequenceOfIdentifier1B */
2356 static int hf_cpm_perceptionRegionNumberOfPerceivedObjects
; /* T_PerceptionRegionNumberOfPerceivedObjects */
2357 static int hf_cpm_perceivedObjectIds
; /* PerceivedObjectIds */
2358 static int hf_cpm_PerceivedObjectIds_item
; /* Identifier2B */
2360 /* --- Module CPM-SensorInformationContainer --- --- --- */
2362 static int hf_cpm_cpm_SensorInformationContainer_PDU
; /* SensorInformationContainer */
2363 static int hf_cpm_SensorInformationContainer_item
; /* SensorInformation */
2364 static int hf_cpm_sensorId
; /* Identifier1B */
2365 static int hf_cpm_sensorType
; /* SensorType */
2366 static int hf_cpm_perceptionRegionShape
; /* Shape */
2367 static int hf_cpm_perceptionRegionConfidence
; /* ConfidenceLevel */
2368 static int hf_cpm_shadowingApplies
; /* BOOLEAN */
2370 /* --- Module VAM-PDU-Descriptions --- --- --- */
2372 static int hf_vam_vam_VruAwareness_PDU
; /* VruAwareness */
2373 static int hf_vam_generationDeltaTime
; /* GenerationDeltaTime */
2374 static int hf_vam_vamParameters
; /* VamParameters */
2375 static int hf_vam_basicContainer
; /* BasicContainer */
2376 static int hf_vam_vruHighFrequencyContainer
; /* VruHighFrequencyContainer */
2377 static int hf_vam_vruLowFrequencyContainer
; /* VruLowFrequencyContainer */
2378 static int hf_vam_vruClusterInformationContainer
; /* VruClusterInformationContainer */
2379 static int hf_vam_vruClusterOperationContainer
; /* VruClusterOperationContainer */
2380 static int hf_vam_vruMotionPredictionContainer
; /* VruMotionPredictionContainer */
2381 static int hf_vam_heading
; /* Wgs84Angle */
2382 static int hf_vam_speed
; /* Speed */
2383 static int hf_vam_longitudinalAcceleration
; /* LongitudinalAcceleration */
2384 static int hf_vam_curvature
; /* Curvature */
2385 static int hf_vam_curvatureCalculationMode
; /* CurvatureCalculationMode */
2386 static int hf_vam_yawRate
; /* YawRate */
2387 static int hf_vam_lateralAcceleration
; /* LateralAcceleration */
2388 static int hf_vam_verticalAcceleration
; /* VerticalAcceleration */
2389 static int hf_vam_vruLanePosition
; /* GeneralizedLanePosition */
2390 static int hf_vam_environment
; /* VruEnvironment */
2391 static int hf_vam_movementControl
; /* VruMovementControl */
2392 static int hf_vam_orientation
; /* Wgs84Angle */
2393 static int hf_vam_rollAngle
; /* CartesianAngle */
2394 static int hf_vam_deviceUsage
; /* VruDeviceUsage */
2395 static int hf_vam_profileAndSubprofile
; /* VruProfileAndSubprofile */
2396 static int hf_vam_sizeClass
; /* VruSizeClass */
2397 static int hf_vam_exteriorLights
; /* VruExteriorLights */
2398 static int hf_vam_vruClusterInformation
; /* VruClusterInformation */
2399 static int hf_vam_clusterJoinInfo
; /* ClusterJoinInfo */
2400 static int hf_vam_clusterLeaveInfo
; /* ClusterLeaveInfo */
2401 static int hf_vam_clusterBreakupInfo
; /* ClusterBreakupInfo */
2402 static int hf_vam_clusterIdChangeTimeInfo
; /* DeltaTimeQuarterSecond */
2403 static int hf_vam_pathHistory
; /* PathHistory */
2404 static int hf_vam_pathPrediction
; /* PathPredicted */
2405 static int hf_vam_safeDistance
; /* SequenceOfSafeDistanceIndication */
2406 static int hf_vam_trajectoryInterceptionIndication
; /* SequenceOfTrajectoryInterceptionIndication */
2407 static int hf_vam_accelerationChangeIndication
; /* AccelerationChangeIndication */
2408 static int hf_vam_headingChangeIndication
; /* HeadingChangeIndication */
2409 static int hf_vam_stabilityChangeIndication
; /* StabilityChangeIndication */
2411 /* --- Module IMZM-PDU-Descriptions --- --- --- */
2413 static int hf_imzm_imzm_InterferenceManagementZoneMessage_PDU
; /* InterferenceManagementZoneMessage */
2414 static int hf_imzm_generationDeltaTime
; /* GenerationDeltaTime */
2415 static int hf_imzm_imzmParameters
; /* ImzmParameters */
2416 static int hf_imzm_basicContainer
; /* BasicContainer */
2417 static int hf_imzm_imzmContainer
; /* ImzmContainer */
2418 static int hf_imzm_interferenceManagementZones
; /* InterferenceManagementZones */
2423 /* --- Module ETSI-ITS-CDD --- --- --- */
2425 static int ett_its_AccelerationControl
;
2426 static int ett_its_EmergencyPriority
;
2427 static int ett_its_EnergyStorageType
;
2428 static int ett_its_ExteriorLights
;
2429 static int ett_its_LightBarSirenInUse
;
2430 static int ett_its_MatrixIncludedComponents
;
2431 static int ett_its_PositionOfOccupants
;
2432 static int ett_its_SensorTypes
;
2433 static int ett_its_SpecialTransportType
;
2434 static int ett_its_StoredInformationType
;
2435 static int ett_its_VruClusterProfiles
;
2436 static int ett_its_VruSpecificExteriorLights
;
2437 static int ett_its_Acceleration3dWithConfidence
;
2438 static int ett_its_AccelerationPolarWithZ
;
2439 static int ett_its_AccelerationCartesian
;
2440 static int ett_its_AccelerationComponent
;
2441 static int ett_its_AccelerationChangeIndication
;
2442 static int ett_its_AccelerationMagnitude
;
2443 static int ett_its_ActionId
;
2444 static int ett_its_ActionID
;
2445 static int ett_its_ActionIdList
;
2446 static int ett_its_Altitude
;
2447 static int ett_its_BasicContainer
;
2448 static int ett_its_CartesianAngle
;
2449 static int ett_its_CartesianAngularVelocityComponent
;
2450 static int ett_its_CartesianCoordinateWithConfidence
;
2451 static int ett_its_CartesianPosition3d
;
2452 static int ett_its_CartesianPosition3dWithConfidence
;
2453 static int ett_its_CauseCode
;
2454 static int ett_its_CauseCodeChoice
;
2455 static int ett_its_CauseCodeV2
;
2456 static int ett_its_CenDsrcTollingZone
;
2457 static int ett_its_CircularShape
;
2458 static int ett_its_ClosedLanes
;
2459 static int ett_its_ClusterBreakupInfo
;
2460 static int ett_its_ClusterJoinInfo
;
2461 static int ett_its_ClusterLeaveInfo
;
2462 static int ett_its_CorrelationColumn
;
2463 static int ett_its_Curvature
;
2464 static int ett_its_DangerousGoodsExtended
;
2465 static int ett_its_DeltaReferencePosition
;
2466 static int ett_its_DigitalMap
;
2467 static int ett_its_EllipticalShape
;
2468 static int ett_its_EulerAnglesWithConfidence
;
2469 static int ett_its_EuVehicleCategoryCode
;
2470 static int ett_its_EventHistory
;
2471 static int ett_its_EventPoint
;
2472 static int ett_its_GeneralizedLanePosition
;
2473 static int ett_its_Heading
;
2474 static int ett_its_HeadingChangeIndication
;
2475 static int ett_its_InterferenceManagementChannel
;
2476 static int ett_its_InterferenceManagementZone
;
2477 static int ett_its_InterferenceManagementZoneDefinition
;
2478 static int ett_its_InterferenceManagementInfo
;
2479 static int ett_its_InterferenceManagementInfoPerChannel
;
2480 static int ett_its_InterferenceManagementZones
;
2481 static int ett_its_IntersectionReferenceId
;
2482 static int ett_its_ItineraryPath
;
2483 static int ett_its_ItsPduHeader
;
2484 static int ett_its_LanePositionAndType
;
2485 static int ett_its_LanePositionOptions
;
2486 static int ett_its_LanePositionWithLateralDetails
;
2487 static int ett_its_LateralAcceleration
;
2488 static int ett_its_LongitudinalAcceleration
;
2489 static int ett_its_LongitudinalLanePosition
;
2490 static int ett_its_LowerTriangularPositiveSemidefiniteMatrices
;
2491 static int ett_its_LowerTriangularPositiveSemidefiniteMatrix
;
2492 static int ett_its_LowerTriangularPositiveSemidefiniteMatrixColumns
;
2493 static int ett_its_MapPosition
;
2494 static int ett_its_MapReference
;
2495 static int ett_its_MessageRateHz
;
2496 static int ett_its_MessageSegmentationInfo
;
2497 static int ett_its_MetaInformation
;
2498 static int ett_its_MitigationForTechnologies
;
2499 static int ett_its_MitigationPerTechnologyClass
;
2500 static int ett_its_ObjectClass
;
2501 static int ett_its_ObjectClassDescription
;
2502 static int ett_its_ObjectClassWithConfidence
;
2503 static int ett_its_ObjectDimension
;
2504 static int ett_its_Path
;
2505 static int ett_its_PathDeltaTimeChoice
;
2506 static int ett_its_PathHistory
;
2507 static int ett_its_PathPredicted
;
2508 static int ett_its_PathPoint
;
2509 static int ett_its_PathPointPredicted
;
2510 static int ett_its_PerceivedObject
;
2511 static int ett_its_PolygonalShape
;
2512 static int ett_its_PosConfidenceEllipse
;
2513 static int ett_its_PositionConfidenceEllipse
;
2514 static int ett_its_PositionOfPillars
;
2515 static int ett_its_ProtectedCommunicationZone
;
2516 static int ett_its_ProtectedCommunicationZonesRSU
;
2517 static int ett_its_PtActivation
;
2518 static int ett_its_RadialShape
;
2519 static int ett_its_RadialShapes
;
2520 static int ett_its_RadialShapesList
;
2521 static int ett_its_RadialShapeDetails
;
2522 static int ett_its_RectangularShape
;
2523 static int ett_its_ReferencePosition
;
2524 static int ett_its_ReferencePositionWithConfidence
;
2525 static int ett_its_RestrictedTypes
;
2526 static int ett_its_RoadSegmentReferenceId
;
2527 static int ett_its_SafeDistanceIndication
;
2528 static int ett_its_SequenceOfCartesianPosition3d
;
2529 static int ett_its_SequenceOfIdentifier1B
;
2530 static int ett_its_SequenceOfSafeDistanceIndication
;
2531 static int ett_its_SequenceOfTrajectoryInterceptionIndication
;
2532 static int ett_its_Shape
;
2533 static int ett_its_Speed
;
2534 static int ett_its_StabilityChangeIndication
;
2535 static int ett_its_SteeringWheelAngle
;
2536 static int ett_its_Traces
;
2537 static int ett_its_TrafficIslandPosition
;
2538 static int ett_its_TrailerData
;
2539 static int ett_its_TrajectoryInterceptionIndication
;
2540 static int ett_its_VarLengthNumber
;
2541 static int ett_its_Ext1
;
2542 static int ett_its_Ext2
;
2543 static int ett_its_VerticalAcceleration
;
2544 static int ett_its_VehicleIdentification
;
2545 static int ett_its_VehicleLength
;
2546 static int ett_its_Velocity3dWithConfidence
;
2547 static int ett_its_VelocityCartesian
;
2548 static int ett_its_VelocityComponent
;
2549 static int ett_its_VelocityPolarWithZ
;
2550 static int ett_its_VruClusterInformation
;
2551 static int ett_its_VruExteriorLights
;
2552 static int ett_its_VruProfileAndSubprofile
;
2553 static int ett_its_Wgs84Angle
;
2554 static int ett_its_YawRate
;
2556 /* --- Module ITS-ContainerV1 --- --- --- */
2558 static int ett_itsv1_ReferencePosition
;
2559 static int ett_itsv1_DeltaReferencePosition
;
2560 static int ett_itsv1_Altitude
;
2561 static int ett_itsv1_PosConfidenceEllipse
;
2562 static int ett_itsv1_PathPoint
;
2563 static int ett_itsv1_PtActivation
;
2564 static int ett_itsv1_AccelerationControl
;
2565 static int ett_itsv1_CauseCode
;
2566 static int ett_itsv1_Curvature
;
2567 static int ett_itsv1_Heading
;
2568 static int ett_itsv1_ClosedLanes
;
2569 static int ett_itsv1_DrivingLaneStatus
;
2570 static int ett_itsv1_Speed
;
2571 static int ett_itsv1_LongitudinalAcceleration
;
2572 static int ett_itsv1_LateralAcceleration
;
2573 static int ett_itsv1_VerticalAcceleration
;
2574 static int ett_itsv1_ExteriorLights
;
2575 static int ett_itsv1_DangerousGoodsExtended
;
2576 static int ett_itsv1_SpecialTransportType
;
2577 static int ett_itsv1_LightBarSirenInUse
;
2578 static int ett_itsv1_PositionOfOccupants
;
2579 static int ett_itsv1_VehicleIdentification
;
2580 static int ett_itsv1_EnergyStorageType
;
2581 static int ett_itsv1_VehicleLength
;
2582 static int ett_itsv1_PathHistory
;
2583 static int ett_itsv1_EmergencyPriority
;
2584 static int ett_itsv1_SteeringWheelAngle
;
2585 static int ett_itsv1_YawRate
;
2586 static int ett_itsv1_ActionID
;
2587 static int ett_itsv1_ItineraryPath
;
2588 static int ett_itsv1_ProtectedCommunicationZone
;
2589 static int ett_itsv1_Traces
;
2590 static int ett_itsv1_PositionOfPillars
;
2591 static int ett_itsv1_RestrictedTypes
;
2592 static int ett_itsv1_EventHistory
;
2593 static int ett_itsv1_EventPoint
;
2594 static int ett_itsv1_ProtectedCommunicationZonesRSU
;
2595 static int ett_itsv1_CenDsrcTollingZone
;
2597 /* --- Module AVIAEINumberingAndDataStructures --- --- --- */
2600 /* --- Module EfcDsrcApplication --- --- --- */
2602 static int ett_dsrc_app_AxleWeightLimits
;
2603 static int ett_dsrc_app_DieselEmissionValues
;
2604 static int ett_dsrc_app_T_particulate
;
2605 static int ett_dsrc_app_EnvironmentalCharacteristics
;
2606 static int ett_dsrc_app_ExhaustEmissionValues
;
2607 static int ett_dsrc_app_PassengerCapacity
;
2608 static int ett_dsrc_app_Provider
;
2609 static int ett_dsrc_app_SoundLevel
;
2610 static int ett_dsrc_app_VehicleDimensions
;
2611 static int ett_dsrc_app_VehicleWeightLimits
;
2613 /* --- Module DSRC --- --- --- */
2615 static int ett_dsrc_RegionalExtension
;
2616 static int ett_dsrc_MapData
;
2617 static int ett_dsrc_T_MAPRegional
;
2618 static int ett_dsrc_RTCMcorrections
;
2619 static int ett_dsrc_SEQUENCE_SIZE_1_4_OF_RegionalExtension
;
2620 static int ett_dsrc_SPAT
;
2621 static int ett_dsrc_T_SPATRegional
;
2622 static int ett_dsrc_SignalRequestMessage
;
2623 static int ett_dsrc_T_SRMRegional
;
2624 static int ett_dsrc_SignalStatusMessage
;
2625 static int ett_dsrc_T_SSMRegional
;
2626 static int ett_dsrc_AdvisorySpeed
;
2627 static int ett_dsrc_T_AdvisorySpeedRegional
;
2628 static int ett_dsrc_AdvisorySpeedList
;
2629 static int ett_dsrc_AntennaOffsetSet
;
2630 static int ett_dsrc_ComputedLane
;
2631 static int ett_dsrc_T_offsetXaxis
;
2632 static int ett_dsrc_T_offsetYaxis
;
2633 static int ett_dsrc_T_ComputedLaneRegional
;
2634 static int ett_dsrc_ConnectsToList
;
2635 static int ett_dsrc_ConnectingLane
;
2636 static int ett_dsrc_Connection
;
2637 static int ett_dsrc_ConnectionManeuverAssist
;
2638 static int ett_dsrc_T_ConnectionManeuverAssistRegional
;
2639 static int ett_dsrc_DataParameters
;
2640 static int ett_dsrc_DDateTime
;
2641 static int ett_dsrc_EnabledLaneList
;
2642 static int ett_dsrc_FullPositionVector
;
2643 static int ett_dsrc_GenericLane
;
2644 static int ett_dsrc_T_GenericLaneRegional
;
2645 static int ett_dsrc_IntersectionAccessPoint
;
2646 static int ett_dsrc_IntersectionGeometry
;
2647 static int ett_dsrc_T_IntersectionGeometryRegional
;
2648 static int ett_dsrc_IntersectionGeometryList
;
2649 static int ett_dsrc_IntersectionReferenceID
;
2650 static int ett_dsrc_IntersectionState
;
2651 static int ett_dsrc_T_IntersectionStateRegional
;
2652 static int ett_dsrc_IntersectionStateList
;
2653 static int ett_dsrc_LaneAttributes
;
2654 static int ett_dsrc_LaneDataAttribute
;
2655 static int ett_dsrc_T_LaneDataAttributeRegional
;
2656 static int ett_dsrc_LaneDataAttributeList
;
2657 static int ett_dsrc_LaneList
;
2658 static int ett_dsrc_LaneSharing
;
2659 static int ett_dsrc_LaneTypeAttributes
;
2660 static int ett_dsrc_ManeuverAssistList
;
2661 static int ett_dsrc_MovementEvent
;
2662 static int ett_dsrc_T_MovementEventRegional
;
2663 static int ett_dsrc_MovementEventList
;
2664 static int ett_dsrc_MovementList
;
2665 static int ett_dsrc_MovementState
;
2666 static int ett_dsrc_T_MovementStateRegional
;
2667 static int ett_dsrc_NodeAttributeSetXY
;
2668 static int ett_dsrc_T_NodeAttributeSetXYRegional
;
2669 static int ett_dsrc_NodeAttributeXYList
;
2670 static int ett_dsrc_Node_LLmD_64b
;
2671 static int ett_dsrc_Node_XY_20b
;
2672 static int ett_dsrc_Node_XY_22b
;
2673 static int ett_dsrc_Node_XY_24b
;
2674 static int ett_dsrc_Node_XY_26b
;
2675 static int ett_dsrc_Node_XY_28b
;
2676 static int ett_dsrc_Node_XY_32b
;
2677 static int ett_dsrc_NodeListXY
;
2678 static int ett_dsrc_NodeOffsetPointXY
;
2679 static int ett_dsrc_NodeXY
;
2680 static int ett_dsrc_NodeSetXY
;
2681 static int ett_dsrc_OverlayLaneList
;
2682 static int ett_dsrc_PositionalAccuracy
;
2683 static int ett_dsrc_PositionConfidenceSet
;
2684 static int ett_dsrc_Position3D
;
2685 static int ett_dsrc_T_Position3DRegional
;
2686 static int ett_dsrc_PreemptPriorityList
;
2687 static int ett_dsrc_RegulatorySpeedLimit
;
2688 static int ett_dsrc_RequestorDescription
;
2689 static int ett_dsrc_T_RequestorDescriptionRegional
;
2690 static int ett_dsrc_RequestorPositionVector
;
2691 static int ett_dsrc_RequestorType
;
2692 static int ett_dsrc_RestrictionClassAssignment
;
2693 static int ett_dsrc_RestrictionClassList
;
2694 static int ett_dsrc_RestrictionUserType
;
2695 static int ett_dsrc_T_RestrictionUserTypeRegional
;
2696 static int ett_dsrc_RestrictionUserTypeList
;
2697 static int ett_dsrc_RoadLaneSetList
;
2698 static int ett_dsrc_RoadSegmentReferenceID
;
2699 static int ett_dsrc_RoadSegment
;
2700 static int ett_dsrc_T_RoadSegmentRegional
;
2701 static int ett_dsrc_RoadSegmentList
;
2702 static int ett_dsrc_RTCMheader
;
2703 static int ett_dsrc_RTCMmessageList
;
2704 static int ett_dsrc_SegmentAttributeXYList
;
2705 static int ett_dsrc_SignalControlZone
;
2706 static int ett_dsrc_SignalRequesterInfo
;
2707 static int ett_dsrc_SignalRequest
;
2708 static int ett_dsrc_T_SignalRequestRegional
;
2709 static int ett_dsrc_SignalRequestList
;
2710 static int ett_dsrc_SignalRequestPackage
;
2711 static int ett_dsrc_T_SignalRequestPackageRegional
;
2712 static int ett_dsrc_SignalStatus
;
2713 static int ett_dsrc_T_SignalStatusRegional
;
2714 static int ett_dsrc_SignalStatusList
;
2715 static int ett_dsrc_SignalStatusPackageList
;
2716 static int ett_dsrc_SignalStatusPackage
;
2717 static int ett_dsrc_T_SignalStatusPackageRegional
;
2718 static int ett_dsrc_SpeedandHeadingandThrottleConfidence
;
2719 static int ett_dsrc_SpeedLimitList
;
2720 static int ett_dsrc_TimeChangeDetails
;
2721 static int ett_dsrc_TransmissionAndSpeed
;
2722 static int ett_dsrc_VehicleID
;
2723 static int ett_dsrc_AllowedManeuvers
;
2724 static int ett_dsrc_GNSSstatus
;
2725 static int ett_dsrc_IntersectionStatusObject
;
2726 static int ett_dsrc_LaneAttributes_Barrier
;
2727 static int ett_dsrc_LaneAttributes_Bike
;
2728 static int ett_dsrc_LaneAttributes_Crosswalk
;
2729 static int ett_dsrc_LaneAttributes_Parking
;
2730 static int ett_dsrc_LaneAttributes_Sidewalk
;
2731 static int ett_dsrc_LaneAttributes_Striping
;
2732 static int ett_dsrc_LaneAttributes_TrackedVehicle
;
2733 static int ett_dsrc_LaneAttributes_Vehicle
;
2734 static int ett_dsrc_LaneDirection
;
2735 static int ett_dsrc_TransitVehicleStatus
;
2737 /* --- Module AddGrpC --- --- --- */
2739 static int ett_AddGrpC_ConnectionManeuverAssist_addGrpC
;
2740 static int ett_AddGrpC_ConnectionTrajectory_addGrpC
;
2741 static int ett_AddGrpC_IntersectionState_addGrpC
;
2742 static int ett_AddGrpC_LaneAttributes_addGrpC
;
2743 static int ett_AddGrpC_MapData_addGrpC
;
2744 static int ett_AddGrpC_MovementEvent_addGrpC
;
2745 static int ett_AddGrpC_NodeAttributeSet_addGrpC
;
2746 static int ett_AddGrpC_Position3D_addGrpC
;
2747 static int ett_AddGrpC_RestrictionUserType_addGrpC
;
2748 static int ett_AddGrpC_RequestorDescription_addGrpC
;
2749 static int ett_AddGrpC_SignalStatusPackage_addGrpC
;
2750 static int ett_AddGrpC_ItsStationPosition
;
2751 static int ett_AddGrpC_ItsStationPositionList
;
2752 static int ett_AddGrpC_Node
;
2753 static int ett_AddGrpC_NodeLink
;
2754 static int ett_AddGrpC_PrioritizationResponse
;
2755 static int ett_AddGrpC_PrioritizationResponseList
;
2756 static int ett_AddGrpC_SignalHeadLocation
;
2757 static int ett_AddGrpC_SignalHeadLocationList
;
2759 /* --- Module REGION --- --- --- */
2762 /* --- Module GDD --- --- --- */
2764 static int ett_gdd_GddStructure
;
2765 static int ett_gdd_Pictogram
;
2766 static int ett_gdd_Pictogram_serviceCategory
;
2767 static int ett_gdd_Pictogram_category
;
2768 static int ett_gdd_GddAttributes
;
2769 static int ett_gdd_GddAttributes_item
;
2770 static int ett_gdd_InternationalSign_applicablePeriod
;
2771 static int ett_gdd_T_year
;
2772 static int ett_gdd_T_month_day
;
2773 static int ett_gdd_T_hourMinutes
;
2774 static int ett_gdd_MonthDay
;
2775 static int ett_gdd_HoursMinutes
;
2776 static int ett_gdd_RPDT
;
2777 static int ett_gdd_DayOfWeek
;
2778 static int ett_gdd_InternationalSign_section
;
2779 static int ett_gdd_InternationalSign_applicableVehicleDimensions
;
2780 static int ett_gdd_Distance
;
2781 static int ett_gdd_Weight
;
2782 static int ett_gdd_InternationalSign_speedLimits
;
2783 static int ett_gdd_InternationalSign_destinationInformation
;
2784 static int ett_gdd_SEQUENCE_SIZE_1_8__OF_DestinationInformationIO
;
2785 static int ett_gdd_DestinationInformationIO
;
2786 static int ett_gdd_SEQUENCE_SIZE_1_4__OF_DestinationPlace
;
2787 static int ett_gdd_SEQUENCE_SIZE_1_4__OF_DestinationRoad
;
2788 static int ett_gdd_DestinationPlace
;
2789 static int ett_gdd_DestinationRoad
;
2790 static int ett_gdd_DistanceOrDuration
;
2792 /* --- Module IVI --- --- --- */
2794 static int ett_ivi_IviStructure
;
2795 static int ett_ivi_IviContainers
;
2796 static int ett_ivi_IviContainer
;
2797 static int ett_ivi_IviManagementContainer
;
2798 static int ett_ivi_GeographicLocationContainer
;
2799 static int ett_ivi_GlcParts
;
2800 static int ett_ivi_GlcPart
;
2801 static int ett_ivi_GeneralIviContainer
;
2802 static int ett_ivi_GicPart
;
2803 static int ett_ivi_RoadConfigurationContainer
;
2804 static int ett_ivi_RccPart
;
2805 static int ett_ivi_RoadSurfaceContainer
;
2806 static int ett_ivi_RscPart
;
2807 static int ett_ivi_TextContainer
;
2808 static int ett_ivi_TcPart
;
2809 static int ett_ivi_LayoutContainer
;
2810 static int ett_ivi_AutomatedVehicleContainer
;
2811 static int ett_ivi_AvcPart
;
2812 static int ett_ivi_MapLocationContainer
;
2813 static int ett_ivi_MlcParts
;
2814 static int ett_ivi_MlcPart
;
2815 static int ett_ivi_AbsolutePositions
;
2816 static int ett_ivi_AbsolutePositionsWAltitude
;
2817 static int ett_ivi_AutomatedVehicleRules
;
2818 static int ett_ivi_ConnectedDenms
;
2819 static int ett_ivi_DeltaPositions
;
2820 static int ett_ivi_DeltaReferencePositions
;
2821 static int ett_ivi_ConstraintTextLines1
;
2822 static int ett_ivi_ConstraintTextLines2
;
2823 static int ett_ivi_IviIdentificationNumbers
;
2824 static int ett_ivi_ISO14823Attributes
;
2825 static int ett_ivi_LaneConfiguration
;
2826 static int ett_ivi_LaneIds
;
2827 static int ett_ivi_LanePositions
;
2828 static int ett_ivi_LayoutComponents
;
2829 static int ett_ivi_PlatooningRules
;
2830 static int ett_ivi_RoadSignCodes
;
2831 static int ett_ivi_TextLines
;
2832 static int ett_ivi_TrailerCharacteristicsList
;
2833 static int ett_ivi_TrailerCharacteristicsFixValuesList
;
2834 static int ett_ivi_TrailerCharacteristicsRangesList
;
2835 static int ett_ivi_SaeAutomationLevels
;
2836 static int ett_ivi_VehicleCharacteristicsFixValuesList
;
2837 static int ett_ivi_VehicleCharacteristicsList
;
2838 static int ett_ivi_VehicleCharacteristicsRangesList
;
2839 static int ett_ivi_ValidityPeriods
;
2840 static int ett_ivi_ZoneIds
;
2841 static int ett_ivi_AbsolutePosition
;
2842 static int ett_ivi_AbsolutePositionWAltitude
;
2843 static int ett_ivi_AnyCatalogue
;
2844 static int ett_ivi_AutomatedVehicleRule
;
2845 static int ett_ivi_CompleteVehicleCharacteristics
;
2846 static int ett_ivi_ComputedSegment
;
2847 static int ett_ivi_DeltaPosition
;
2848 static int ett_ivi_ISO14823Attribute
;
2849 static int ett_ivi_ISO14823Code
;
2850 static int ett_ivi_T_icPictogramCode
;
2851 static int ett_ivi_T_serviceCategoryCode
;
2852 static int ett_ivi_T_pictogramCategoryCode
;
2853 static int ett_ivi_LaneInformation
;
2854 static int ett_ivi_LaneCharacteristics
;
2855 static int ett_ivi_LayoutComponent
;
2856 static int ett_ivi_LoadType
;
2857 static int ett_ivi_MapReference
;
2858 static int ett_ivi_PlatooningRule
;
2859 static int ett_ivi_PolygonalLine
;
2860 static int ett_ivi_RoadSurfaceDynamicCharacteristics
;
2861 static int ett_ivi_RoadSurfaceStaticCharacteristics
;
2862 static int ett_ivi_RSCode
;
2863 static int ett_ivi_T_code
;
2864 static int ett_ivi_Segment
;
2865 static int ett_ivi_Text
;
2866 static int ett_ivi_TractorCharacteristics
;
2867 static int ett_ivi_TrailerCharacteristics
;
2868 static int ett_ivi_VcCode
;
2869 static int ett_ivi_VehicleCharacteristicsFixValues
;
2870 static int ett_ivi_VehicleCharacteristicsRanges
;
2871 static int ett_ivi_T_limits
;
2872 static int ett_ivi_Zone
;
2874 /* --- Module SPATEM-PDU-Descriptions --- --- --- */
2877 /* --- Module MAPEM-PDU-Descriptions --- --- --- */
2880 /* --- Module IVIM-PDU-Descriptions --- --- --- */
2883 /* --- Module SREM-PDU-Descriptions --- --- --- */
2886 /* --- Module SSEM-PDU-Descriptions --- --- --- */
2889 /* --- Module RTCMEM-PDU-Descriptions --- --- --- */
2892 /* --- Module CAMv1-PDU-Descriptions --- --- --- */
2894 static int ett_camv1_CoopAwarenessV1
;
2895 static int ett_camv1_CamParameters
;
2896 static int ett_camv1_HighFrequencyContainer
;
2897 static int ett_camv1_LowFrequencyContainer
;
2898 static int ett_camv1_SpecialVehicleContainer
;
2899 static int ett_camv1_BasicContainer
;
2900 static int ett_camv1_BasicVehicleContainerHighFrequency
;
2901 static int ett_camv1_BasicVehicleContainerLowFrequency
;
2902 static int ett_camv1_PublicTransportContainer
;
2903 static int ett_camv1_SpecialTransportContainer
;
2904 static int ett_camv1_DangerousGoodsContainer
;
2905 static int ett_camv1_RoadWorksContainerBasic
;
2906 static int ett_camv1_RescueContainer
;
2907 static int ett_camv1_EmergencyContainer
;
2908 static int ett_camv1_SafetyCarContainer
;
2909 static int ett_camv1_RSUContainerHighFrequency
;
2911 /* --- Module CAM-PDU-Descriptions --- --- --- */
2913 static int ett_cam_CamPayload
;
2914 static int ett_cam_CamParameters
;
2915 static int ett_cam_HighFrequencyContainer
;
2916 static int ett_cam_LowFrequencyContainer
;
2917 static int ett_cam_SpecialVehicleContainer
;
2918 static int ett_cam_BasicVehicleContainerHighFrequency
;
2919 static int ett_cam_BasicVehicleContainerLowFrequency
;
2920 static int ett_cam_PublicTransportContainer
;
2921 static int ett_cam_SpecialTransportContainer
;
2922 static int ett_cam_DangerousGoodsContainer
;
2923 static int ett_cam_RoadWorksContainerBasic
;
2924 static int ett_cam_RescueContainer
;
2925 static int ett_cam_EmergencyContainer
;
2926 static int ett_cam_SafetyCarContainer
;
2927 static int ett_cam_RSUContainerHighFrequency
;
2929 /* --- Module DENMv1-PDU-Descriptions --- --- --- */
2931 static int ett_denmv1_DecentralizedEnvironmentalNotificationMessageV1
;
2932 static int ett_denmv1_ManagementContainer
;
2933 static int ett_denmv1_SituationContainer
;
2934 static int ett_denmv1_LocationContainer
;
2935 static int ett_denmv1_ImpactReductionContainer
;
2936 static int ett_denmv1_RoadWorksContainerExtended
;
2937 static int ett_denmv1_StationaryVehicleContainer
;
2938 static int ett_denmv1_AlacarteContainer
;
2939 static int ett_denmv1_ReferenceDenms
;
2941 /* --- Module DENM-PDU-Description --- --- --- */
2943 static int ett_denm_DenmPayload
;
2944 static int ett_denm_ManagementContainer
;
2945 static int ett_denm_SituationContainer
;
2946 static int ett_denm_LocationContainer
;
2947 static int ett_denm_ImpactReductionContainer
;
2948 static int ett_denm_RoadWorksContainerExtended
;
2949 static int ett_denm_StationaryVehicleContainer
;
2950 static int ett_denm_AlacarteContainer
;
2952 /* --- Module TIS-TPG-Transactions-Descriptions --- --- --- */
2954 static int ett_tistpg_TisTpgTransaction
;
2955 static int ett_tistpg_TisTpgDRM
;
2956 static int ett_tistpg_TisTpgDRM_Management
;
2957 static int ett_tistpg_TisTpgDRM_Situation
;
2958 static int ett_tistpg_TisTpgDRM_Location
;
2959 static int ett_tistpg_TisTpgSNM
;
2960 static int ett_tistpg_TisTpgSNM_Management
;
2961 static int ett_tistpg_TisTpgTRM
;
2962 static int ett_tistpg_TisTpgTRM_Management
;
2963 static int ett_tistpg_TisTpgTRM_Situation
;
2964 static int ett_tistpg_TisTpgTRM_Location
;
2965 static int ett_tistpg_TisTpgTCM
;
2966 static int ett_tistpg_TisTpgTCM_Management
;
2967 static int ett_tistpg_TisTpgTCM_Situation
;
2968 static int ett_tistpg_TisTpgTCM_Location
;
2969 static int ett_tistpg_TisTpgVDRM
;
2970 static int ett_tistpg_TisTpgVDRM_Management
;
2971 static int ett_tistpg_TisTpgVDPM
;
2972 static int ett_tistpg_TisTpgVDPM_Management
;
2973 static int ett_tistpg_VehicleSpecificData
;
2974 static int ett_tistpg_TisTpgEOFM
;
2975 static int ett_tistpg_TisTpgEOFM_Management
;
2976 static int ett_tistpg_PlacardTable
;
2977 static int ett_tistpg_TyreSetVariant
;
2978 static int ett_tistpg_PressureVariantsList
;
2979 static int ett_tistpg_PressureVariant
;
2980 static int ett_tistpg_TyreData
;
2981 static int ett_tistpg_T_currentTyrePressure
;
2982 static int ett_tistpg_T_tyreSidewallInformation
;
2983 static int ett_tistpg_T_currentInsideAirTemperature
;
2984 static int ett_tistpg_T_recommendedTyrePressure
;
2985 static int ett_tistpg_T_tin
;
2986 static int ett_tistpg_T_sensorState
;
2987 static int ett_tistpg_AppliedTyrePressure
;
2988 static int ett_tistpg_TpgStationData
;
2989 static int ett_tistpg_AppliedTyrePressures
;
2990 static int ett_tistpg_TpgNotifContainer
;
2991 static int ett_tistpg_TpgAutomation
;
2992 static int ett_tistpg_TisProfile
;
2994 /* --- Module EVCSN-PDU-Descriptions --- --- --- */
2996 static int ett_evcsn_EVChargingSpotNotificationPOIMessage
;
2997 static int ett_evcsn_ItsPOIHeader
;
2998 static int ett_evcsn_ItsEVCSNData
;
2999 static int ett_evcsn_SEQUENCE_SIZE_1_256_OF_ItsChargingStationData
;
3000 static int ett_evcsn_ItsChargingStationData
;
3001 static int ett_evcsn_ItsChargingSpots
;
3002 static int ett_evcsn_ItsChargingSpotDataElements
;
3003 static int ett_evcsn_ChargingSpotType
;
3004 static int ett_evcsn_ParkingPlacesData
;
3005 static int ett_evcsn_SpotAvailability
;
3007 /* --- Module EV-RechargingSpotReservation-PDU-Descriptions --- --- --- */
3009 static int ett_evrsr_EV_RSR_MessageBody
;
3010 static int ett_evrsr_PreReservationRequestMessage
;
3011 static int ett_evrsr_PreReservationResponseMessage
;
3012 static int ett_evrsr_ReservationRequestMessage
;
3013 static int ett_evrsr_ReservationResponseMessage
;
3014 static int ett_evrsr_CancellationRequestMessage
;
3015 static int ett_evrsr_CancellationResponseMessage
;
3016 static int ett_evrsr_UpdateRequestMessage
;
3017 static int ett_evrsr_UpdateResponseMessage
;
3018 static int ett_evrsr_Payment_ID
;
3019 static int ett_evrsr_RechargingType
;
3020 static int ett_evrsr_SupportedPaymentTypes
;
3022 /* --- Module CPM-OriginatingStationContainers --- --- --- */
3024 static int ett_cpm_OriginatingVehicleContainer
;
3025 static int ett_cpm_OriginatingRsuContainer
;
3026 static int ett_cpm_TrailerDataSet
;
3028 /* --- Module CPM-PDU-Descriptionsv1 --- --- --- */
3030 static int ett_cpmv1_CollectivePerceptionMessagev1
;
3031 static int ett_cpmv1_CpmParameters
;
3032 static int ett_cpmv1_CpmManagementContainer
;
3033 static int ett_cpmv1_StationDataContainer
;
3034 static int ett_cpmv1_OriginatingVehicleContainerV1
;
3035 static int ett_cpmv1_OriginatingRSUContainer
;
3036 static int ett_cpmv1_SensorInformationContainerv1
;
3037 static int ett_cpmv1_SensorInformationv1
;
3038 static int ett_cpmv1_PerceivedObjectContainerv1
;
3039 static int ett_cpmv1_PerceivedObjectv1
;
3040 static int ett_cpmv1_DetectionArea
;
3041 static int ett_cpmv1_VehicleSensor
;
3042 static int ett_cpmv1_VehicleSensorPropertyList
;
3043 static int ett_cpmv1_VehicleSensorProperties
;
3044 static int ett_cpmv1_AreaCircular
;
3045 static int ett_cpmv1_AreaEllipse
;
3046 static int ett_cpmv1_AreaRectangle
;
3047 static int ett_cpmv1_AreaPolygon
;
3048 static int ett_cpmv1_PolyPointList
;
3049 static int ett_cpmv1_AreaRadial
;
3050 static int ett_cpmv1_FreeSpaceAddendumContainer
;
3051 static int ett_cpmv1_FreeSpaceAddendum
;
3052 static int ett_cpmv1_FreeSpaceArea
;
3053 static int ett_cpmv1_ObjectDistanceWithConfidence
;
3054 static int ett_cpmv1_ObjectDimension
;
3055 static int ett_cpmv1_CartesianAngle
;
3056 static int ett_cpmv1_WGS84Angle
;
3057 static int ett_cpmv1_SpeedExtended
;
3058 static int ett_cpmv1_SensorIdList
;
3059 static int ett_cpmv1_TrailerDataContainer
;
3060 static int ett_cpmv1_TrailerData
;
3061 static int ett_cpmv1_LongitudinalLanePosition
;
3062 static int ett_cpmv1_MatchedPosition
;
3063 static int ett_cpmv1_PerceivedObjectContainerSegmentInfo
;
3064 static int ett_cpmv1_ObjectClassDescription
;
3065 static int ett_cpmv1_ObjectClass
;
3066 static int ett_cpmv1_T_class
;
3067 static int ett_cpmv1_VehicleSubclass
;
3068 static int ett_cpmv1_PersonSubclass
;
3069 static int ett_cpmv1_AnimalSubclass
;
3070 static int ett_cpmv1_OtherSubclass
;
3071 static int ett_cpmv1_OffsetPoint
;
3072 static int ett_cpmv1_NodeOffsetPointZ
;
3074 /* --- Module CPM-PDU-Descriptions --- --- --- */
3076 static int ett_cpm_CpmPayload
;
3077 static int ett_cpm_ManagementContainer
;
3078 static int ett_cpm_WrappedCpmContainer
;
3079 static int ett_cpm_WrappedCpmContainers
;
3080 static int ett_cpm_MessageRateRange
;
3082 /* --- Module CPM-PerceivedObjectContainer --- --- --- */
3084 static int ett_cpm_PerceivedObjectContainer
;
3085 static int ett_cpm_PerceivedObjects
;
3087 /* --- Module CPM-PerceptionRegionContainer --- --- --- */
3089 static int ett_cpm_PerceptionRegionContainer
;
3090 static int ett_cpm_PerceptionRegion
;
3091 static int ett_cpm_PerceivedObjectIds
;
3093 /* --- Module CPM-SensorInformationContainer --- --- --- */
3095 static int ett_cpm_SensorInformationContainer
;
3096 static int ett_cpm_SensorInformation
;
3098 /* --- Module VAM-PDU-Descriptions --- --- --- */
3100 static int ett_vam_VruAwareness
;
3101 static int ett_vam_VamParameters
;
3102 static int ett_vam_VruHighFrequencyContainer
;
3103 static int ett_vam_VruLowFrequencyContainer
;
3104 static int ett_vam_VruClusterInformationContainer
;
3105 static int ett_vam_VruClusterOperationContainer
;
3106 static int ett_vam_VruMotionPredictionContainer
;
3108 /* --- Module IMZM-PDU-Descriptions --- --- --- */
3110 static int ett_imzm_InterferenceManagementZoneMessage
;
3111 static int ett_imzm_ImzmParameters
;
3112 static int ett_imzm_ImzmContainer
;
3114 // Deal with cause/subcause code management
3115 static struct { CauseCodeType_enum cause
; int* hf
; } cause_to_subcause
[] = {
3116 { trafficCondition
, &hf_its_trafficCondition1
},
3117 { accident
, &hf_its_accident2
},
3118 { roadworks
, &hf_its_roadworks3
},
3119 { adverseWeatherCondition_Precipitation
, &hf_its_adverseWeatherCondition_Precipitation19
},
3120 { adverseWeatherCondition_Visibility
, &hf_its_adverseWeatherCondition_Visibility18
},
3121 { adverseWeatherCondition_Adhesion
, &hf_its_adverseWeatherCondition_Adhesion6
},
3122 { adverseWeatherCondition_ExtremeWeatherCondition
, &hf_its_adverseWeatherCondition_ExtremeWeatherCondition17
},
3123 { hazardousLocation_AnimalOnTheRoad
, &hf_its_hazardousLocation_AnimalOnTheRoad11
},
3124 { hazardousLocation_ObstacleOnTheRoad
, &hf_its_hazardousLocation_ObstacleOnTheRoad10
},
3125 { hazardousLocation_SurfaceCondition
, &hf_its_hazardousLocation_SurfaceCondition9
},
3126 { hazardousLocation_DangerousCurve
, &hf_its_hazardousLocation_DangerousCurve96
},
3127 { humanPresenceOnTheRoad
, &hf_its_humanPresenceOnTheRoad12
},
3128 { wrongWayDriving
, &hf_its_wrongWayDriving14
},
3129 { rescueAndRecoveryWorkInProgress
, &hf_its_rescueAndRecoveryWorkInProgress15
},
3130 { slowVehicle
, &hf_its_slowVehicle26
},
3131 { dangerousEndOfQueue
, &hf_its_dangerousEndOfQueue27
},
3132 { vehicleBreakdown
, &hf_its_vehicleBreakdown91
},
3133 { postCrash
, &hf_its_postCrash92
},
3134 { humanProblem
, &hf_its_humanProblem93
},
3135 { stationaryVehicle
, &hf_its_stationaryVehicle94
},
3136 { emergencyVehicleApproaching
, &hf_its_emergencyVehicleApproaching95
},
3137 { collisionRisk
, &hf_its_collisionRisk97
},
3138 { signalViolation
, &hf_its_signalViolation98
},
3139 { dangerousSituation
, &hf_its_dangerousSituation99
},
3144 find_subcause_from_cause(CauseCodeType_enum cause
)
3148 while (cause_to_subcause
[idx
].hf
&& (cause_to_subcause
[idx
].cause
!= cause
))
3151 return cause_to_subcause
[idx
].hf
?cause_to_subcause
[idx
].hf
:&hf_its_subCauseCode
;
3154 static unsigned char ita2_ascii
[32] = {
3155 '\0', 'T', '\r', 'O', ' ', 'H', 'N', 'M', '\n', 'L', 'R', 'G', 'I', 'P', 'C', 'V',
3156 'E', 'Z', 'D', 'B', 'S', 'Y', 'F', 'X', 'A', 'W', 'J', '\0', 'U', 'Q', 'K'
3160 append_country_code_fmt(proto_item
*item
, tvbuff_t
*val_tvb
)
3162 uint16_t v
= tvb_get_uint16(val_tvb
, 0, ENC_BIG_ENDIAN
);
3163 v
>>= 6; /* 10 bits */
3164 uint16_t v1
= (v
>> 5) & 0x1F;
3165 uint16_t v2
= v
& 0x1F;
3166 proto_item_append_text(item
, " - %c%c", ita2_ascii
[v1
], ita2_ascii
[v2
]);
3170 /* --- Module ETSI-ITS-CDD --- --- --- */
3173 static const value_string its_AccelerationChange_vals
[] = {
3174 { 0, "accelerate" },
3175 { 1, "decelerate" },
3181 dissect_its_AccelerationChange(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3182 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
3183 2, NULL
, false, 0, NULL
);
3191 dissect_its_AccelerationConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3192 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3193 0U, 102U, NULL
, false);
3199 static int * const its_AccelerationControl_bits
[] = {
3200 &hf_its_AccelerationControl_brakePedalEngaged
,
3201 &hf_its_AccelerationControl_gasPedalEngaged
,
3202 &hf_its_AccelerationControl_emergencyBrakeEngaged
,
3203 &hf_its_AccelerationControl_collisionWarningEngaged
,
3204 &hf_its_AccelerationControl_accEngaged
,
3205 &hf_its_AccelerationControl_cruiseControlEngaged
,
3206 &hf_its_AccelerationControl_speedLimiterEngaged
,
3211 dissect_its_AccelerationControl(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3212 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
3213 7, 7, false, its_AccelerationControl_bits
, 7, NULL
, NULL
);
3219 static const value_string its_AccelerationMagnitudeValue_vals
[] = {
3220 { 160, "positiveOutOfRange" },
3221 { 161, "unavailable" },
3227 dissect_its_AccelerationMagnitudeValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3228 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3229 0U, 161U, NULL
, false);
3235 static const value_string its_AccelerationValue_vals
[] = {
3236 { -160, "negativeOutOfRange" },
3237 { 160, "positiveOutOfRange" },
3238 { 161, "unavailable" },
3244 dissect_its_AccelerationValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3245 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3246 -160, 161U, NULL
, false);
3252 static const value_string its_AccessTechnologyClass_vals
[] = {
3254 { 1, "itsg5Class" },
3255 { 2, "ltev2xClass" },
3256 { 3, "nrv2xClass" },
3262 dissect_its_AccessTechnologyClass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3263 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
3264 4, NULL
, true, 0, NULL
);
3270 static const value_string its_AccidentSubCauseCode_vals
[] = {
3271 { 0, "unavailable" },
3272 { 1, "multiVehicleAccident" },
3273 { 2, "heavyAccident" },
3274 { 3, "accidentInvolvingLorry" },
3275 { 4, "accidentInvolvingBus" },
3276 { 5, "accidentInvolvingHazardousMaterials" },
3277 { 6, "accidentOnOppositeLane" },
3278 { 7, "unsecuredAccident" },
3279 { 8, "assistanceRequested" },
3285 dissect_its_AccidentSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3286 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3287 0U, 255U, NULL
, false);
3293 static const value_string its_AdverseWeatherCondition_AdhesionSubCauseCode_vals
[] = {
3294 { 0, "unavailable" },
3295 { 1, "heavyFrostOnRoad" },
3296 { 2, "fuelOnRoad" },
3298 { 4, "snowOnRoad" },
3300 { 6, "blackIceOnRoad" },
3302 { 8, "looseChippings" },
3303 { 9, "instantBlackIce" },
3304 { 10, "roadsSalted" },
3310 dissect_its_AdverseWeatherCondition_AdhesionSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3311 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3312 0U, 255U, NULL
, false);
3318 static const value_string its_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_vals
[] = {
3319 { 0, "unavailable" },
3320 { 1, "strongWinds" },
3321 { 2, "damagingHail" },
3323 { 4, "thunderstorm" },
3331 dissect_its_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3332 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3333 0U, 255U, NULL
, false);
3339 static const value_string its_AdverseWeatherCondition_PrecipitationSubCauseCode_vals
[] = {
3340 { 0, "unavailable" },
3342 { 2, "heavySnowfall" },
3349 dissect_its_AdverseWeatherCondition_PrecipitationSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3350 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3351 0U, 255U, NULL
, false);
3357 static const value_string its_AdverseWeatherCondition_VisibilitySubCauseCode_vals
[] = {
3358 { 0, "unavailable" },
3361 { 3, "heavySnowfall" },
3364 { 6, "lowSunGlare" },
3365 { 7, "sandstorms" },
3366 { 8, "swarmsOfInsects" },
3372 dissect_its_AdverseWeatherCondition_VisibilitySubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3373 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3374 0U, 255U, NULL
, false);
3380 static const value_string its_AltitudeConfidence_vals
[] = {
3381 { 0, "alt-000-01" },
3382 { 1, "alt-000-02" },
3383 { 2, "alt-000-05" },
3384 { 3, "alt-000-10" },
3385 { 4, "alt-000-20" },
3386 { 5, "alt-000-50" },
3387 { 6, "alt-001-00" },
3388 { 7, "alt-002-00" },
3389 { 8, "alt-005-00" },
3390 { 9, "alt-010-00" },
3391 { 10, "alt-020-00" },
3392 { 11, "alt-050-00" },
3393 { 12, "alt-100-00" },
3394 { 13, "alt-200-00" },
3395 { 14, "outOfRange" },
3396 { 15, "unavailable" },
3402 dissect_its_AltitudeConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3403 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
3404 16, NULL
, false, 0, NULL
);
3412 dissect_its_AltitudeValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3413 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3414 -100000, 800001U, NULL
, false);
3422 dissect_its_AngleConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3423 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3424 1U, 127U, NULL
, false);
3430 static const value_string its_AngularSpeedConfidence_vals
[] = {
3437 { 6, "outOfRange" },
3438 { 7, "unavailable" },
3444 dissect_its_AngularSpeedConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3445 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
3446 8, NULL
, false, 0, NULL
);
3454 dissect_its_CardinalNumber1B(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3455 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3456 0U, 255U, NULL
, false);
3464 dissect_its_CardinalNumber3b(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3465 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3466 1U, 8U, NULL
, false);
3474 dissect_its_CartesianAngleValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3475 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3476 0U, 3601U, NULL
, false);
3482 static const value_string its_CartesianAngularVelocityComponentValue_vals
[] = {
3483 { -255, "negativeOutofRange" },
3484 { 255, "positiveOutOfRange" },
3485 { 256, "unavailable" },
3491 dissect_its_CartesianAngularVelocityComponentValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3492 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3493 -255, 256U, NULL
, false);
3499 static const value_string its_CauseCodeType_vals
[] = {
3500 { trafficCondition
, "trafficCondition" },
3501 { accident
, "accident" },
3502 { roadworks
, "roadworks" },
3503 { impassability
, "impassability" },
3504 { adverseWeatherCondition_Adhesion
, "adverseWeatherCondition-Adhesion" },
3505 { aquaplaning
, "aquaplaning" },
3506 { hazardousLocation_SurfaceCondition
, "hazardousLocation-SurfaceCondition" },
3507 { hazardousLocation_ObstacleOnTheRoad
, "hazardousLocation-ObstacleOnTheRoad" },
3508 { hazardousLocation_AnimalOnTheRoad
, "hazardousLocation-AnimalOnTheRoad" },
3509 { humanPresenceOnTheRoad
, "humanPresenceOnTheRoad" },
3510 { wrongWayDriving
, "wrongWayDriving" },
3511 { rescueAndRecoveryWorkInProgress
, "rescueAndRecoveryWorkInProgress" },
3512 { adverseWeatherCondition_ExtremeWeatherCondition
, "adverseWeatherCondition-ExtremeWeatherCondition" },
3513 { adverseWeatherCondition_Visibility
, "adverseWeatherCondition-Visibility" },
3514 { adverseWeatherCondition_Precipitation
, "adverseWeatherCondition-Precipitation" },
3515 { violence
, "violence" },
3516 { slowVehicle
, "slowVehicle" },
3517 { dangerousEndOfQueue
, "dangerousEndOfQueue" },
3518 { publicTransportVehicleApproaching
, "publicTransportVehicleApproaching" },
3519 { vehicleBreakdown
, "vehicleBreakdown" },
3520 { postCrash
, "postCrash" },
3521 { humanProblem
, "humanProblem" },
3522 { stationaryVehicle
, "stationaryVehicle" },
3523 { emergencyVehicleApproaching
, "emergencyVehicleApproaching" },
3524 { hazardousLocation_DangerousCurve
, "hazardousLocation-DangerousCurve" },
3525 { collisionRisk
, "collisionRisk" },
3526 { signalViolation
, "signalViolation" },
3527 { dangerousSituation
, "dangerousSituation" },
3528 { railwayLevelCrossing
, "railwayLevelCrossing" },
3534 dissect_its_CauseCodeType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3535 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3536 0U, 255U, &((its_private_data_t
*)actx
->private_data
)->cause_code
, false);
3542 static const value_string its_CartesianCoordinateSmall_vals
[] = {
3543 { -3094, "negativeOutOfRange" },
3544 { 1001, "positiveOutOfRange" },
3550 dissect_its_CartesianCoordinateSmall(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3551 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3552 -3094, 1001U, NULL
, false);
3558 static const value_string its_CartesianCoordinate_vals
[] = {
3559 { -32768, "negativeOutOfRange" },
3560 { 32767, "positiveOutOfRange" },
3566 dissect_its_CartesianCoordinate(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3567 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3568 -32768, 32767U, NULL
, false);
3574 static const value_string its_CartesianCoordinateLarge_vals
[] = {
3575 { -131072, "negativeOutOfRange" },
3576 { 131071, "positiveOutOfRange" },
3582 dissect_its_CartesianCoordinateLarge(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3583 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3584 -131072, 131071U, NULL
, false);
3590 static const value_string its_ClusterBreakupReason_vals
[] = {
3591 { 0, "notProvided" },
3592 { 1, "clusteringPurposeCompleted" },
3593 { 2, "leaderMovedOutOfClusterBoundingBox" },
3594 { 3, "joiningAnotherCluster" },
3595 { 4, "enteringLowRiskAreaBasedOnMaps" },
3596 { 5, "receptionOfCpmContainingCluster" },
3602 dissect_its_ClusterBreakupReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3603 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3604 0U, 15U, NULL
, false);
3610 static const value_string its_ClusterLeaveReason_vals
[] = {
3611 { 0, "notProvided" },
3612 { 1, "clusterLeaderLost" },
3613 { 2, "clusterDisbandedByLeader" },
3614 { 3, "outOfClusterBoundingBox" },
3615 { 4, "outOfClusterSpeedRange" },
3616 { 5, "joiningAnotherCluster" },
3617 { 6, "cancelledJoin" },
3618 { 7, "failedJoin" },
3619 { 8, "safetyCondition" },
3625 dissect_its_ClusterLeaveReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3626 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3627 0U, 15U, NULL
, false);
3633 static const value_string its_CollisionRiskSubCauseCode_vals
[] = {
3634 { 0, "unavailable" },
3635 { 1, "longitudinalCollisionRisk" },
3636 { 2, "crossingCollisionRisk" },
3637 { 3, "lateralCollisionRisk" },
3638 { 4, "vulnerableRoadUser" },
3639 { 5, "collisionRiskWithPedestrian" },
3640 { 6, "collisionRiskWithCyclist" },
3641 { 7, "collisionRiskWithMotorVehicle" },
3647 dissect_its_CollisionRiskSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3648 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3649 0U, 255U, NULL
, false);
3655 static const value_string its_ConfidenceLevel_vals
[] = {
3656 { 101, "unavailable" },
3662 dissect_its_ConfidenceLevel(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3663 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3664 1U, 101U, NULL
, false);
3670 static const value_string its_CoordinateConfidence_vals
[] = {
3671 { 4095, "outOfRange" },
3672 { 4096, "unavailable" },
3678 dissect_its_CoordinateConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3679 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3680 1U, 4096U, NULL
, false);
3686 static const value_string its_CorrelationCellValue_vals
[] = {
3687 { -100, "full-negative-correlation" },
3688 { 0, "no-correlation" },
3689 { 100, "full-positive-correlation" },
3690 { 101, "unavailable" },
3696 dissect_its_CorrelationCellValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3697 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3698 -100, 101U, NULL
, false);
3704 static const value_string its_CurvatureCalculationMode_vals
[] = {
3705 { 0, "yawRateUsed" },
3706 { 1, "yawRateNotUsed" },
3707 { 2, "unavailable" },
3713 dissect_its_CurvatureCalculationMode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3714 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
3715 3, NULL
, true, 0, NULL
);
3721 static const value_string its_CurvatureConfidence_vals
[] = {
3722 { 0, "onePerMeter-0-00002" },
3723 { 1, "onePerMeter-0-0001" },
3724 { 2, "onePerMeter-0-0005" },
3725 { 3, "onePerMeter-0-002" },
3726 { 4, "onePerMeter-0-01" },
3727 { 5, "onePerMeter-0-1" },
3728 { 6, "outOfRange" },
3729 { 7, "unavailable" },
3735 dissect_its_CurvatureConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3736 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
3737 8, NULL
, false, 0, NULL
);
3745 dissect_its_CurvatureValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3746 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3747 -1023, 1023U, NULL
, false);
3753 static const value_string its_DangerousEndOfQueueSubCauseCode_vals
[] = {
3754 { 0, "unavailable" },
3755 { 1, "suddenEndOfQueue" },
3756 { 2, "queueOverHill" },
3757 { 3, "queueAroundBend" },
3758 { 4, "queueInTunnel" },
3764 dissect_its_DangerousEndOfQueueSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3765 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3766 0U, 255U, NULL
, false);
3772 static const value_string its_DangerousGoodsBasic_vals
[] = {
3773 { 0, "explosives1" },
3774 { 1, "explosives2" },
3775 { 2, "explosives3" },
3776 { 3, "explosives4" },
3777 { 4, "explosives5" },
3778 { 5, "explosives6" },
3779 { 6, "flammableGases" },
3780 { 7, "nonFlammableGases" },
3781 { 8, "toxicGases" },
3782 { 9, "flammableLiquids" },
3783 { 10, "flammableSolids" },
3784 { 11, "substancesLiableToSpontaneousCombustion" },
3785 { 12, "substancesEmittingFlammableGasesUponContactWithWater" },
3786 { 13, "oxidizingSubstances" },
3787 { 14, "organicPeroxides" },
3788 { 15, "toxicSubstances" },
3789 { 16, "infectiousSubstances" },
3790 { 17, "radioactiveMaterial" },
3791 { 18, "corrosiveSubstances" },
3792 { 19, "miscellaneousDangerousSubstances" },
3798 dissect_its_DangerousGoodsBasic(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3799 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
3800 20, NULL
, false, 0, NULL
);
3806 static const value_string its_DangerousSituationSubCauseCode_vals
[] = {
3807 { 0, "unavailable" },
3808 { 1, "emergencyElectronicBrakeEngaged" },
3809 { 2, "preCrashSystemEngaged" },
3810 { 3, "espEngaged" },
3811 { 4, "absEngaged" },
3813 { 6, "brakeWarningEngaged" },
3814 { 7, "collisionRiskWarningEngaged" },
3820 dissect_its_DangerousSituationSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3821 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3822 0U, 255U, NULL
, false);
3830 dissect_its_DeltaAltitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3831 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3832 -12700, 12800U, NULL
, false);
3840 dissect_its_DeltaLatitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3841 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3842 -131071, 131072U, NULL
, false);
3850 dissect_its_DeltaLongitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3851 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3852 -131071, 131072U, NULL
, false);
3860 dissect_its_DeltaTimeMilliSecondPositive(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3861 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3862 1U, 10000U, NULL
, false);
3870 dissect_its_DeltaTimeMilliSecondSigned(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3871 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3872 -2048, 2047U, NULL
, false);
3878 static const value_string its_DeltaTimeQuarterSecond_vals
[] = {
3879 { 255, "unavailable" },
3885 dissect_its_DeltaTimeQuarterSecond(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3886 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3887 1U, 255U, NULL
, false);
3893 static const value_string its_DeltaTimeTenthOfSecond_vals
[] = {
3894 { 127, "unavailable" },
3900 dissect_its_DeltaTimeTenthOfSecond(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3901 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3902 0U, 127U, NULL
, false);
3910 dissect_its_DeltaTimeSecond(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3911 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3912 0U, 86400U, NULL
, false);
3920 dissect_its_DeltaTimeTenSeconds(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3921 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3922 0U, 127U, NULL
, false);
3928 static const value_string its_Direction_vals
[] = {
3929 { 0, "sameDirection" },
3930 { 1, "oppositeDirection" },
3931 { 2, "bothDirections" },
3932 { 3, "unavailable" },
3938 dissect_its_Direction(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3939 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
3940 0U, 3U, NULL
, false);
3946 static const value_string its_DriveDirection_vals
[] = {
3949 { 2, "unavailable" },
3955 dissect_its_DriveDirection(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3956 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
3957 3, NULL
, false, 0, NULL
);
3965 dissect_its_DrivingLaneStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3966 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
3967 1, 13, false, NULL
, 0, NULL
, NULL
);
3975 dissect_its_EmbarkationStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3976 offset
= dissect_per_boolean(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
3982 static int * const its_EmergencyPriority_bits
[] = {
3983 &hf_its_EmergencyPriority_requestForRightOfWay
,
3984 &hf_its_EmergencyPriority_requestForFreeCrossingAtATrafficLight
,
3989 dissect_its_EmergencyPriority(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3990 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
3991 2, 2, false, its_EmergencyPriority_bits
, 2, NULL
, NULL
);
3997 static const value_string its_EmergencyVehicleApproachingSubCauseCode_vals
[] = {
3998 { 0, "unavailable" },
3999 { 1, "emergencyVehicleApproaching" },
4000 { 2, "prioritizedVehicleApproaching" },
4006 dissect_its_EmergencyVehicleApproachingSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4007 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4008 0U, 255U, NULL
, false);
4014 static int * const its_EnergyStorageType_bits
[] = {
4015 &hf_its_EnergyStorageType_hydrogenStorage
,
4016 &hf_its_EnergyStorageType_electricEnergyStorage
,
4017 &hf_its_EnergyStorageType_liquidPropaneGas
,
4018 &hf_its_EnergyStorageType_compressedNaturalGas
,
4019 &hf_its_EnergyStorageType_diesel
,
4020 &hf_its_EnergyStorageType_gasoline
,
4021 &hf_its_EnergyStorageType_ammonia
,
4026 dissect_its_EnergyStorageType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4027 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
4028 7, 7, false, its_EnergyStorageType_bits
, 7, NULL
, NULL
);
4034 static const value_string its_EuVehicleCategoryL_vals
[] = {
4047 dissect_its_EuVehicleCategoryL(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4048 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
4049 7, NULL
, false, 0, NULL
);
4055 static const value_string its_EuVehicleCategoryM_vals
[] = {
4064 dissect_its_EuVehicleCategoryM(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4065 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
4066 3, NULL
, false, 0, NULL
);
4072 static const value_string its_EuVehicleCategoryN_vals
[] = {
4081 dissect_its_EuVehicleCategoryN(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4082 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
4083 3, NULL
, false, 0, NULL
);
4089 static const value_string its_EuVehicleCategoryO_vals
[] = {
4099 dissect_its_EuVehicleCategoryO(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4100 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
4101 4, NULL
, false, 0, NULL
);
4107 static int * const its_ExteriorLights_bits
[] = {
4108 &hf_its_ExteriorLights_lowBeamHeadlightsOn
,
4109 &hf_its_ExteriorLights_highBeamHeadlightsOn
,
4110 &hf_its_ExteriorLights_leftTurnSignalOn
,
4111 &hf_its_ExteriorLights_rightTurnSignalOn
,
4112 &hf_its_ExteriorLights_daytimeRunningLightsOn
,
4113 &hf_its_ExteriorLights_reverseLightOn
,
4114 &hf_its_ExteriorLights_fogLightOn
,
4115 &hf_its_ExteriorLights_parkingLightsOn
,
4120 dissect_its_ExteriorLights(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4121 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
4122 8, 8, false, its_ExteriorLights_bits
, 8, NULL
, NULL
);
4130 dissect_its_GenerationDeltaTime(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4131 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4132 0U, 65535U, NULL
, false);
4138 static const value_string its_HardShoulderStatus_vals
[] = {
4139 { 0, "availableForStopping" },
4141 { 2, "availableForDriving" },
4147 dissect_its_HardShoulderStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4148 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
4149 3, NULL
, false, 0, NULL
);
4155 static const value_string its_HazardousLocation_AnimalOnTheRoadSubCauseCode_vals
[] = {
4156 { 0, "unavailable" },
4157 { 1, "wildAnimals" },
4158 { 2, "herdOfAnimals" },
4159 { 3, "smallAnimals" },
4160 { 4, "largeAnimals" },
4161 { 5, "wildAnimalsSmall" },
4162 { 6, "wildAnimalsLarge" },
4163 { 7, "domesticAnimals" },
4164 { 8, "domesticAnimalsSmall" },
4165 { 9, "domesticAnimalsLarge" },
4171 dissect_its_HazardousLocation_AnimalOnTheRoadSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4172 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4173 0U, 255U, NULL
, false);
4179 static const value_string its_HazardousLocation_DangerousCurveSubCauseCode_vals
[] = {
4180 { 0, "unavailable" },
4181 { 1, "dangerousLeftTurnCurve" },
4182 { 2, "dangerousRightTurnCurve" },
4183 { 3, "multipleCurvesStartingWithUnknownTurningDirection" },
4184 { 4, "multipleCurvesStartingWithLeftTurn" },
4185 { 5, "multipleCurvesStartingWithRightTurn" },
4191 dissect_its_HazardousLocation_DangerousCurveSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4192 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4193 0U, 255U, NULL
, false);
4199 static const value_string its_HazardousLocation_ObstacleOnTheRoadSubCauseCode_vals
[] = {
4200 { 0, "unavailable" },
4202 { 2, "partsOfVehicles" },
4203 { 3, "partsOfTyres" },
4204 { 4, "bigObjects" },
4205 { 5, "fallenTrees" },
4207 { 7, "waitingVehicles" },
4213 dissect_its_HazardousLocation_ObstacleOnTheRoadSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4214 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4215 0U, 255U, NULL
, false);
4221 static const value_string its_HazardousLocation_SurfaceConditionSubCauseCode_vals
[] = {
4222 { 0, "unavailable" },
4224 { 2, "earthquakeDamage" },
4225 { 3, "sewerCollapse" },
4226 { 4, "subsidence" },
4227 { 5, "snowDrifts" },
4228 { 6, "stormDamage" },
4230 { 8, "volcanoEruption" },
4231 { 9, "fallingIce" },
4238 dissect_its_HazardousLocation_SurfaceConditionSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4239 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4240 0U, 255U, NULL
, false);
4248 dissect_its_HeadingConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4249 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4250 1U, 127U, NULL
, false);
4256 static const value_string its_HeadingValue_vals
[] = {
4257 { 0, "wgs84North" },
4258 { 900, "wgs84East" },
4259 { 1800, "wgs84South" },
4260 { 2700, "wgs84West" },
4261 { 3600, "doNotUse" },
4262 { 3601, "unavailable" },
4268 dissect_its_HeadingValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4269 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4270 0U, 3601U, NULL
, false);
4276 static const value_string its_HeightLonCarr_vals
[] = {
4277 { 99, "outOfRange" },
4278 { 100, "unavailable" },
4284 dissect_its_HeightLonCarr(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4285 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4286 1U, 100U, NULL
, false);
4292 static const value_string its_HumanPresenceOnTheRoadSubCauseCode_vals
[] = {
4293 { 0, "unavailable" },
4294 { 1, "childrenOnRoadway" },
4295 { 2, "cyclistOnRoadway" },
4296 { 3, "motorcyclistOnRoadway" },
4297 { 4, "pedestrian" },
4298 { 5, "ordinary-pedestrian" },
4299 { 6, "road-worker" },
4300 { 7, "first-responder" },
4301 { 8, "lightVruVehicle" },
4303 { 10, "wheelchair-user" },
4304 { 11, "horse-and-rider" },
4305 { 12, "rollerskater" },
4306 { 13, "e-scooter" },
4307 { 14, "personal-transporter" },
4309 { 16, "speed-pedelec" },
4312 { 19, "motorcycle" },
4313 { 20, "motorcycle-and-sidecar-right" },
4314 { 21, "motorcycle-and-sidecar-left" },
4320 dissect_its_HumanPresenceOnTheRoadSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4321 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4322 0U, 255U, NULL
, false);
4328 static const value_string its_HumanProblemSubCauseCode_vals
[] = {
4329 { 0, "unavailable" },
4330 { 1, "glycemiaProblem" },
4331 { 2, "heartProblem" },
4337 dissect_its_HumanProblemSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4338 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4339 0U, 255U, NULL
, false);
4347 dissect_its_Identifier1B(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4348 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4349 0U, 255U, NULL
, false);
4357 dissect_its_Identifier2B(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4358 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4359 0U, 65535U, NULL
, false);
4365 static const value_string its_ImpassabilitySubCauseCode_vals
[] = {
4366 { 0, "unavailable" },
4368 { 2, "dangerOfAvalanches" },
4369 { 3, "blastingOfAvalanches" },
4371 { 5, "chemicalSpillage" },
4372 { 6, "winterClosure" },
4374 { 8, "earthquakeDamage" },
4375 { 9, "fallenTrees" },
4376 { 10, "rockfalls" },
4377 { 11, "sewerOverflow" },
4378 { 12, "stormDamage" },
4379 { 13, "subsidence" },
4380 { 14, "burstPipe" },
4381 { 15, "burstWaterMain" },
4382 { 16, "fallenPowerCables" },
4383 { 17, "snowDrifts" },
4389 dissect_its_ImpassabilitySubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4390 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4391 0U, 255U, NULL
, false);
4399 dissect_its_InformationQuality(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4400 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4401 0U, 7U, NULL
, false);
4407 static const value_string its_InterferenceManagementZoneType_vals
[] = {
4408 { 0, "permanentCenDsrcTolling" },
4409 { 1, "temporaryCenDsrcTolling" },
4410 { 2, "unavailable" },
4412 { 4, "satelliteStation" },
4413 { 5, "fixedLinks" },
4419 dissect_its_InterferenceManagementZoneType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4420 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
4421 6, NULL
, true, 0, NULL
);
4427 static const value_string its_Iso3833VehicleType_vals
[] = {
4428 { 0, "passengerCar" },
4430 { 2, "convertibleSaloon" },
4431 { 3, "pullmanSaloon" },
4432 { 4, "stationWagon" },
4433 { 5, "truckStationWagon" },
4435 { 7, "convertible" },
4436 { 8, "multipurposePassengerCar" },
4437 { 9, "forwardControlPassengerCar" },
4438 { 10, "specialPassengerCar" },
4442 { 14, "interurbanCoach" },
4443 { 15, "longDistanceCoach" },
4444 { 16, "articulatedBus" },
4445 { 17, "trolleyBus" },
4446 { 18, "specialBus" },
4447 { 19, "commercialVehicle" },
4448 { 20, "specialCommercialVehicle" },
4449 { 21, "specialVehicle" },
4450 { 22, "trailingTowingVehicle" },
4451 { 23, "semiTrailerTowingVehicle" },
4453 { 25, "busTrailer" },
4454 { 26, "generalPurposeTrailer" },
4456 { 28, "specialTrailer" },
4457 { 29, "semiTrailer" },
4458 { 30, "busSemiTrailer" },
4459 { 31, "generalPurposeSemiTrailer" },
4460 { 32, "specialSemiTrailer" },
4461 { 33, "roadTrain" },
4462 { 34, "passengerRoadTrain" },
4463 { 35, "articulatedRoadTrain" },
4464 { 36, "doubleRoadTrain" },
4465 { 37, "compositeRoadTrain" },
4466 { 38, "specialRoadTrain" },
4468 { 40, "motorCycle" },
4474 dissect_its_Iso3833VehicleType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4475 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4476 0U, 255U, NULL
, false);
4484 dissect_its_IviIdentificationNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4485 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4486 1U, 32767U, NULL
, true);
4492 static const value_string its_LanePosition_vals
[] = {
4493 { -1, "offTheRoad" },
4494 { 0, "innerHardShoulder" },
4495 { 14, "outerHardShoulder" },
4501 dissect_its_LanePosition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4502 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4503 -1, 14U, NULL
, false);
4509 static const value_string its_LaneType_vals
[] = {
4512 { 2, "reversible" },
4513 { 3, "acceleration" },
4514 { 4, "deceleration" },
4515 { 5, "leftHandTurning" },
4516 { 6, "rightHandTurning" },
4517 { 7, "dedicatedVehicle" },
4522 { 12, "pedestrian" },
4523 { 13, "cycleLane" },
4526 { 16, "trackedVehicle" },
4528 { 18, "emergency" },
4530 { 20, "minimumRiskManoeuvre" },
4531 { 21, "exclusiveCycleLane" },
4538 dissect_its_LaneType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4539 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4540 0U, 31U, NULL
, false);
4548 dissect_its_Latitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4549 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4550 -900000000, 900000001U, NULL
, false);
4558 dissect_its_LateralAccelerationValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4559 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4560 -160, 161U, NULL
, false);
4566 static int * const its_LightBarSirenInUse_bits
[] = {
4567 &hf_its_LightBarSirenInUse_lightBarActivated
,
4568 &hf_its_LightBarSirenInUse_sirenActivated
,
4573 dissect_its_LightBarSirenInUse(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4574 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
4575 2, 2, false, its_LightBarSirenInUse_bits
, 2, NULL
, NULL
);
4583 dissect_its_Longitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4584 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4585 -1800000000, 1800000001U, NULL
, false);
4593 dissect_its_LongitudinalAccelerationValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4594 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4595 -160, 161U, NULL
, false);
4601 static const value_string its_LongitudinalLanePositionValue_vals
[] = {
4602 { 32766, "outOfRange" },
4603 { 32767, "unavailable" },
4609 dissect_its_LongitudinalLanePositionValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4610 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4611 0U, 32767U, NULL
, false);
4617 static const value_string its_LongitudinalLanePositionConfidence_vals
[] = {
4618 { 1022, "outOfRange" },
4619 { 1023, "unavailable" },
4625 dissect_its_LongitudinalLanePositionConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4626 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4627 0U, 1023U, NULL
, false);
4633 static int * const its_MatrixIncludedComponents_bits
[] = {
4634 &hf_its_MatrixIncludedComponents_xPosition
,
4635 &hf_its_MatrixIncludedComponents_yPosition
,
4636 &hf_its_MatrixIncludedComponents_zPosition
,
4637 &hf_its_MatrixIncludedComponents_xVelocityOrVelocityMagnitude
,
4638 &hf_its_MatrixIncludedComponents_yVelocityOrVelocityDirection
,
4639 &hf_its_MatrixIncludedComponents_zSpeed
,
4640 &hf_its_MatrixIncludedComponents_xAccelOrAccelMagnitude
,
4641 &hf_its_MatrixIncludedComponents_yAccelOrAccelDirection
,
4642 &hf_its_MatrixIncludedComponents_zAcceleration
,
4643 &hf_its_MatrixIncludedComponents_zAngle
,
4644 &hf_its_MatrixIncludedComponents_yAngle
,
4645 &hf_its_MatrixIncludedComponents_xAngle
,
4646 &hf_its_MatrixIncludedComponents_zAngularVelocity
,
4651 dissect_its_MatrixIncludedComponents(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4652 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
4653 13, 13, true, its_MatrixIncludedComponents_bits
, 13, NULL
, NULL
);
4659 static const value_string its_MessageId_vals
[] = {
4660 { ITS_DENM
, "denm" },
4662 { ITS_POIM
, "poim" },
4663 { ITS_SPATEM
, "spatem" },
4664 { ITS_MAPEM
, "mapem" },
4665 { ITS_IVIM
, "ivim" },
4666 { ITS_RFU1
, "rfu1" },
4667 { ITS_RFU2
, "rfu2" },
4668 { ITS_SREM
, "srem" },
4669 { ITS_SSEM
, "ssem" },
4670 { ITS_EVCSN
, "evcsn" },
4671 { ITS_SAEM
, "saem" },
4672 { ITS_RTCMEM
, "rtcmem" },
4674 { ITS_IMZM
, "imzm" },
4677 { ITS_PCIM
, "pcim" },
4678 { ITS_PCVM
, "pcvm" },
4686 dissect_its_MessageId(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4688 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4689 0U, 255U, &msgId
, false);
4691 its_header_t
*its_hdr
= its_get_private_data(actx
->pinfo
);
4692 its_hdr
->msgId
= msgId
;
4699 static const value_string its_NumberOfOccupants_vals
[] = {
4700 { 126, "outOfRange" },
4701 { 127, "unavailable" },
4707 dissect_its_NumberOfOccupants(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4708 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4709 0U, 127U, NULL
, false);
4715 static const value_string its_ObjectPerceptionQuality_vals
[] = {
4716 { 0, "noConfidence" },
4717 { 15, "fullConfidence" },
4723 dissect_its_ObjectPerceptionQuality(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4724 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4725 0U, 15U, NULL
, false);
4733 dissect_its_ObjectDimensionValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4734 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4735 1U, 256U, NULL
, false);
4743 dissect_its_ObjectDimensionConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4744 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4745 1U, 32U, NULL
, false);
4753 dissect_its_OpeningDaysHours(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4754 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
4755 NO_BOUND
, NO_BOUND
, false);
4763 dissect_its_OrdinalNumber3b(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4764 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4765 1U, 8U, NULL
, false);
4771 static const value_string its_OtherSubClass_vals
[] = {
4773 { 1, "singleObject" },
4774 { 2, "multipleObjects" },
4775 { 3, "bulkMaterial" },
4781 dissect_its_OtherSubClass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4782 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4783 0U, 255U, NULL
, false);
4791 dissect_its_PathDeltaTime(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4792 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4793 1U, 65535U, NULL
, true);
4799 static const value_string its_PerformanceClass_vals
[] = {
4800 { 0, "unavailable" },
4801 { 1, "performanceClassA" },
4802 { 2, "performanceClassB" },
4808 dissect_its_PerformanceClass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4809 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4810 0U, 7U, NULL
, false);
4818 dissect_its_PhoneNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4819 offset
= dissect_per_NumericString(tvb
, offset
, actx
, tree
, hf_index
,
4827 static const value_string its_PosCentMass_vals
[] = {
4828 { 1, "tenCentimetres" },
4829 { 62, "outOfRange" },
4830 { 63, "unavailable" },
4836 dissect_its_PosCentMass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4837 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4838 1U, 63U, NULL
, false);
4844 static const value_string its_PositioningSolutionType_vals
[] = {
4845 { 0, "noPositioningSolution" },
4848 { 3, "sGNSSplusDR" },
4849 { 4, "dGNSSplusDR" },
4851 { 6, "manuallyByOperator" },
4857 dissect_its_PositioningSolutionType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4858 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
4859 6, NULL
, true, 1, NULL
);
4865 static int * const its_PositionOfOccupants_bits
[] = {
4866 &hf_its_PositionOfOccupants_row1LeftOccupied
,
4867 &hf_its_PositionOfOccupants_row1RightOccupied
,
4868 &hf_its_PositionOfOccupants_row1MidOccupied
,
4869 &hf_its_PositionOfOccupants_row1NotDetectable
,
4870 &hf_its_PositionOfOccupants_row1NotPresent
,
4871 &hf_its_PositionOfOccupants_row2LeftOccupied
,
4872 &hf_its_PositionOfOccupants_row2RightOccupied
,
4873 &hf_its_PositionOfOccupants_row2MidOccupied
,
4874 &hf_its_PositionOfOccupants_row2NotDetectable
,
4875 &hf_its_PositionOfOccupants_row2NotPresent
,
4876 &hf_its_PositionOfOccupants_row3LeftOccupied
,
4877 &hf_its_PositionOfOccupants_row3RightOccupied
,
4878 &hf_its_PositionOfOccupants_row3MidOccupied
,
4879 &hf_its_PositionOfOccupants_row3NotDetectable
,
4880 &hf_its_PositionOfOccupants_row3NotPresent
,
4881 &hf_its_PositionOfOccupants_row4LeftOccupied
,
4882 &hf_its_PositionOfOccupants_row4RightOccupied
,
4883 &hf_its_PositionOfOccupants_row4MidOccupied
,
4884 &hf_its_PositionOfOccupants_row4NotDetectable
,
4885 &hf_its_PositionOfOccupants_row4NotPresent
,
4890 dissect_its_PositionOfOccupants(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4891 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
4892 20, 20, false, its_PositionOfOccupants_bits
, 20, NULL
, NULL
);
4898 static const value_string its_PosFrontAx_vals
[] = {
4899 { 19, "outOfRange" },
4900 { 20, "unavailable" },
4906 dissect_its_PosFrontAx(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4907 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4908 1U, 20U, NULL
, false);
4914 static const value_string its_PosLonCarr_vals
[] = {
4915 { 126, "outOfRange" },
4916 { 127, "unavailable" },
4922 dissect_its_PosLonCarr(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4923 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4924 1U, 127U, NULL
, false);
4930 static const value_string its_PosPillar_vals
[] = {
4931 { 29, "outOfRange" },
4932 { 30, "unavailable" },
4938 dissect_its_PosPillar(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4939 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4940 1U, 30U, NULL
, false);
4946 static const value_string its_PostCrashSubCauseCode_vals
[] = {
4947 { 0, "unavailable" },
4948 { 1, "accidentWithoutECallTriggered" },
4949 { 2, "accidentWithECallManuallyTriggered" },
4950 { 3, "accidentWithECallAutomaticallyTriggered" },
4951 { 4, "accidentWithECallTriggeredWithoutAccessToCellularNetwork" },
4957 dissect_its_PostCrashSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4958 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4959 0U, 255U, NULL
, false);
4967 dissect_its_ProtectedZoneId(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4968 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4969 0U, 134217727U, NULL
, false);
4977 dissect_its_ProtectedZoneRadius(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4978 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
4979 1U, 255U, NULL
, true);
4985 static const value_string its_ProtectedZoneType_vals
[] = {
4986 { 0, "permanentCenDsrcTolling" },
4987 { 1, "temporaryCenDsrcTolling" },
4993 dissect_its_ProtectedZoneType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4994 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
4995 1, NULL
, true, 1, NULL
);
5003 dissect_its_PtActivationData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5004 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
5005 1, 20, false, &((its_pt_activation_data_t
*)actx
->private_data
)->data
);
5011 static const value_string its_PtActivationType_vals
[] = {
5012 { 0, "undefinedCodingType" },
5013 { 1, "r09-16CodingType" },
5014 { 2, "vdv-50149CodingType" },
5020 dissect_its_PtActivationType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5021 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5022 0U, 255U, &((its_pt_activation_data_t
*)actx
->private_data
)->type
, false);
5028 static const value_string its_RailwayLevelCrossingSubCauseCode_vals
[] = {
5029 { 0, "unavailable" },
5030 { 1, "doNotCrossAbnormalSituation" },
5039 dissect_its_RailwayLevelCrossingSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5040 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5041 0U, 255U, NULL
, false);
5047 static const value_string its_RequestResponseIndication_vals
[] = {
5055 dissect_its_RequestResponseIndication(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5056 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
5057 2, NULL
, false, 0, NULL
);
5063 static const value_string its_RescueAndRecoveryWorkInProgressSubCauseCode_vals
[] = {
5064 { 0, "unavailable" },
5065 { 1, "emergencyVehicles" },
5066 { 2, "rescueHelicopterLanding" },
5067 { 3, "policeActivityOngoing" },
5068 { 4, "medicalEmergencyOngoing" },
5069 { 5, "childAbductionInProgress" },
5070 { 6, "prioritizedVehicle" },
5071 { 7, "rescueAndRecoveryVehicle" },
5077 dissect_its_RescueAndRecoveryWorkInProgressSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5078 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5079 0U, 255U, NULL
, false);
5085 static const value_string its_RoadType_vals
[] = {
5086 { 0, "urban-NoStructuralSeparationToOppositeLanes" },
5087 { 1, "urban-WithStructuralSeparationToOppositeLanes" },
5088 { 2, "nonUrban-NoStructuralSeparationToOppositeLanes" },
5089 { 3, "nonUrban-WithStructuralSeparationToOppositeLanes" },
5095 dissect_its_RoadType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5096 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
5097 4, NULL
, false, 0, NULL
);
5103 static const value_string its_RoadworksSubCauseCode_vals
[] = {
5104 { 0, "unavailable" },
5105 { 1, "majorRoadworks" },
5106 { 2, "roadMarkingWork" },
5107 { 3, "slowMovingRoadMaintenance" },
5108 { 4, "shortTermStationaryRoadworks" },
5109 { 5, "streetCleaning" },
5110 { 6, "winterService" },
5116 dissect_its_RoadworksSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5117 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5118 0U, 255U, NULL
, false);
5126 dissect_its_SafeDistanceIndicator(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5127 offset
= dissect_per_boolean(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
5135 dissect_its_SemiAxisLength(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5136 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5137 0U, 4095U, NULL
, false);
5143 static const value_string its_SensorType_vals
[] = {
5148 { 4, "stereovision" },
5149 { 5, "nightvision" },
5150 { 6, "ultrasonic" },
5152 { 8, "inductionLoop" },
5153 { 9, "sphericalCamera" },
5156 { 12, "localAggregation" },
5157 { 13, "itsAggregation" },
5163 dissect_its_SensorType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5164 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5165 0U, 31U, NULL
, false);
5171 static int * const its_SensorTypes_bits
[] = {
5172 &hf_its_SensorTypes_undefined
,
5173 &hf_its_SensorTypes_radar
,
5174 &hf_its_SensorTypes_lidar
,
5175 &hf_its_SensorTypes_monovideo
,
5176 &hf_its_SensorTypes_stereovision
,
5177 &hf_its_SensorTypes_nightvision
,
5178 &hf_its_SensorTypes_ultrasonic
,
5179 &hf_its_SensorTypes_pmd
,
5180 &hf_its_SensorTypes_inductionLoop
,
5181 &hf_its_SensorTypes_sphericalCamera
,
5182 &hf_its_SensorTypes_uwb
,
5183 &hf_its_SensorTypes_acoustic
,
5184 &hf_its_SensorTypes_localAggregation
,
5185 &hf_its_SensorTypes_itsAggregation
,
5190 dissect_its_SensorTypes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5191 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
5192 16, 16, true, its_SensorTypes_bits
, 14, NULL
, NULL
);
5200 dissect_its_SequenceNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5201 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5202 0U, 65535U, NULL
, false);
5208 static const value_string its_SignalViolationSubCauseCode_vals
[] = {
5209 { 0, "unavailable" },
5210 { 1, "stopSignViolation" },
5211 { 2, "trafficLightViolation" },
5212 { 3, "turningRegulationViolation" },
5218 dissect_its_SignalViolationSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5219 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5220 0U, 255U, NULL
, false);
5226 static const value_string its_SlowVehicleSubCauseCode_vals
[] = {
5227 { 0, "unavailable" },
5228 { 1, "maintenanceVehicle" },
5229 { 2, "vehiclesSlowingToLookAtAccident" },
5230 { 3, "abnormalLoad" },
5231 { 4, "abnormalWideLoad" },
5233 { 6, "snowplough" },
5235 { 8, "saltingVehicles" },
5241 dissect_its_SlowVehicleSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5242 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5243 0U, 255U, NULL
, false);
5249 static int * const its_SpecialTransportType_bits
[] = {
5250 &hf_its_SpecialTransportType_heavyLoad
,
5251 &hf_its_SpecialTransportType_excessWidth
,
5252 &hf_its_SpecialTransportType_excessLength
,
5253 &hf_its_SpecialTransportType_excessHeight
,
5258 dissect_its_SpecialTransportType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5259 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
5260 4, 4, false, its_SpecialTransportType_bits
, 4, NULL
, NULL
);
5268 dissect_its_SpeedConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5269 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5270 1U, 127U, NULL
, false);
5278 dissect_its_SpeedLimit(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5279 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5280 1U, 255U, NULL
, false);
5288 dissect_its_SpeedValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5289 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5290 0U, 16383U, NULL
, false);
5296 static int * const its_StoredInformationType_bits
[] = {
5297 &hf_its_StoredInformationType_undefined
,
5298 &hf_its_StoredInformationType_staticDb
,
5299 &hf_its_StoredInformationType_dynamicDb
,
5300 &hf_its_StoredInformationType_realTimeDb
,
5301 &hf_its_StoredInformationType_map
,
5306 dissect_its_StoredInformationType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5307 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
5308 8, 8, true, its_StoredInformationType_bits
, 5, NULL
, NULL
);
5314 static const value_string its_VelocityComponentValue_vals
[] = {
5315 { -16383, "negativeOutOfRange" },
5316 { 16382, "positiveOutOfRange" },
5317 { 16383, "unavailable" },
5323 dissect_its_VelocityComponentValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5324 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5325 -16383, 16383U, NULL
, false);
5331 static const value_string its_StabilityLossProbability_vals
[] = {
5333 { 50, "totalLossOfStability" },
5334 { 63, "unavailable" },
5340 dissect_its_StabilityLossProbability(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5341 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5342 0U, 63U, NULL
, false);
5350 dissect_its_StandardLength12b(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5351 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5352 0U, 4095U, NULL
, false);
5358 static const value_string its_StandardLength3b_vals
[] = {
5359 { 0, "lessThan50m" },
5360 { 1, "lessThan100m" },
5361 { 2, "lessThan200m" },
5362 { 3, "lessThan500m" },
5363 { 4, "lessThan1000m" },
5364 { 5, "lessThan5km" },
5365 { 6, "lessThan10km" },
5372 dissect_its_StandardLength3b(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5373 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
5374 8, NULL
, false, 0, NULL
);
5382 dissect_its_StandardLength9b(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5383 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5384 0U, 511U, NULL
, false);
5392 dissect_its_StandardLength1B(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5393 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5394 0U, 255U, NULL
, false);
5400 static const value_string its_StationarySince_vals
[] = {
5401 { 0, "lessThan1Minute" },
5402 { 1, "lessThan2Minutes" },
5403 { 2, "lessThan15Minutes" },
5404 { 3, "equalOrGreater15Minutes" },
5410 dissect_its_StationarySince(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5411 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
5412 4, NULL
, false, 0, NULL
);
5418 static const value_string its_StationaryVehicleSubCauseCode_vals
[] = {
5419 { 0, "unavailable" },
5420 { 1, "humanProblem" },
5421 { 2, "vehicleBreakdown" },
5423 { 4, "publicTransportStop" },
5424 { 5, "carryingDangerousGoods" },
5425 { 6, "vehicleOnFire" },
5431 dissect_its_StationaryVehicleSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5432 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5433 0U, 255U, NULL
, false);
5441 dissect_its_StationId(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5443 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5444 0U, 4294967295U, &stationId
, false);
5446 its_header_t
*its_hdr
= its_get_private_data(actx
->pinfo
);
5447 its_hdr
->stationId
= stationId
;
5456 dissect_its_StationID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5457 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5458 0U, 4294967295U, NULL
, false);
5464 static const value_string its_StationType_vals
[] = {
5466 { 1, "pedestrian" },
5469 { 4, "motorcycle" },
5470 { 5, "passengerCar" },
5472 { 7, "lightTruck" },
5473 { 8, "heavyTruck" },
5475 { 10, "specialVehicle" },
5477 { 12, "lightVruVehicle" },
5479 { 15, "roadSideUnit" },
5485 dissect_its_StationType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5486 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5487 0U, 255U, NULL
, false);
5495 dissect_its_SteeringWheelAngleConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5496 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5497 1U, 127U, NULL
, false);
5505 dissect_its_SteeringWheelAngleValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5506 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5507 -511, 512U, NULL
, false);
5515 dissect_its_SubCauseCodeType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5516 // Overwrite hf_index
5517 hf_index
= *find_subcause_from_cause((CauseCodeType_enum
) ((its_private_data_t
*)actx
->private_data
)->cause_code
);
5518 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5519 0U, 255U, NULL
, false);
5526 static const value_string its_Temperature_vals
[] = {
5527 { -60, "equalOrSmallerThanMinus60Deg" },
5528 { 67, "equalOrGreaterThan67Deg" },
5534 dissect_its_Temperature(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5535 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5536 -60, 67U, NULL
, false);
5544 dissect_its_TimestampIts(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5545 offset
= dissect_per_constrained_integer_64b(tvb
, offset
, actx
, tree
, hf_index
,
5546 0U, UINT64_C(4398046511103), NULL
, false);
5552 static const value_string its_TrafficConditionSubCauseCode_vals
[] = {
5553 { 0, "unavailable" },
5554 { 1, "increasedVolumeOfTraffic" },
5555 { 2, "trafficJamSlowlyIncreasing" },
5556 { 3, "trafficJamIncreasing" },
5557 { 4, "trafficJamStronglyIncreasing" },
5558 { 5, "trafficJam" },
5559 { 6, "trafficJamSlightlyDecreasing" },
5560 { 7, "trafficJamDecreasing" },
5561 { 8, "trafficJamStronglyDecreasing" },
5562 { 9, "trafficJamStable" },
5568 dissect_its_TrafficConditionSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5569 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5570 0U, 255U, NULL
, false);
5576 static const value_string its_TrafficDirection_vals
[] = {
5577 { 0, "allTrafficDirections" },
5578 { 1, "sameAsReferenceDirection-upstreamOfReferencePosition" },
5579 { 2, "sameAsReferenceDirection-downstreamOfReferencePosition" },
5580 { 3, "oppositeToReferenceDirection" },
5586 dissect_its_TrafficDirection(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5587 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
5588 4, NULL
, false, 0, NULL
);
5594 static const value_string its_TrafficParticipantType_vals
[] = {
5596 { 1, "pedestrian" },
5599 { 4, "motorcycle" },
5600 { 5, "passengerCar" },
5602 { 7, "lightTruck" },
5603 { 8, "heavyTruck" },
5605 { 10, "specialVehicle" },
5607 { 12, "lightVruVehicle" },
5609 { 14, "agricultural" },
5610 { 15, "roadSideUnit" },
5616 dissect_its_TrafficParticipantType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5617 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5618 0U, 255U, NULL
, false);
5624 static const value_string its_TrafficRule_vals
[] = {
5626 { 1, "noPassingForTrucks" },
5627 { 2, "passToRight" },
5628 { 3, "passToLeft" },
5629 { 4, "passToLeftOrRight" },
5635 dissect_its_TrafficRule(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5636 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
5637 4, NULL
, true, 1, NULL
);
5643 static const value_string its_TrajectoryInterceptionProbability_vals
[] = {
5644 { 63, "unavailable" },
5650 dissect_its_TrajectoryInterceptionProbability(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5651 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5652 0U, 63U, NULL
, false);
5658 static const value_string its_TrajectoryInterceptionConfidence_vals
[] = {
5659 { 0, "lessthan50percent" },
5660 { 1, "between50and70Percent" },
5661 { 2, "between70and90Percent" },
5662 { 3, "above90Percent" },
5668 dissect_its_TrajectoryInterceptionConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5669 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5670 0U, 3U, NULL
, false);
5676 static const value_string its_TurningDirection_vals
[] = {
5684 dissect_its_TurningDirection(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5685 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
5686 2, NULL
, false, 0, NULL
);
5692 static const value_string its_TurningRadius_vals
[] = {
5693 { 254, "outOfRange" },
5694 { 255, "unavailable" },
5700 dissect_its_TurningRadius(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5701 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5702 1U, 255U, NULL
, false);
5710 dissect_its_VDS(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5711 offset
= dissect_per_IA5String(tvb
, offset
, actx
, tree
, hf_index
,
5719 static const value_string its_VehicleBreakdownSubCauseCode_vals
[] = {
5720 { 0, "unavailable" },
5721 { 1, "lackOfFuel" },
5722 { 2, "lackOfBatteryPower" },
5723 { 3, "engineProblem" },
5724 { 4, "transmissionProblem" },
5725 { 5, "engineCoolingProblem" },
5726 { 6, "brakingSystemProblem" },
5727 { 7, "steeringProblem" },
5728 { 8, "tyrePuncture" },
5729 { 9, "tyrePressureProblem" },
5730 { 10, "vehicleOnFire" },
5736 dissect_its_VehicleBreakdownSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5737 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5738 0U, 255U, NULL
, false);
5744 static const value_string its_VehicleHeight_vals
[] = {
5745 { 126, "outOfRange" },
5746 { 127, "unavailable" },
5752 dissect_its_VehicleHeight(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5753 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5754 1U, 128U, NULL
, false);
5760 static const value_string its_VehicleLengthConfidenceIndication_vals
[] = {
5761 { 0, "noTrailerPresent" },
5762 { 1, "trailerPresentWithKnownLength" },
5763 { 2, "trailerPresentWithUnknownLength" },
5764 { 3, "trailerPresenceIsUnknown" },
5765 { 4, "unavailable" },
5771 dissect_its_VehicleLengthConfidenceIndication(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5772 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
5773 5, NULL
, false, 0, NULL
);
5781 dissect_its_VehicleLengthValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5782 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5783 1U, 1023U, NULL
, false);
5789 static const value_string its_VehicleMass_vals
[] = {
5790 { 1023, "outOfRange" },
5791 { 1024, "unavailable" },
5797 dissect_its_VehicleMass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5798 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5799 1U, 1024U, NULL
, false);
5805 static const value_string its_VehicleRole_vals
[] = {
5807 { 1, "publicTransport" },
5808 { 2, "specialTransport" },
5809 { 3, "dangerousGoods" },
5814 { 8, "agriculture" },
5815 { 9, "commercial" },
5817 { 11, "roadOperator" },
5827 dissect_its_VehicleRole(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5828 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
5829 16, NULL
, false, 0, NULL
);
5837 dissect_its_VehicleWidth(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5838 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5839 1U, 62U, NULL
, false);
5847 dissect_its_VerticalAccelerationValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5848 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5849 -160, 161U, NULL
, false);
5855 static int * const its_VruClusterProfiles_bits
[] = {
5856 &hf_its_VruClusterProfiles_pedestrian
,
5857 &hf_its_VruClusterProfiles_bicyclist
,
5858 &hf_its_VruClusterProfiles_motorcyclist
,
5859 &hf_its_VruClusterProfiles_animal
,
5864 dissect_its_VruClusterProfiles(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5865 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
5866 4, 4, false, its_VruClusterProfiles_bits
, 4, NULL
, NULL
);
5872 static const value_string its_VruDeviceUsage_vals
[] = {
5873 { 0, "unavailable" },
5876 { 3, "listeningToAudio" },
5879 { 6, "playingGames" },
5887 dissect_its_VruDeviceUsage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5888 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5889 0U, 15U, NULL
, false);
5895 static const value_string its_VruEnvironment_vals
[] = {
5896 { 0, "unavailable" },
5897 { 1, "intersectionCrossing" },
5898 { 2, "zebraCrossing" },
5900 { 4, "onVehicleRoad" },
5901 { 5, "protectedGeographicArea" },
5907 dissect_its_VruEnvironment(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5908 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5909 0U, 15U, NULL
, false);
5915 static const value_string its_VruMovementControl_vals
[] = {
5916 { 0, "unavailable" },
5918 { 2, "hardBraking" },
5919 { 3, "stopPedaling" },
5920 { 4, "brakingAndStopPedaling" },
5921 { 5, "hardBrakingAndStopPedaling" },
5922 { 6, "noReaction" },
5928 dissect_its_VruMovementControl(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5929 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5930 0U, 15U, NULL
, false);
5936 static const value_string its_VruSubProfilePedestrian_vals
[] = {
5937 { 0, "unavailable" },
5938 { 1, "ordinary-pedestrian" },
5939 { 2, "road-worker" },
5940 { 3, "first-responder" },
5946 dissect_its_VruSubProfilePedestrian(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5947 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5948 0U, 15U, NULL
, false);
5954 static const value_string its_VruSubProfileBicyclist_vals
[] = {
5955 { 0, "unavailable" },
5957 { 2, "wheelchair-user" },
5958 { 3, "horse-and-rider" },
5959 { 4, "rollerskater" },
5961 { 6, "personal-transporter" },
5963 { 8, "speed-pedelec" },
5965 { 10, "childrensbike" },
5971 dissect_its_VruSubProfileBicyclist(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5972 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5973 0U, 15U, NULL
, false);
5979 static const value_string its_VruSubProfileMotorcyclist_vals
[] = {
5980 { 0, "unavailable" },
5982 { 2, "motorcycle" },
5983 { 3, "motorcycle-and-sidecar-right" },
5984 { 4, "motorcycle-and-sidecar-left" },
5990 dissect_its_VruSubProfileMotorcyclist(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5991 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
5992 0U, 15U, NULL
, false);
5998 static const value_string its_VruSubProfileAnimal_vals
[] = {
5999 { 0, "unavailable" },
6000 { 1, "wild-animal" },
6001 { 2, "farm-animal" },
6002 { 3, "service-animal" },
6008 dissect_its_VruSubProfileAnimal(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6009 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
6010 0U, 15U, NULL
, false);
6016 static const value_string its_VruSizeClass_vals
[] = {
6017 { 0, "unavailable" },
6026 dissect_its_VruSizeClass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6027 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
6028 0U, 15U, NULL
, false);
6034 static int * const its_VruSpecificExteriorLights_bits
[] = {
6035 &hf_its_VruSpecificExteriorLights_unavailable
,
6036 &hf_its_VruSpecificExteriorLights_backFlashLight
,
6037 &hf_its_VruSpecificExteriorLights_helmetLight
,
6038 &hf_its_VruSpecificExteriorLights_armLight
,
6039 &hf_its_VruSpecificExteriorLights_legLight
,
6040 &hf_its_VruSpecificExteriorLights_wheelLight
,
6045 dissect_its_VruSpecificExteriorLights(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6046 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
6047 8, 8, false, its_VruSpecificExteriorLights_bits
, 6, NULL
, NULL
);
6053 static const value_string its_WheelBaseVehicle_vals
[] = {
6054 { 126, "outOfRange" },
6055 { 127, "unavailable" },
6061 dissect_its_WheelBaseVehicle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6062 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
6063 1U, 127U, NULL
, false);
6069 static const value_string its_Wgs84AngleConfidence_vals
[] = {
6070 { 126, "outOfRange" },
6071 { 127, "unavailable" },
6077 dissect_its_Wgs84AngleConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6078 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
6079 1U, 127U, NULL
, false);
6085 static const value_string its_Wgs84AngleValue_vals
[] = {
6086 { 0, "wgs84North" },
6087 { 900, "wgs84East" },
6088 { 1800, "wgs84South" },
6089 { 2700, "wgs84West" },
6090 { 3600, "doNotUse" },
6091 { 3601, "unavailable" },
6097 dissect_its_Wgs84AngleValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6098 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
6099 0U, 3601U, NULL
, false);
6107 dissect_its_WMInumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6108 offset
= dissect_per_IA5String(tvb
, offset
, actx
, tree
, hf_index
,
6116 static const value_string its_WrongWayDrivingSubCauseCode_vals
[] = {
6117 { 0, "unavailable" },
6119 { 2, "wrongDirection" },
6125 dissect_its_WrongWayDrivingSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6126 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
6127 0U, 255U, NULL
, false);
6133 static const value_string its_YawRateConfidence_vals
[] = {
6134 { 0, "degSec-000-01" },
6135 { 1, "degSec-000-05" },
6136 { 2, "degSec-000-10" },
6137 { 3, "degSec-001-00" },
6138 { 4, "degSec-005-00" },
6139 { 5, "degSec-010-00" },
6140 { 6, "degSec-100-00" },
6141 { 7, "outOfRange" },
6142 { 8, "unavailable" },
6148 dissect_its_YawRateConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6149 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
6150 9, NULL
, false, 0, NULL
);
6158 dissect_its_YawRateValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6159 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
6160 -32766, 32767U, NULL
, false);
6166 static const per_sequence_t its_AccelerationMagnitude_sequence
[] = {
6167 { &hf_its_accelerationMagnitudeValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_AccelerationMagnitudeValue
},
6168 { &hf_its_accelerationConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_AccelerationConfidence
},
6169 { NULL
, 0, 0, NULL
}
6173 dissect_its_AccelerationMagnitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6174 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6175 ett_its_AccelerationMagnitude
, its_AccelerationMagnitude_sequence
);
6181 static const per_sequence_t its_CartesianAngle_sequence
[] = {
6182 { &hf_its_value_01
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianAngleValue
},
6183 { &hf_its_confidence_01
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_AngleConfidence
},
6184 { NULL
, 0, 0, NULL
}
6188 dissect_its_CartesianAngle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6189 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6190 ett_its_CartesianAngle
, its_CartesianAngle_sequence
);
6196 static const per_sequence_t its_AccelerationComponent_sequence
[] = {
6197 { &hf_its_value
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_AccelerationValue
},
6198 { &hf_its_confidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_AccelerationConfidence
},
6199 { NULL
, 0, 0, NULL
}
6203 dissect_its_AccelerationComponent(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6204 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6205 ett_its_AccelerationComponent
, its_AccelerationComponent_sequence
);
6211 static const per_sequence_t its_AccelerationPolarWithZ_sequence
[] = {
6212 { &hf_its_accelerationMagnitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_AccelerationMagnitude
},
6213 { &hf_its_accelerationDirection
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianAngle
},
6214 { &hf_its_zAcceleration
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_AccelerationComponent
},
6215 { NULL
, 0, 0, NULL
}
6219 dissect_its_AccelerationPolarWithZ(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6220 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6221 ett_its_AccelerationPolarWithZ
, its_AccelerationPolarWithZ_sequence
);
6227 static const per_sequence_t its_AccelerationCartesian_sequence
[] = {
6228 { &hf_its_xAcceleration
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_AccelerationComponent
},
6229 { &hf_its_yAcceleration
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_AccelerationComponent
},
6230 { &hf_its_zAcceleration
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_AccelerationComponent
},
6231 { NULL
, 0, 0, NULL
}
6235 dissect_its_AccelerationCartesian(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6236 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6237 ett_its_AccelerationCartesian
, its_AccelerationCartesian_sequence
);
6243 static const value_string its_Acceleration3dWithConfidence_vals
[] = {
6244 { 0, "polarAcceleration" },
6245 { 1, "cartesianAcceleration" },
6249 static const per_choice_t its_Acceleration3dWithConfidence_choice
[] = {
6250 { 0, &hf_its_polarAcceleration
, ASN1_NO_EXTENSIONS
, dissect_its_AccelerationPolarWithZ
},
6251 { 1, &hf_its_cartesianAcceleration
, ASN1_NO_EXTENSIONS
, dissect_its_AccelerationCartesian
},
6252 { 0, NULL
, 0, NULL
}
6256 dissect_its_Acceleration3dWithConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6257 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
6258 ett_its_Acceleration3dWithConfidence
, its_Acceleration3dWithConfidence_choice
,
6265 static const per_sequence_t its_AccelerationChangeIndication_sequence
[] = {
6266 { &hf_its_accelOrDecel
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_AccelerationChange
},
6267 { &hf_its_actionDeltaTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaTimeTenthOfSecond
},
6268 { NULL
, 0, 0, NULL
}
6272 dissect_its_AccelerationChangeIndication(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6273 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6274 ett_its_AccelerationChangeIndication
, its_AccelerationChangeIndication_sequence
);
6280 static const per_sequence_t its_ActionId_sequence
[] = {
6281 { &hf_its_originatingStationId
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_StationId
},
6282 { &hf_its_sequenceNumber
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_SequenceNumber
},
6283 { NULL
, 0, 0, NULL
}
6287 dissect_its_ActionId(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6288 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6289 ett_its_ActionId
, its_ActionId_sequence
);
6295 static const per_sequence_t its_ActionID_sequence
[] = {
6296 { &hf_its_originatingStationId_01
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_StationID
},
6297 { &hf_its_sequenceNumber
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_SequenceNumber
},
6298 { NULL
, 0, 0, NULL
}
6302 dissect_its_ActionID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6303 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6304 ett_its_ActionID
, its_ActionID_sequence
);
6310 static const per_sequence_t its_ActionIdList_sequence_of
[1] = {
6311 { &hf_its_ActionIdList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_ActionId
},
6315 dissect_its_ActionIdList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6316 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
6317 ett_its_ActionIdList
, its_ActionIdList_sequence_of
,
6324 static const per_sequence_t its_Altitude_sequence
[] = {
6325 { &hf_its_altitudeValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_AltitudeValue
},
6326 { &hf_its_altitudeConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_AltitudeConfidence
},
6327 { NULL
, 0, 0, NULL
}
6331 dissect_its_Altitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6332 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6333 ett_its_Altitude
, its_Altitude_sequence
);
6339 static const per_sequence_t its_PositionConfidenceEllipse_sequence
[] = {
6340 { &hf_its_semiMajorAxisLength_01
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_SemiAxisLength
},
6341 { &hf_its_semiMinorAxisLength_01
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_SemiAxisLength
},
6342 { &hf_its_semiMajorAxisOrientation
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Wgs84AngleValue
},
6343 { NULL
, 0, 0, NULL
}
6347 dissect_its_PositionConfidenceEllipse(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6348 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6349 ett_its_PositionConfidenceEllipse
, its_PositionConfidenceEllipse_sequence
);
6355 static const per_sequence_t its_ReferencePositionWithConfidence_sequence
[] = {
6356 { &hf_its_latitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Latitude
},
6357 { &hf_its_longitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Longitude
},
6358 { &hf_its_positionConfidenceEllipse_01
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_PositionConfidenceEllipse
},
6359 { &hf_its_altitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Altitude
},
6360 { NULL
, 0, 0, NULL
}
6364 dissect_its_ReferencePositionWithConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6365 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6366 ett_its_ReferencePositionWithConfidence
, its_ReferencePositionWithConfidence_sequence
);
6372 static const per_sequence_t its_BasicContainer_sequence
[] = {
6373 { &hf_its_stationType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_TrafficParticipantType
},
6374 { &hf_its_referencePosition
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_ReferencePositionWithConfidence
},
6375 { NULL
, 0, 0, NULL
}
6379 dissect_its_BasicContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6380 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6381 ett_its_BasicContainer
, its_BasicContainer_sequence
);
6387 static const per_sequence_t its_CartesianAngularVelocityComponent_sequence
[] = {
6388 { &hf_its_value_02
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianAngularVelocityComponentValue
},
6389 { &hf_its_confidence_02
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_AngularSpeedConfidence
},
6390 { NULL
, 0, 0, NULL
}
6394 dissect_its_CartesianAngularVelocityComponent(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6395 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6396 ett_its_CartesianAngularVelocityComponent
, its_CartesianAngularVelocityComponent_sequence
);
6402 static const per_sequence_t its_CartesianCoordinateWithConfidence_sequence
[] = {
6403 { &hf_its_value_03
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianCoordinateLarge
},
6404 { &hf_its_confidence_03
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CoordinateConfidence
},
6405 { NULL
, 0, 0, NULL
}
6409 dissect_its_CartesianCoordinateWithConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6410 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6411 ett_its_CartesianCoordinateWithConfidence
, its_CartesianCoordinateWithConfidence_sequence
);
6417 static const per_sequence_t its_CartesianPosition3d_sequence
[] = {
6418 { &hf_its_xCoordinate
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianCoordinate
},
6419 { &hf_its_yCoordinate
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianCoordinate
},
6420 { &hf_its_zCoordinate
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianCoordinate
},
6421 { NULL
, 0, 0, NULL
}
6425 dissect_its_CartesianPosition3d(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6426 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6427 ett_its_CartesianPosition3d
, its_CartesianPosition3d_sequence
);
6433 static const per_sequence_t its_CartesianPosition3dWithConfidence_sequence
[] = {
6434 { &hf_its_xCoordinate_01
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianCoordinateWithConfidence
},
6435 { &hf_its_yCoordinate_01
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianCoordinateWithConfidence
},
6436 { &hf_its_zCoordinate_01
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianCoordinateWithConfidence
},
6437 { NULL
, 0, 0, NULL
}
6441 dissect_its_CartesianPosition3dWithConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6442 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6443 ett_its_CartesianPosition3dWithConfidence
, its_CartesianPosition3dWithConfidence_sequence
);
6449 static const per_sequence_t its_CauseCode_sequence
[] = {
6450 { &hf_its_causeCode
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_CauseCodeType
},
6451 { &hf_its_subCauseCode
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_SubCauseCodeType
},
6452 { NULL
, 0, 0, NULL
}
6456 dissect_its_CauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6457 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6458 ett_its_CauseCode
, its_CauseCode_sequence
);
6464 static const value_string its_CauseCodeChoice_vals
[] = {
6466 { 1, "trafficCondition1" },
6468 { 3, "roadworks3" },
6470 { 5, "impassability5" },
6471 { 6, "adverseWeatherCondition-Adhesion6" },
6472 { 7, "aquaplaning7" },
6474 { 9, "hazardousLocation-SurfaceCondition9" },
6475 { 10, "hazardousLocation-ObstacleOnTheRoad10" },
6476 { 11, "hazardousLocation-AnimalOnTheRoad11" },
6477 { 12, "humanPresenceOnTheRoad12" },
6478 { 13, "reserved13" },
6479 { 14, "wrongWayDriving14" },
6480 { 15, "rescueAndRecoveryWorkInProgress15" },
6481 { 16, "reserved16" },
6482 { 17, "adverseWeatherCondition-ExtremeWeatherCondition17" },
6483 { 18, "adverseWeatherCondition-Visibility18" },
6484 { 19, "adverseWeatherCondition-Precipitation19" },
6485 { 20, "violence20" },
6486 { 21, "reserved21" },
6487 { 22, "reserved22" },
6488 { 23, "reserved23" },
6489 { 24, "reserved24" },
6490 { 25, "reserved25" },
6491 { 26, "slowVehicle26" },
6492 { 27, "dangerousEndOfQueue27" },
6493 { 28, "publicTransportVehicleApproaching28" },
6494 { 29, "reserved29" },
6495 { 30, "reserved30" },
6496 { 31, "reserved31" },
6497 { 32, "reserved32" },
6498 { 33, "reserved33" },
6499 { 34, "reserved34" },
6500 { 35, "reserved35" },
6501 { 36, "reserved36" },
6502 { 37, "reserved37" },
6503 { 38, "reserved38" },
6504 { 39, "reserved39" },
6505 { 40, "reserved40" },
6506 { 41, "reserved41" },
6507 { 42, "reserved42" },
6508 { 43, "reserved43" },
6509 { 44, "reserved44" },
6510 { 45, "reserved45" },
6511 { 46, "reserved46" },
6512 { 47, "reserved47" },
6513 { 48, "reserved48" },
6514 { 49, "reserved49" },
6515 { 50, "reserved50" },
6516 { 51, "reserved51" },
6517 { 52, "reserved52" },
6518 { 53, "reserved53" },
6519 { 54, "reserved54" },
6520 { 55, "reserved55" },
6521 { 56, "reserved56" },
6522 { 57, "reserved57" },
6523 { 58, "reserved58" },
6524 { 59, "reserved59" },
6525 { 60, "reserved60" },
6526 { 61, "reserved61" },
6527 { 62, "reserved62" },
6528 { 63, "reserved63" },
6529 { 64, "reserved64" },
6530 { 65, "reserved65" },
6531 { 66, "reserved66" },
6532 { 67, "reserved67" },
6533 { 68, "reserved68" },
6534 { 69, "reserved69" },
6535 { 70, "reserved70" },
6536 { 71, "reserved71" },
6537 { 72, "reserved72" },
6538 { 73, "reserved73" },
6539 { 74, "reserved74" },
6540 { 75, "reserved75" },
6541 { 76, "reserved76" },
6542 { 77, "reserved77" },
6543 { 78, "reserved78" },
6544 { 79, "reserved79" },
6545 { 80, "reserved80" },
6546 { 81, "reserved81" },
6547 { 82, "reserved82" },
6548 { 83, "reserved83" },
6549 { 84, "reserved84" },
6550 { 85, "reserved85" },
6551 { 86, "reserved86" },
6552 { 87, "reserved87" },
6553 { 88, "reserved88" },
6554 { 89, "reserved89" },
6555 { 90, "reserved90" },
6556 { 91, "vehicleBreakdown91" },
6557 { 92, "postCrash92" },
6558 { 93, "humanProblem93" },
6559 { 94, "stationaryVehicle94" },
6560 { 95, "emergencyVehicleApproaching95" },
6561 { 96, "hazardousLocation-DangerousCurve96" },
6562 { 97, "collisionRisk97" },
6563 { 98, "signalViolation98" },
6564 { 99, "dangerousSituation99" },
6565 { 100, "railwayLevelCrossing100" },
6566 { 101, "reserved101" },
6567 { 102, "reserved102" },
6568 { 103, "reserved103" },
6569 { 104, "reserved104" },
6570 { 105, "reserved105" },
6571 { 106, "reserved106" },
6572 { 107, "reserved107" },
6573 { 108, "reserved108" },
6574 { 109, "reserved109" },
6575 { 110, "reserved110" },
6576 { 111, "reserved111" },
6577 { 112, "reserved112" },
6578 { 113, "reserved113" },
6579 { 114, "reserved114" },
6580 { 115, "reserved115" },
6581 { 116, "reserved116" },
6582 { 117, "reserved117" },
6583 { 118, "reserved118" },
6584 { 119, "reserved119" },
6585 { 120, "reserved120" },
6586 { 121, "reserved121" },
6587 { 122, "reserved122" },
6588 { 123, "reserved123" },
6589 { 124, "reserved124" },
6590 { 125, "reserved125" },
6591 { 126, "reserved126" },
6592 { 127, "reserved127" },
6593 { 128, "reserved128" },
6597 static const per_choice_t its_CauseCodeChoice_choice
[] = {
6598 { 0, &hf_its_reserved0
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6599 { 1, &hf_its_trafficCondition1
, ASN1_NO_EXTENSIONS
, dissect_its_TrafficConditionSubCauseCode
},
6600 { 2, &hf_its_accident2
, ASN1_NO_EXTENSIONS
, dissect_its_AccidentSubCauseCode
},
6601 { 3, &hf_its_roadworks3
, ASN1_NO_EXTENSIONS
, dissect_its_RoadworksSubCauseCode
},
6602 { 4, &hf_its_reserved4
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6603 { 5, &hf_its_impassability5
, ASN1_NO_EXTENSIONS
, dissect_its_ImpassabilitySubCauseCode
},
6604 { 6, &hf_its_adverseWeatherCondition_Adhesion6
, ASN1_NO_EXTENSIONS
, dissect_its_AdverseWeatherCondition_AdhesionSubCauseCode
},
6605 { 7, &hf_its_aquaplaning7
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6606 { 8, &hf_its_reserved8
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6607 { 9, &hf_its_hazardousLocation_SurfaceCondition9
, ASN1_NO_EXTENSIONS
, dissect_its_HazardousLocation_SurfaceConditionSubCauseCode
},
6608 { 10, &hf_its_hazardousLocation_ObstacleOnTheRoad10
, ASN1_NO_EXTENSIONS
, dissect_its_HazardousLocation_ObstacleOnTheRoadSubCauseCode
},
6609 { 11, &hf_its_hazardousLocation_AnimalOnTheRoad11
, ASN1_NO_EXTENSIONS
, dissect_its_HazardousLocation_AnimalOnTheRoadSubCauseCode
},
6610 { 12, &hf_its_humanPresenceOnTheRoad12
, ASN1_NO_EXTENSIONS
, dissect_its_HumanPresenceOnTheRoadSubCauseCode
},
6611 { 13, &hf_its_reserved13
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6612 { 14, &hf_its_wrongWayDriving14
, ASN1_NO_EXTENSIONS
, dissect_its_WrongWayDrivingSubCauseCode
},
6613 { 15, &hf_its_rescueAndRecoveryWorkInProgress15
, ASN1_NO_EXTENSIONS
, dissect_its_RescueAndRecoveryWorkInProgressSubCauseCode
},
6614 { 16, &hf_its_reserved16
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6615 { 17, &hf_its_adverseWeatherCondition_ExtremeWeatherCondition17
, ASN1_NO_EXTENSIONS
, dissect_its_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode
},
6616 { 18, &hf_its_adverseWeatherCondition_Visibility18
, ASN1_NO_EXTENSIONS
, dissect_its_AdverseWeatherCondition_VisibilitySubCauseCode
},
6617 { 19, &hf_its_adverseWeatherCondition_Precipitation19
, ASN1_NO_EXTENSIONS
, dissect_its_AdverseWeatherCondition_PrecipitationSubCauseCode
},
6618 { 20, &hf_its_violence20
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6619 { 21, &hf_its_reserved21
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6620 { 22, &hf_its_reserved22
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6621 { 23, &hf_its_reserved23
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6622 { 24, &hf_its_reserved24
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6623 { 25, &hf_its_reserved25
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6624 { 26, &hf_its_slowVehicle26
, ASN1_NO_EXTENSIONS
, dissect_its_SlowVehicleSubCauseCode
},
6625 { 27, &hf_its_dangerousEndOfQueue27
, ASN1_NO_EXTENSIONS
, dissect_its_DangerousEndOfQueueSubCauseCode
},
6626 { 28, &hf_its_publicTransportVehicleApproaching28
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6627 { 29, &hf_its_reserved29
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6628 { 30, &hf_its_reserved30
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6629 { 31, &hf_its_reserved31
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6630 { 32, &hf_its_reserved32
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6631 { 33, &hf_its_reserved33
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6632 { 34, &hf_its_reserved34
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6633 { 35, &hf_its_reserved35
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6634 { 36, &hf_its_reserved36
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6635 { 37, &hf_its_reserved37
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6636 { 38, &hf_its_reserved38
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6637 { 39, &hf_its_reserved39
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6638 { 40, &hf_its_reserved40
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6639 { 41, &hf_its_reserved41
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6640 { 42, &hf_its_reserved42
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6641 { 43, &hf_its_reserved43
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6642 { 44, &hf_its_reserved44
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6643 { 45, &hf_its_reserved45
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6644 { 46, &hf_its_reserved46
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6645 { 47, &hf_its_reserved47
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6646 { 48, &hf_its_reserved48
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6647 { 49, &hf_its_reserved49
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6648 { 50, &hf_its_reserved50
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6649 { 51, &hf_its_reserved51
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6650 { 52, &hf_its_reserved52
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6651 { 53, &hf_its_reserved53
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6652 { 54, &hf_its_reserved54
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6653 { 55, &hf_its_reserved55
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6654 { 56, &hf_its_reserved56
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6655 { 57, &hf_its_reserved57
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6656 { 58, &hf_its_reserved58
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6657 { 59, &hf_its_reserved59
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6658 { 60, &hf_its_reserved60
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6659 { 61, &hf_its_reserved61
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6660 { 62, &hf_its_reserved62
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6661 { 63, &hf_its_reserved63
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6662 { 64, &hf_its_reserved64
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6663 { 65, &hf_its_reserved65
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6664 { 66, &hf_its_reserved66
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6665 { 67, &hf_its_reserved67
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6666 { 68, &hf_its_reserved68
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6667 { 69, &hf_its_reserved69
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6668 { 70, &hf_its_reserved70
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6669 { 71, &hf_its_reserved71
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6670 { 72, &hf_its_reserved72
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6671 { 73, &hf_its_reserved73
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6672 { 74, &hf_its_reserved74
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6673 { 75, &hf_its_reserved75
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6674 { 76, &hf_its_reserved76
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6675 { 77, &hf_its_reserved77
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6676 { 78, &hf_its_reserved78
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6677 { 79, &hf_its_reserved79
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6678 { 80, &hf_its_reserved80
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6679 { 81, &hf_its_reserved81
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6680 { 82, &hf_its_reserved82
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6681 { 83, &hf_its_reserved83
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6682 { 84, &hf_its_reserved84
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6683 { 85, &hf_its_reserved85
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6684 { 86, &hf_its_reserved86
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6685 { 87, &hf_its_reserved87
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6686 { 88, &hf_its_reserved88
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6687 { 89, &hf_its_reserved89
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6688 { 90, &hf_its_reserved90
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6689 { 91, &hf_its_vehicleBreakdown91
, ASN1_NO_EXTENSIONS
, dissect_its_VehicleBreakdownSubCauseCode
},
6690 { 92, &hf_its_postCrash92
, ASN1_NO_EXTENSIONS
, dissect_its_PostCrashSubCauseCode
},
6691 { 93, &hf_its_humanProblem93
, ASN1_NO_EXTENSIONS
, dissect_its_HumanProblemSubCauseCode
},
6692 { 94, &hf_its_stationaryVehicle94
, ASN1_NO_EXTENSIONS
, dissect_its_StationaryVehicleSubCauseCode
},
6693 { 95, &hf_its_emergencyVehicleApproaching95
, ASN1_NO_EXTENSIONS
, dissect_its_EmergencyVehicleApproachingSubCauseCode
},
6694 { 96, &hf_its_hazardousLocation_DangerousCurve96
, ASN1_NO_EXTENSIONS
, dissect_its_HazardousLocation_DangerousCurveSubCauseCode
},
6695 { 97, &hf_its_collisionRisk97
, ASN1_NO_EXTENSIONS
, dissect_its_CollisionRiskSubCauseCode
},
6696 { 98, &hf_its_signalViolation98
, ASN1_NO_EXTENSIONS
, dissect_its_SignalViolationSubCauseCode
},
6697 { 99, &hf_its_dangerousSituation99
, ASN1_NO_EXTENSIONS
, dissect_its_DangerousSituationSubCauseCode
},
6698 { 100, &hf_its_railwayLevelCrossing100
, ASN1_NO_EXTENSIONS
, dissect_its_RailwayLevelCrossingSubCauseCode
},
6699 { 101, &hf_its_reserved101
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6700 { 102, &hf_its_reserved102
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6701 { 103, &hf_its_reserved103
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6702 { 104, &hf_its_reserved104
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6703 { 105, &hf_its_reserved105
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6704 { 106, &hf_its_reserved106
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6705 { 107, &hf_its_reserved107
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6706 { 108, &hf_its_reserved108
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6707 { 109, &hf_its_reserved109
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6708 { 110, &hf_its_reserved110
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6709 { 111, &hf_its_reserved111
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6710 { 112, &hf_its_reserved112
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6711 { 113, &hf_its_reserved113
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6712 { 114, &hf_its_reserved114
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6713 { 115, &hf_its_reserved115
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6714 { 116, &hf_its_reserved116
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6715 { 117, &hf_its_reserved117
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6716 { 118, &hf_its_reserved118
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6717 { 119, &hf_its_reserved119
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6718 { 120, &hf_its_reserved120
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6719 { 121, &hf_its_reserved121
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6720 { 122, &hf_its_reserved122
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6721 { 123, &hf_its_reserved123
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6722 { 124, &hf_its_reserved124
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6723 { 125, &hf_its_reserved125
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6724 { 126, &hf_its_reserved126
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6725 { 127, &hf_its_reserved127
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6726 { 128, &hf_its_reserved128
, ASN1_NO_EXTENSIONS
, dissect_its_SubCauseCodeType
},
6727 { 0, NULL
, 0, NULL
}
6731 dissect_its_CauseCodeChoice(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6732 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
6733 ett_its_CauseCodeChoice
, its_CauseCodeChoice_choice
,
6740 static const per_sequence_t its_CauseCodeV2_sequence
[] = {
6741 { &hf_its_ccAndScc
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_CauseCodeChoice
},
6742 { NULL
, 0, 0, NULL
}
6746 dissect_its_CauseCodeV2(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6747 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6748 ett_its_CauseCodeV2
, its_CauseCodeV2_sequence
);
6754 static const per_sequence_t its_CenDsrcTollingZone_sequence
[] = {
6755 { &hf_its_protectedZoneLatitude
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Latitude
},
6756 { &hf_its_protectedZoneLongitude
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Longitude
},
6757 { &hf_its_cenDsrcTollingZoneId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ProtectedZoneId
},
6758 { NULL
, 0, 0, NULL
}
6762 dissect_its_CenDsrcTollingZone(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6763 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6764 ett_its_CenDsrcTollingZone
, its_CenDsrcTollingZone_sequence
);
6770 static const per_sequence_t its_CircularShape_sequence
[] = {
6771 { &hf_its_shapeReferencePoint
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianPosition3d
},
6772 { &hf_its_radius
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_StandardLength12b
},
6773 { &hf_its_height
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_StandardLength12b
},
6774 { NULL
, 0, 0, NULL
}
6778 dissect_its_CircularShape(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6779 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6780 ett_its_CircularShape
, its_CircularShape_sequence
);
6786 static const per_sequence_t its_ClosedLanes_sequence
[] = {
6787 { &hf_its_innerhardShoulderStatus
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_HardShoulderStatus
},
6788 { &hf_its_outerhardShoulderStatus
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_HardShoulderStatus
},
6789 { &hf_its_drivingLaneStatus
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_DrivingLaneStatus
},
6790 { NULL
, 0, 0, NULL
}
6794 dissect_its_ClosedLanes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6795 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6796 ett_its_ClosedLanes
, its_ClosedLanes_sequence
);
6802 static const per_sequence_t its_ClusterBreakupInfo_sequence
[] = {
6803 { &hf_its_clusterBreakupReason
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_ClusterBreakupReason
},
6804 { &hf_its_breakupTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaTimeQuarterSecond
},
6805 { NULL
, 0, 0, NULL
}
6809 dissect_its_ClusterBreakupInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6810 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6811 ett_its_ClusterBreakupInfo
, its_ClusterBreakupInfo_sequence
);
6817 static const per_sequence_t its_ClusterJoinInfo_sequence
[] = {
6818 { &hf_its_clusterId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Identifier1B
},
6819 { &hf_its_joinTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaTimeQuarterSecond
},
6820 { NULL
, 0, 0, NULL
}
6824 dissect_its_ClusterJoinInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6825 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6826 ett_its_ClusterJoinInfo
, its_ClusterJoinInfo_sequence
);
6832 static const per_sequence_t its_ClusterLeaveInfo_sequence
[] = {
6833 { &hf_its_clusterId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Identifier1B
},
6834 { &hf_its_clusterLeaveReason
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_ClusterLeaveReason
},
6835 { NULL
, 0, 0, NULL
}
6839 dissect_its_ClusterLeaveInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6840 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6841 ett_its_ClusterLeaveInfo
, its_ClusterLeaveInfo_sequence
);
6847 static const per_sequence_t its_CorrelationColumn_sequence_of
[1] = {
6848 { &hf_its_CorrelationColumn_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CorrelationCellValue
},
6852 dissect_its_CorrelationColumn(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6853 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
6854 ett_its_CorrelationColumn
, its_CorrelationColumn_sequence_of
,
6861 static const per_sequence_t its_Curvature_sequence
[] = {
6862 { &hf_its_curvatureValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CurvatureValue
},
6863 { &hf_its_curvatureConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CurvatureConfidence
},
6864 { NULL
, 0, 0, NULL
}
6868 dissect_its_Curvature(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6869 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6870 ett_its_Curvature
, its_Curvature_sequence
);
6878 dissect_its_INTEGER_0_9999(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6879 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
6880 0U, 9999U, NULL
, false);
6888 dissect_its_BOOLEAN(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6889 offset
= dissect_per_boolean(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
6897 dissect_its_IA5String_SIZE_1_24(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6898 offset
= dissect_per_IA5String(tvb
, offset
, actx
, tree
, hf_index
,
6908 dissect_its_UTF8String_SIZE_1_24(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6909 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
6916 static const per_sequence_t its_DangerousGoodsExtended_sequence
[] = {
6917 { &hf_its_dangerousGoodsType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_DangerousGoodsBasic
},
6918 { &hf_its_unNumber
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_INTEGER_0_9999
},
6919 { &hf_its_elevatedTemperature
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_BOOLEAN
},
6920 { &hf_its_tunnelsRestricted
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_BOOLEAN
},
6921 { &hf_its_limitedQuantity
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_BOOLEAN
},
6922 { &hf_its_emergencyActionCode
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_IA5String_SIZE_1_24
},
6923 { &hf_its_phoneNumber
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_PhoneNumber
},
6924 { &hf_its_companyName
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_UTF8String_SIZE_1_24
},
6925 { NULL
, 0, 0, NULL
}
6929 dissect_its_DangerousGoodsExtended(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6930 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6931 ett_its_DangerousGoodsExtended
, its_DangerousGoodsExtended_sequence
);
6937 static const per_sequence_t its_DeltaReferencePosition_sequence
[] = {
6938 { &hf_its_deltaLatitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaLatitude
},
6939 { &hf_its_deltaLongitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaLongitude
},
6940 { &hf_its_deltaAltitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaAltitude
},
6941 { NULL
, 0, 0, NULL
}
6945 dissect_its_DeltaReferencePosition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6946 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6947 ett_its_DeltaReferencePosition
, its_DeltaReferencePosition_sequence
);
6953 static const per_sequence_t its_PosConfidenceEllipse_sequence
[] = {
6954 { &hf_its_semiMajorConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_SemiAxisLength
},
6955 { &hf_its_semiMinorConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_SemiAxisLength
},
6956 { &hf_its_semiMajorOrientation
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_HeadingValue
},
6957 { NULL
, 0, 0, NULL
}
6961 dissect_its_PosConfidenceEllipse(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6962 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6963 ett_its_PosConfidenceEllipse
, its_PosConfidenceEllipse_sequence
);
6969 static const per_sequence_t its_ReferencePosition_sequence
[] = {
6970 { &hf_its_latitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Latitude
},
6971 { &hf_its_longitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Longitude
},
6972 { &hf_its_positionConfidenceEllipse
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_PosConfidenceEllipse
},
6973 { &hf_its_altitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Altitude
},
6974 { NULL
, 0, 0, NULL
}
6978 dissect_its_ReferencePosition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6979 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
6980 ett_its_ReferencePosition
, its_ReferencePosition_sequence
);
6986 static const per_sequence_t its_DigitalMap_sequence_of
[1] = {
6987 { &hf_its_DigitalMap_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_ReferencePosition
},
6991 dissect_its_DigitalMap(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6992 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
6993 ett_its_DigitalMap
, its_DigitalMap_sequence_of
,
7000 static const per_sequence_t its_EllipticalShape_sequence
[] = {
7001 { &hf_its_shapeReferencePoint
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianPosition3d
},
7002 { &hf_its_semiMajorAxisLength
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_StandardLength12b
},
7003 { &hf_its_semiMinorAxisLength
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_StandardLength12b
},
7004 { &hf_its_orientation
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianAngleValue
},
7005 { &hf_its_height
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_StandardLength12b
},
7006 { NULL
, 0, 0, NULL
}
7010 dissect_its_EllipticalShape(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7011 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7012 ett_its_EllipticalShape
, its_EllipticalShape_sequence
);
7018 static const per_sequence_t its_EulerAnglesWithConfidence_sequence
[] = {
7019 { &hf_its_zAngle
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianAngle
},
7020 { &hf_its_yAngle
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianAngle
},
7021 { &hf_its_xAngle
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianAngle
},
7022 { NULL
, 0, 0, NULL
}
7026 dissect_its_EulerAnglesWithConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7027 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7028 ett_its_EulerAnglesWithConfidence
, its_EulerAnglesWithConfidence_sequence
);
7036 dissect_its_NULL(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7037 offset
= dissect_per_null(tvb
, offset
, actx
, tree
, hf_index
);
7043 static const value_string its_EuVehicleCategoryCode_vals
[] = {
7044 { 0, "euVehicleCategoryL" },
7045 { 1, "euVehicleCategoryM" },
7046 { 2, "euVehicleCategoryN" },
7047 { 3, "euVehicleCategoryO" },
7048 { 4, "euVehicleCategoryT" },
7049 { 5, "euVehicleCategoryG" },
7053 static const per_choice_t its_EuVehicleCategoryCode_choice
[] = {
7054 { 0, &hf_its_euVehicleCategoryL
, ASN1_NO_EXTENSIONS
, dissect_its_EuVehicleCategoryL
},
7055 { 1, &hf_its_euVehicleCategoryM
, ASN1_NO_EXTENSIONS
, dissect_its_EuVehicleCategoryM
},
7056 { 2, &hf_its_euVehicleCategoryN
, ASN1_NO_EXTENSIONS
, dissect_its_EuVehicleCategoryN
},
7057 { 3, &hf_its_euVehicleCategoryO
, ASN1_NO_EXTENSIONS
, dissect_its_EuVehicleCategoryO
},
7058 { 4, &hf_its_euVehicleCategoryT
, ASN1_NO_EXTENSIONS
, dissect_its_NULL
},
7059 { 5, &hf_its_euVehicleCategoryG
, ASN1_NO_EXTENSIONS
, dissect_its_NULL
},
7060 { 0, NULL
, 0, NULL
}
7064 dissect_its_EuVehicleCategoryCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7065 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
7066 ett_its_EuVehicleCategoryCode
, its_EuVehicleCategoryCode_choice
,
7073 static const per_sequence_t its_EventPoint_sequence
[] = {
7074 { &hf_its_eventPosition
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaReferencePosition
},
7075 { &hf_its_eventDeltaTime
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_PathDeltaTime
},
7076 { &hf_its_informationQuality
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_InformationQuality
},
7077 { NULL
, 0, 0, NULL
}
7081 dissect_its_EventPoint(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7082 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7083 ett_its_EventPoint
, its_EventPoint_sequence
);
7089 static const per_sequence_t its_EventHistory_sequence_of
[1] = {
7090 { &hf_its_EventHistory_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_EventPoint
},
7094 dissect_its_EventHistory(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7095 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7096 ett_its_EventHistory
, its_EventHistory_sequence_of
,
7105 dissect_its_EventZone(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7106 offset
= dissect_its_EventHistory(tvb
, offset
, actx
, tree
, hf_index
);
7112 static const per_sequence_t its_LanePositionAndType_sequence
[] = {
7113 { &hf_its_transversalPosition
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_LanePosition
},
7114 { &hf_its_laneType
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_LaneType
},
7115 { &hf_its_direction_01
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Direction
},
7116 { NULL
, 0, 0, NULL
}
7120 dissect_its_LanePositionAndType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7121 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7122 ett_its_LanePositionAndType
, its_LanePositionAndType_sequence
);
7128 static const per_sequence_t its_LanePositionWithLateralDetails_sequence
[] = {
7129 { &hf_its_transversalPosition
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_LanePosition
},
7130 { &hf_its_laneType
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_LaneType
},
7131 { &hf_its_direction_01
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Direction
},
7132 { &hf_its_distanceToLeftBorder
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_StandardLength9b
},
7133 { &hf_its_distanceToRightBorder
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_StandardLength9b
},
7134 { NULL
, 0, 0, NULL
}
7138 dissect_its_LanePositionWithLateralDetails(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7139 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7140 ett_its_LanePositionWithLateralDetails
, its_LanePositionWithLateralDetails_sequence
);
7146 static const per_sequence_t its_TrafficIslandPosition_sequence
[] = {
7147 { &hf_its_oneSide
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_LanePositionAndType
},
7148 { &hf_its_otherSide
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_LanePositionAndType
},
7149 { NULL
, 0, 0, NULL
}
7153 dissect_its_TrafficIslandPosition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7154 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7155 ett_its_TrafficIslandPosition
, its_TrafficIslandPosition_sequence
);
7161 static const value_string its_LanePositionOptions_vals
[] = {
7162 { 0, "simplelanePosition" },
7163 { 1, "simpleLaneType" },
7164 { 2, "detailedlanePosition" },
7165 { 3, "lanePositionWithLateralDetails" },
7166 { 4, "trafficIslandPosition" },
7170 static const per_choice_t its_LanePositionOptions_choice
[] = {
7171 { 0, &hf_its_simplelanePosition
, ASN1_EXTENSION_ROOT
, dissect_its_LanePosition
},
7172 { 1, &hf_its_simpleLaneType
, ASN1_EXTENSION_ROOT
, dissect_its_LaneType
},
7173 { 2, &hf_its_detailedlanePosition
, ASN1_EXTENSION_ROOT
, dissect_its_LanePositionAndType
},
7174 { 3, &hf_its_lanePositionWithLateralDetails
, ASN1_EXTENSION_ROOT
, dissect_its_LanePositionWithLateralDetails
},
7175 { 4, &hf_its_trafficIslandPosition
, ASN1_EXTENSION_ROOT
, dissect_its_TrafficIslandPosition
},
7176 { 0, NULL
, 0, NULL
}
7180 dissect_its_LanePositionOptions(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7181 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
7182 ett_its_LanePositionOptions
, its_LanePositionOptions_choice
,
7189 static const per_sequence_t its_RoadSegmentReferenceId_sequence
[] = {
7190 { &hf_its_region
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_Identifier2B
},
7191 { &hf_its_id
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Identifier2B
},
7192 { NULL
, 0, 0, NULL
}
7196 dissect_its_RoadSegmentReferenceId(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7197 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7198 ett_its_RoadSegmentReferenceId
, its_RoadSegmentReferenceId_sequence
);
7204 static const per_sequence_t its_IntersectionReferenceId_sequence
[] = {
7205 { &hf_its_region
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_Identifier2B
},
7206 { &hf_its_id
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Identifier2B
},
7207 { NULL
, 0, 0, NULL
}
7211 dissect_its_IntersectionReferenceId(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7212 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7213 ett_its_IntersectionReferenceId
, its_IntersectionReferenceId_sequence
);
7219 static const value_string its_MapReference_vals
[] = {
7220 { 0, "roadsegment" },
7221 { 1, "intersection" },
7225 static const per_choice_t its_MapReference_choice
[] = {
7226 { 0, &hf_its_roadsegment
, ASN1_NO_EXTENSIONS
, dissect_its_RoadSegmentReferenceId
},
7227 { 1, &hf_its_intersection
, ASN1_NO_EXTENSIONS
, dissect_its_IntersectionReferenceId
},
7228 { 0, NULL
, 0, NULL
}
7232 dissect_its_MapReference(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7233 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
7234 ett_its_MapReference
, its_MapReference_choice
,
7241 static const per_sequence_t its_LongitudinalLanePosition_sequence
[] = {
7242 { &hf_its_longitudinalLanePositionValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_LongitudinalLanePositionValue
},
7243 { &hf_its_longitudinalLanePositionConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_LongitudinalLanePositionConfidence
},
7244 { NULL
, 0, 0, NULL
}
7248 dissect_its_LongitudinalLanePosition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7249 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7250 ett_its_LongitudinalLanePosition
, its_LongitudinalLanePosition_sequence
);
7256 static const per_sequence_t its_MapPosition_sequence
[] = {
7257 { &hf_its_mapReference
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_MapReference
},
7258 { &hf_its_laneId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Identifier1B
},
7259 { &hf_its_connectionId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Identifier1B
},
7260 { &hf_its_longitudinalLanePosition
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_LongitudinalLanePosition
},
7261 { NULL
, 0, 0, NULL
}
7265 dissect_its_MapPosition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7266 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7267 ett_its_MapPosition
, its_MapPosition_sequence
);
7273 static const per_sequence_t its_MetaInformation_sequence
[] = {
7274 { &hf_its_usedDetectionInformation
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_SensorTypes
},
7275 { &hf_its_usedStoredInformation
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_StoredInformationType
},
7276 { &hf_its_confidenceValue
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ConfidenceLevel
},
7277 { NULL
, 0, 0, NULL
}
7281 dissect_its_MetaInformation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7282 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7283 ett_its_MetaInformation
, its_MetaInformation_sequence
);
7289 static const per_sequence_t its_GeneralizedLanePosition_sequence
[] = {
7290 { &hf_its_lanePositionBased
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_LanePositionOptions
},
7291 { &hf_its_mapBased
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_MapPosition
},
7292 { &hf_its_confidence_04
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_MetaInformation
},
7293 { NULL
, 0, 0, NULL
}
7297 dissect_its_GeneralizedLanePosition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7298 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7299 ett_its_GeneralizedLanePosition
, its_GeneralizedLanePosition_sequence
);
7305 static const per_sequence_t its_Heading_sequence
[] = {
7306 { &hf_its_headingValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_HeadingValue
},
7307 { &hf_its_headingConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_HeadingConfidence
},
7308 { NULL
, 0, 0, NULL
}
7312 dissect_its_Heading(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7313 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7314 ett_its_Heading
, its_Heading_sequence
);
7320 static const per_sequence_t its_HeadingChangeIndication_sequence
[] = {
7321 { &hf_its_direction
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_TurningDirection
},
7322 { &hf_its_actionDeltaTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaTimeTenthOfSecond
},
7323 { NULL
, 0, 0, NULL
}
7327 dissect_its_HeadingChangeIndication(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7328 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7329 ett_its_HeadingChangeIndication
, its_HeadingChangeIndication_sequence
);
7337 dissect_its_INTEGER_1_99999(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7338 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
7339 1U, 99999U, NULL
, false);
7347 dissect_its_INTEGER_0_15(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7348 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
7349 0U, 15U, NULL
, false);
7355 static const per_sequence_t its_InterferenceManagementChannel_sequence
[] = {
7356 { &hf_its_centreFrequency
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_INTEGER_1_99999
},
7357 { &hf_its_channelWidth
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_INTEGER_0_9999
},
7358 { &hf_its_exponent
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_INTEGER_0_15
},
7359 { NULL
, 0, 0, NULL
}
7363 dissect_its_InterferenceManagementChannel(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7364 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7365 ett_its_InterferenceManagementChannel
, its_InterferenceManagementChannel_sequence
);
7371 static const per_sequence_t its_RectangularShape_sequence
[] = {
7372 { &hf_its_shapeReferencePoint
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianPosition3d
},
7373 { &hf_its_semiLength
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_StandardLength12b
},
7374 { &hf_its_semiBreadth
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_StandardLength12b
},
7375 { &hf_its_orientation
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianAngleValue
},
7376 { &hf_its_height
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_StandardLength12b
},
7377 { NULL
, 0, 0, NULL
}
7381 dissect_its_RectangularShape(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7382 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7383 ett_its_RectangularShape
, its_RectangularShape_sequence
);
7389 static const per_sequence_t its_SequenceOfCartesianPosition3d_sequence_of
[1] = {
7390 { &hf_its_SequenceOfCartesianPosition3d_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianPosition3d
},
7394 dissect_its_SequenceOfCartesianPosition3d(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7395 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7396 ett_its_SequenceOfCartesianPosition3d
, its_SequenceOfCartesianPosition3d_sequence_of
,
7405 dissect_its_SequenceOfCartesianPosition3d_SIZE_3_16_(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7406 offset
= dissect_per_size_constrained_type(tvb
, offset
, actx
, tree
, hf_index
, dissect_its_SequenceOfCartesianPosition3d
,
7407 "SequenceOfCartesianPosition3d", 3, 16, true);
7413 static const per_sequence_t its_PolygonalShape_sequence
[] = {
7414 { &hf_its_shapeReferencePoint
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianPosition3d
},
7415 { &hf_its_polygon
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_SequenceOfCartesianPosition3d_SIZE_3_16_
},
7416 { &hf_its_height
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_StandardLength12b
},
7417 { NULL
, 0, 0, NULL
}
7421 dissect_its_PolygonalShape(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7422 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7423 ett_its_PolygonalShape
, its_PolygonalShape_sequence
);
7429 static const per_sequence_t its_RadialShape_sequence
[] = {
7430 { &hf_its_shapeReferencePoint
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianPosition3d
},
7431 { &hf_its_range
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_StandardLength12b
},
7432 { &hf_its_horizontalOpeningAngleStart
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianAngleValue
},
7433 { &hf_its_horizontalOpeningAngleEnd
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianAngleValue
},
7434 { &hf_its_verticalOpeningAngleStart
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianAngleValue
},
7435 { &hf_its_verticalOpeningAngleEnd
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianAngleValue
},
7436 { NULL
, 0, 0, NULL
}
7440 dissect_its_RadialShape(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7441 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7442 ett_its_RadialShape
, its_RadialShape_sequence
);
7448 static const per_sequence_t its_RadialShapeDetails_sequence
[] = {
7449 { &hf_its_range
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_StandardLength12b
},
7450 { &hf_its_horizontalOpeningAngleStart
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianAngleValue
},
7451 { &hf_its_horizontalOpeningAngleEnd
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianAngleValue
},
7452 { &hf_its_verticalOpeningAngleStart
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianAngleValue
},
7453 { &hf_its_verticalOpeningAngleEnd
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianAngleValue
},
7454 { NULL
, 0, 0, NULL
}
7458 dissect_its_RadialShapeDetails(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7459 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7460 ett_its_RadialShapeDetails
, its_RadialShapeDetails_sequence
);
7466 static const per_sequence_t its_RadialShapesList_sequence_of
[1] = {
7467 { &hf_its_RadialShapesList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_RadialShapeDetails
},
7471 dissect_its_RadialShapesList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7472 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7473 ett_its_RadialShapesList
, its_RadialShapesList_sequence_of
,
7480 static const per_sequence_t its_RadialShapes_sequence
[] = {
7481 { &hf_its_refPointId
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Identifier1B
},
7482 { &hf_its_xCoordinate_02
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianCoordinateSmall
},
7483 { &hf_its_yCoordinate_02
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianCoordinateSmall
},
7484 { &hf_its_zCoordinate_02
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CartesianCoordinateSmall
},
7485 { &hf_its_radialShapesList
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_RadialShapesList
},
7486 { NULL
, 0, 0, NULL
}
7490 dissect_its_RadialShapes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7491 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7492 ett_its_RadialShapes
, its_RadialShapes_sequence
);
7498 static const value_string its_Shape_vals
[] = {
7499 { 0, "rectangular" },
7502 { 3, "elliptical" },
7504 { 5, "radialShapes" },
7508 static const per_choice_t its_Shape_choice
[] = {
7509 { 0, &hf_its_rectangular
, ASN1_EXTENSION_ROOT
, dissect_its_RectangularShape
},
7510 { 1, &hf_its_circular
, ASN1_EXTENSION_ROOT
, dissect_its_CircularShape
},
7511 { 2, &hf_its_polygonal
, ASN1_EXTENSION_ROOT
, dissect_its_PolygonalShape
},
7512 { 3, &hf_its_elliptical
, ASN1_EXTENSION_ROOT
, dissect_its_EllipticalShape
},
7513 { 4, &hf_its_radial
, ASN1_EXTENSION_ROOT
, dissect_its_RadialShape
},
7514 { 5, &hf_its_radialShapes
, ASN1_EXTENSION_ROOT
, dissect_its_RadialShapes
},
7515 { 0, NULL
, 0, NULL
}
7519 dissect_its_Shape(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7520 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
7521 ett_its_Shape
, its_Shape_choice
,
7528 static const per_sequence_t its_InterferenceManagementZoneDefinition_sequence
[] = {
7529 { &hf_its_interferenceManagementZoneLatitude
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Latitude
},
7530 { &hf_its_interferenceManagementZoneLongitude
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Longitude
},
7531 { &hf_its_interferenceManagementZoneId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ProtectedZoneId
},
7532 { &hf_its_interferenceManagementZoneShape
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Shape
},
7533 { NULL
, 0, 0, NULL
}
7537 dissect_its_InterferenceManagementZoneDefinition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7538 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7539 ett_its_InterferenceManagementZoneDefinition
, its_InterferenceManagementZoneDefinition_sequence
);
7547 dissect_its_INTEGER_0_10000(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7548 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
7549 0U, 10000U, NULL
, false);
7557 dissect_its_INTEGER_0_30(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7558 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
7559 0U, 30U, NULL
, false);
7567 dissect_its_INTEGER_0_1200(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7568 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
7569 0U, 1200U, NULL
, false);
7577 dissect_its_INTEGER_0_20(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7578 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
7579 0U, 20U, NULL
, false);
7585 static const per_sequence_t its_MitigationPerTechnologyClass_sequence
[] = {
7586 { &hf_its_accessTechnologyClass
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_AccessTechnologyClass
},
7587 { &hf_its_lowDutyCycle
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_INTEGER_0_10000
},
7588 { &hf_its_powerReduction
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_INTEGER_0_30
},
7589 { &hf_its_dmcToffLimit
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_INTEGER_0_1200
},
7590 { &hf_its_dmcTonLimit
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_INTEGER_0_20
},
7591 { NULL
, 0, 0, NULL
}
7595 dissect_its_MitigationPerTechnologyClass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7596 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7597 ett_its_MitigationPerTechnologyClass
, its_MitigationPerTechnologyClass_sequence
);
7603 static const per_sequence_t its_MitigationForTechnologies_sequence_of
[1] = {
7604 { &hf_its_MitigationForTechnologies_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_MitigationPerTechnologyClass
},
7608 dissect_its_MitigationForTechnologies(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7609 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7610 ett_its_MitigationForTechnologies
, its_MitigationForTechnologies_sequence_of
,
7617 static const per_sequence_t its_InterferenceManagementInfoPerChannel_sequence
[] = {
7618 { &hf_its_interferenceManagementChannel
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_InterferenceManagementChannel
},
7619 { &hf_its_interferenceManagementZoneType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_InterferenceManagementZoneType
},
7620 { &hf_its_interferenceManagementMitigationType
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_MitigationForTechnologies
},
7621 { &hf_its_expiryTime
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_TimestampIts
},
7622 { NULL
, 0, 0, NULL
}
7626 dissect_its_InterferenceManagementInfoPerChannel(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7627 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7628 ett_its_InterferenceManagementInfoPerChannel
, its_InterferenceManagementInfoPerChannel_sequence
);
7634 static const per_sequence_t its_InterferenceManagementInfo_sequence_of
[1] = {
7635 { &hf_its_InterferenceManagementInfo_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_InterferenceManagementInfoPerChannel
},
7639 dissect_its_InterferenceManagementInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7640 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7641 ett_its_InterferenceManagementInfo
, its_InterferenceManagementInfo_sequence_of
,
7648 static const per_sequence_t its_InterferenceManagementZone_sequence
[] = {
7649 { &hf_its_zoneDefinition
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_InterferenceManagementZoneDefinition
},
7650 { &hf_its_managementInfo
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_InterferenceManagementInfo
},
7651 { NULL
, 0, 0, NULL
}
7655 dissect_its_InterferenceManagementZone(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7656 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7657 ett_its_InterferenceManagementZone
, its_InterferenceManagementZone_sequence
);
7663 static const per_sequence_t its_InterferenceManagementZones_sequence_of
[1] = {
7664 { &hf_its_InterferenceManagementZones_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_InterferenceManagementZone
},
7668 dissect_its_InterferenceManagementZones(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7669 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7670 ett_its_InterferenceManagementZones
, its_InterferenceManagementZones_sequence_of
,
7677 static const per_sequence_t its_ItineraryPath_sequence_of
[1] = {
7678 { &hf_its_ItineraryPath_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_ReferencePosition
},
7682 dissect_its_ItineraryPath(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7683 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7684 ett_its_ItineraryPath
, its_ItineraryPath_sequence_of
,
7693 dissect_its_ProtocolVersion(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7695 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
7696 0U, 255U, &version
, false);
7698 its_header_t
*its_hdr
= its_get_private_data(actx
->pinfo
);
7699 its_hdr
->version
= version
;
7706 static const per_sequence_t its_ItsPduHeader_sequence
[] = {
7707 { &hf_its_protocolVersion
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_ProtocolVersion
},
7708 { &hf_its_messageId
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_MessageId
},
7709 { &hf_its_stationId
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_StationId
},
7710 { NULL
, 0, 0, NULL
}
7714 dissect_its_ItsPduHeader(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7715 uint8_t version
= tvb_get_uint8(tvb
, 0);
7716 int test_offset
= offset
;
7717 if ((test_offset
= dissector_try_uint(its_version_subdissector_table
, version
, tvb
, actx
->pinfo
, tree
))) {
7720 // Lets try it that way, regarless of version value...
7721 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7722 ett_its_ItsPduHeader
, its_ItsPduHeader_sequence
);
7724 tap_queue_packet(its_tap
, actx
->pinfo
, actx
->private_data
);
7725 tvbuff_t
*next_tvb
= tvb_new_subset_length(tvb
, offset
>> 3, -1);
7726 its_header_t
*its_hdr
= its_get_private_data(actx
->pinfo
);
7727 int data_offset
= dissector_try_uint(its_msgid_subdissector_table
, (its_hdr
->version
<< 16)+its_hdr
->msgId
, next_tvb
, actx
->pinfo
, tree
);
7729 proto_tree_add_expert(tree
, actx
->pinfo
, &ei_its_no_sub_dis
, next_tvb
, 0, - 1);
7730 data_offset
= call_data_dissector(next_tvb
, actx
->pinfo
, tree
);
7732 offset
+= data_offset
;
7738 static const per_sequence_t its_LateralAcceleration_sequence
[] = {
7739 { &hf_its_lateralAccelerationValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_LateralAccelerationValue
},
7740 { &hf_its_lateralAccelerationConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_AccelerationConfidence
},
7741 { NULL
, 0, 0, NULL
}
7745 dissect_its_LateralAcceleration(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7746 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7747 ett_its_LateralAcceleration
, its_LateralAcceleration_sequence
);
7753 static const per_sequence_t its_LongitudinalAcceleration_sequence
[] = {
7754 { &hf_its_longitudinalAccelerationValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_LongitudinalAccelerationValue
},
7755 { &hf_its_longitudinalAccelerationConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_AccelerationConfidence
},
7756 { NULL
, 0, 0, NULL
}
7760 dissect_its_LongitudinalAcceleration(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7761 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7762 ett_its_LongitudinalAcceleration
, its_LongitudinalAcceleration_sequence
);
7768 static const per_sequence_t its_LowerTriangularPositiveSemidefiniteMatrixColumns_sequence_of
[1] = {
7769 { &hf_its_LowerTriangularPositiveSemidefiniteMatrixColumns_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CorrelationColumn
},
7773 dissect_its_LowerTriangularPositiveSemidefiniteMatrixColumns(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7774 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7775 ett_its_LowerTriangularPositiveSemidefiniteMatrixColumns
, its_LowerTriangularPositiveSemidefiniteMatrixColumns_sequence_of
,
7782 static const per_sequence_t its_LowerTriangularPositiveSemidefiniteMatrix_sequence
[] = {
7783 { &hf_its_componentsIncludedIntheMatrix
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_MatrixIncludedComponents
},
7784 { &hf_its_matrix
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_LowerTriangularPositiveSemidefiniteMatrixColumns
},
7785 { NULL
, 0, 0, NULL
}
7789 dissect_its_LowerTriangularPositiveSemidefiniteMatrix(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7790 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7791 ett_its_LowerTriangularPositiveSemidefiniteMatrix
, its_LowerTriangularPositiveSemidefiniteMatrix_sequence
);
7797 static const per_sequence_t its_LowerTriangularPositiveSemidefiniteMatrices_sequence_of
[1] = {
7798 { &hf_its_LowerTriangularPositiveSemidefiniteMatrices_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_LowerTriangularPositiveSemidefiniteMatrix
},
7802 dissect_its_LowerTriangularPositiveSemidefiniteMatrices(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7803 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7804 ett_its_LowerTriangularPositiveSemidefiniteMatrices
, its_LowerTriangularPositiveSemidefiniteMatrices_sequence_of
,
7813 dissect_its_INTEGER_1_100(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7814 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
7815 1U, 100U, NULL
, false);
7823 dissect_its_INTEGER_M5_2(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7824 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
7825 -5, 2U, NULL
, false);
7831 static const per_sequence_t its_MessageRateHz_sequence
[] = {
7832 { &hf_its_mantissa
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_INTEGER_1_100
},
7833 { &hf_its_exponent_01
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_INTEGER_M5_2
},
7834 { NULL
, 0, 0, NULL
}
7838 dissect_its_MessageRateHz(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7839 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7840 ett_its_MessageRateHz
, its_MessageRateHz_sequence
);
7846 static const per_sequence_t its_MessageSegmentationInfo_sequence
[] = {
7847 { &hf_its_totalMsgNo
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CardinalNumber3b
},
7848 { &hf_its_thisMsgNo
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_OrdinalNumber3b
},
7849 { NULL
, 0, 0, NULL
}
7853 dissect_its_MessageSegmentationInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7854 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7855 ett_its_MessageSegmentationInfo
, its_MessageSegmentationInfo_sequence
);
7863 dissect_its_TrafficParticipantType_CONSTR001(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7864 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
7865 0U, 14U, NULL
, false);
7871 static const value_string its_VruProfileAndSubprofile_vals
[] = {
7872 { 0, "pedestrian" },
7873 { 1, "bicyclistAndLightVruVehicle" },
7874 { 2, "motorcyclist" },
7879 static const per_choice_t its_VruProfileAndSubprofile_choice
[] = {
7880 { 0, &hf_its_pedestrian
, ASN1_EXTENSION_ROOT
, dissect_its_VruSubProfilePedestrian
},
7881 { 1, &hf_its_bicyclistAndLightVruVehicle
, ASN1_EXTENSION_ROOT
, dissect_its_VruSubProfileBicyclist
},
7882 { 2, &hf_its_motorcyclist
, ASN1_EXTENSION_ROOT
, dissect_its_VruSubProfileMotorcyclist
},
7883 { 3, &hf_its_animal
, ASN1_EXTENSION_ROOT
, dissect_its_VruSubProfileAnimal
},
7884 { 0, NULL
, 0, NULL
}
7888 dissect_its_VruProfileAndSubprofile(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7889 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
7890 ett_its_VruProfileAndSubprofile
, its_VruProfileAndSubprofile_choice
,
7897 static const per_sequence_t its_VruClusterInformation_sequence
[] = {
7898 { &hf_its_clusterId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Identifier1B
},
7899 { &hf_its_clusterBoundingBoxShape
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Shape
},
7900 { &hf_its_clusterCardinalitySize
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_CardinalNumber1B
},
7901 { &hf_its_clusterProfiles
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_VruClusterProfiles
},
7902 { NULL
, 0, 0, NULL
}
7906 dissect_its_VruClusterInformation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7907 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7908 ett_its_VruClusterInformation
, its_VruClusterInformation_sequence
);
7914 static const value_string its_ObjectClass_vals
[] = {
7915 { 0, "vehicleSubClass" },
7916 { 1, "vruSubClass" },
7917 { 2, "groupSubClass" },
7918 { 3, "otherSubClass" },
7922 static const per_choice_t its_ObjectClass_choice
[] = {
7923 { 0, &hf_its_vehicleSubClass
, ASN1_EXTENSION_ROOT
, dissect_its_TrafficParticipantType_CONSTR001
},
7924 { 1, &hf_its_vruSubClass
, ASN1_EXTENSION_ROOT
, dissect_its_VruProfileAndSubprofile
},
7925 { 2, &hf_its_groupSubClass
, ASN1_EXTENSION_ROOT
, dissect_its_VruClusterInformation
},
7926 { 3, &hf_its_otherSubClass
, ASN1_EXTENSION_ROOT
, dissect_its_OtherSubClass
},
7927 { 0, NULL
, 0, NULL
}
7931 dissect_its_ObjectClass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7932 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
7933 ett_its_ObjectClass
, its_ObjectClass_choice
,
7940 static const per_sequence_t its_ObjectClassWithConfidence_sequence
[] = {
7941 { &hf_its_objectClass
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_ObjectClass
},
7942 { &hf_its_confidence_05
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_ConfidenceLevel
},
7943 { NULL
, 0, 0, NULL
}
7947 dissect_its_ObjectClassWithConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7948 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7949 ett_its_ObjectClassWithConfidence
, its_ObjectClassWithConfidence_sequence
);
7955 static const per_sequence_t its_ObjectClassDescription_sequence_of
[1] = {
7956 { &hf_its_ObjectClassDescription_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_ObjectClassWithConfidence
},
7960 dissect_its_ObjectClassDescription(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7961 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
7962 ett_its_ObjectClassDescription
, its_ObjectClassDescription_sequence_of
,
7969 static const per_sequence_t its_ObjectDimension_sequence
[] = {
7970 { &hf_its_value_04
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_ObjectDimensionValue
},
7971 { &hf_its_confidence_06
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_ObjectDimensionConfidence
},
7972 { NULL
, 0, 0, NULL
}
7976 dissect_its_ObjectDimension(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7977 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7978 ett_its_ObjectDimension
, its_ObjectDimension_sequence
);
7984 static const per_sequence_t its_PathPoint_sequence
[] = {
7985 { &hf_its_pathPosition
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaReferencePosition
},
7986 { &hf_its_pathDeltaTime
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_PathDeltaTime
},
7987 { NULL
, 0, 0, NULL
}
7991 dissect_its_PathPoint(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7992 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
7993 ett_its_PathPoint
, its_PathPoint_sequence
);
7999 static const per_sequence_t its_Path_sequence_of
[1] = {
8000 { &hf_its_Path_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_PathPoint
},
8004 dissect_its_Path(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8005 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
8006 ett_its_Path
, its_Path_sequence_of
,
8013 static const value_string its_PathDeltaTimeChoice_vals
[] = {
8014 { 0, "deltaTimeHighPrecision" },
8015 { 1, "deltaTimeBigRange" },
8019 static const per_choice_t its_PathDeltaTimeChoice_choice
[] = {
8020 { 0, &hf_its_deltaTimeHighPrecision
, ASN1_EXTENSION_ROOT
, dissect_its_DeltaTimeTenthOfSecond
},
8021 { 1, &hf_its_deltaTimeBigRange
, ASN1_EXTENSION_ROOT
, dissect_its_DeltaTimeTenSeconds
},
8022 { 0, NULL
, 0, NULL
}
8026 dissect_its_PathDeltaTimeChoice(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8027 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
8028 ett_its_PathDeltaTimeChoice
, its_PathDeltaTimeChoice_choice
,
8035 static const per_sequence_t its_PathHistory_sequence_of
[1] = {
8036 { &hf_its_PathHistory_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_PathPoint
},
8040 dissect_its_PathHistory(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8041 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
8042 ett_its_PathHistory
, its_PathHistory_sequence_of
,
8049 static const per_sequence_t its_PathPointPredicted_sequence
[] = {
8050 { &hf_its_deltaLatitude
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaLatitude
},
8051 { &hf_its_deltaLongitude
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaLongitude
},
8052 { &hf_its_horizontalPositionConfidence
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_PosConfidenceEllipse
},
8053 { &hf_its_deltaAltitude
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_DeltaAltitude
},
8054 { &hf_its_altitudeConfidence
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_AltitudeConfidence
},
8055 { &hf_its_pathDeltaTime_01
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_PathDeltaTimeChoice
},
8056 { &hf_its_symmetricAreaOffset
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_StandardLength9b
},
8057 { &hf_its_asymmetricAreaOffset
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_StandardLength9b
},
8058 { NULL
, 0, 0, NULL
}
8062 dissect_its_PathPointPredicted(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8063 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8064 ett_its_PathPointPredicted
, its_PathPointPredicted_sequence
);
8070 static const per_sequence_t its_PathPredicted_sequence_of
[1] = {
8071 { &hf_its_PathPredicted_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_PathPointPredicted
},
8075 dissect_its_PathPredicted(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8076 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
8077 ett_its_PathPredicted
, its_PathPredicted_sequence_of
,
8084 static const per_sequence_t its_Speed_sequence
[] = {
8085 { &hf_its_speedValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_SpeedValue
},
8086 { &hf_its_speedConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_SpeedConfidence
},
8087 { NULL
, 0, 0, NULL
}
8091 dissect_its_Speed(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8092 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8093 ett_its_Speed
, its_Speed_sequence
);
8099 static const per_sequence_t its_VelocityComponent_sequence
[] = {
8100 { &hf_its_value_05
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_VelocityComponentValue
},
8101 { &hf_its_confidence_07
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_SpeedConfidence
},
8102 { NULL
, 0, 0, NULL
}
8106 dissect_its_VelocityComponent(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8107 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8108 ett_its_VelocityComponent
, its_VelocityComponent_sequence
);
8114 static const per_sequence_t its_VelocityPolarWithZ_sequence
[] = {
8115 { &hf_its_velocityMagnitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Speed
},
8116 { &hf_its_velocityDirection
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianAngle
},
8117 { &hf_its_zVelocity
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_VelocityComponent
},
8118 { NULL
, 0, 0, NULL
}
8122 dissect_its_VelocityPolarWithZ(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8123 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8124 ett_its_VelocityPolarWithZ
, its_VelocityPolarWithZ_sequence
);
8130 static const per_sequence_t its_VelocityCartesian_sequence
[] = {
8131 { &hf_its_xVelocity
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_VelocityComponent
},
8132 { &hf_its_yVelocity
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_VelocityComponent
},
8133 { &hf_its_zVelocity
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_VelocityComponent
},
8134 { NULL
, 0, 0, NULL
}
8138 dissect_its_VelocityCartesian(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8139 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8140 ett_its_VelocityCartesian
, its_VelocityCartesian_sequence
);
8146 static const value_string its_Velocity3dWithConfidence_vals
[] = {
8147 { 0, "polarVelocity" },
8148 { 1, "cartesianVelocity" },
8152 static const per_choice_t its_Velocity3dWithConfidence_choice
[] = {
8153 { 0, &hf_its_polarVelocity
, ASN1_NO_EXTENSIONS
, dissect_its_VelocityPolarWithZ
},
8154 { 1, &hf_its_cartesianVelocity
, ASN1_NO_EXTENSIONS
, dissect_its_VelocityCartesian
},
8155 { 0, NULL
, 0, NULL
}
8159 dissect_its_Velocity3dWithConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8160 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
8161 ett_its_Velocity3dWithConfidence
, its_Velocity3dWithConfidence_choice
,
8170 dissect_its_DeltaTimeMilliSecondSigned_0_2047(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8171 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8172 0U, 2047U, NULL
, false);
8178 static const per_sequence_t its_SequenceOfIdentifier1B_sequence_of
[1] = {
8179 { &hf_its_SequenceOfIdentifier1B_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Identifier1B
},
8183 dissect_its_SequenceOfIdentifier1B(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8184 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
8185 ett_its_SequenceOfIdentifier1B
, its_SequenceOfIdentifier1B_sequence_of
,
8192 static const per_sequence_t its_PerceivedObject_sequence
[] = {
8193 { &hf_its_objectId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Identifier2B
},
8194 { &hf_its_measurementDeltaTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaTimeMilliSecondSigned
},
8195 { &hf_its_position
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianPosition3dWithConfidence
},
8196 { &hf_its_velocity
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Velocity3dWithConfidence
},
8197 { &hf_its_acceleration
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Acceleration3dWithConfidence
},
8198 { &hf_its_angles
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_EulerAnglesWithConfidence
},
8199 { &hf_its_zAngularVelocity
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_CartesianAngularVelocityComponent
},
8200 { &hf_its_lowerTriangularCorrelationMatrices
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_LowerTriangularPositiveSemidefiniteMatrices
},
8201 { &hf_its_objectDimensionZ
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ObjectDimension
},
8202 { &hf_its_objectDimensionY
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ObjectDimension
},
8203 { &hf_its_objectDimensionX
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ObjectDimension
},
8204 { &hf_its_objectAge
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_DeltaTimeMilliSecondSigned_0_2047
},
8205 { &hf_its_objectPerceptionQuality
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ObjectPerceptionQuality
},
8206 { &hf_its_sensorIdList
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_SequenceOfIdentifier1B
},
8207 { &hf_its_classification
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ObjectClassDescription
},
8208 { &hf_its_mapPosition
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_MapPosition
},
8209 { NULL
, 0, 0, NULL
}
8213 dissect_its_PerceivedObject(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8214 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8215 ett_its_PerceivedObject
, its_PerceivedObject_sequence
);
8221 static const per_sequence_t its_PositionOfPillars_sequence_of
[1] = {
8222 { &hf_its_PositionOfPillars_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_PosPillar
},
8226 dissect_its_PositionOfPillars(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8227 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
8228 ett_its_PositionOfPillars
, its_PositionOfPillars_sequence_of
,
8235 static const per_sequence_t its_ProtectedCommunicationZone_sequence
[] = {
8236 { &hf_its_protectedZoneType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_ProtectedZoneType
},
8237 { &hf_its_expiryTime
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_TimestampIts
},
8238 { &hf_its_protectedZoneLatitude
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Latitude
},
8239 { &hf_its_protectedZoneLongitude
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Longitude
},
8240 { &hf_its_protectedZoneRadius
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ProtectedZoneRadius
},
8241 { &hf_its_protectedZoneId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ProtectedZoneId
},
8242 { NULL
, 0, 0, NULL
}
8246 dissect_its_ProtectedCommunicationZone(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8247 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8248 ett_its_ProtectedCommunicationZone
, its_ProtectedCommunicationZone_sequence
);
8254 static const per_sequence_t its_ProtectedCommunicationZonesRSU_sequence_of
[1] = {
8255 { &hf_its_ProtectedCommunicationZonesRSU_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_ProtectedCommunicationZone
},
8259 dissect_its_ProtectedCommunicationZonesRSU(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8260 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
8261 ett_its_ProtectedCommunicationZonesRSU
, its_ProtectedCommunicationZonesRSU_sequence_of
,
8268 static const per_sequence_t its_PtActivation_sequence
[] = {
8269 { &hf_its_ptActivationType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_PtActivationType
},
8270 { &hf_its_ptActivationData
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_PtActivationData
},
8271 { NULL
, 0, 0, NULL
}
8275 dissect_its_PtActivation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8276 void *priv_data
= actx
->private_data
;
8277 its_pt_activation_data_t
*pta
;
8279 pta
= wmem_new0(actx
->pinfo
->pool
, its_pt_activation_data_t
);
8280 actx
->private_data
= pta
;
8281 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8282 ett_its_PtActivation
, its_PtActivation_sequence
);
8284 dissector_try_uint_with_data(cam_pt_activation_table
, pta
->type
, pta
->data
, actx
->pinfo
, tree
, true, NULL
);
8285 actx
->private_data
= priv_data
;
8290 static const per_sequence_t its_RestrictedTypes_sequence_of
[1] = {
8291 { &hf_its_RestrictedTypes_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_StationType
},
8295 dissect_its_RestrictedTypes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8296 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
8297 ett_its_RestrictedTypes
, its_RestrictedTypes_sequence_of
,
8304 static const per_sequence_t its_SafeDistanceIndication_sequence
[] = {
8305 { &hf_its_subjectStation
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_StationId
},
8306 { &hf_its_safeDistanceIndicator
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_SafeDistanceIndicator
},
8307 { &hf_its_timeToCollision
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_DeltaTimeTenthOfSecond
},
8308 { NULL
, 0, 0, NULL
}
8312 dissect_its_SafeDistanceIndication(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8313 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8314 ett_its_SafeDistanceIndication
, its_SafeDistanceIndication_sequence
);
8320 static const per_sequence_t its_SequenceOfSafeDistanceIndication_sequence_of
[1] = {
8321 { &hf_its_SequenceOfSafeDistanceIndication_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_SafeDistanceIndication
},
8325 dissect_its_SequenceOfSafeDistanceIndication(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8326 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
8327 ett_its_SequenceOfSafeDistanceIndication
, its_SequenceOfSafeDistanceIndication_sequence_of
,
8334 static const per_sequence_t its_TrajectoryInterceptionIndication_sequence
[] = {
8335 { &hf_its_subjectStation
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_StationId
},
8336 { &hf_its_trajectoryInterceptionProbability
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_TrajectoryInterceptionProbability
},
8337 { &hf_its_trajectoryInterceptionConfidence
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_TrajectoryInterceptionConfidence
},
8338 { NULL
, 0, 0, NULL
}
8342 dissect_its_TrajectoryInterceptionIndication(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8343 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8344 ett_its_TrajectoryInterceptionIndication
, its_TrajectoryInterceptionIndication_sequence
);
8350 static const per_sequence_t its_SequenceOfTrajectoryInterceptionIndication_sequence_of
[1] = {
8351 { &hf_its_SequenceOfTrajectoryInterceptionIndication_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_TrajectoryInterceptionIndication
},
8355 dissect_its_SequenceOfTrajectoryInterceptionIndication(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8356 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
8357 ett_its_SequenceOfTrajectoryInterceptionIndication
, its_SequenceOfTrajectoryInterceptionIndication_sequence_of
,
8364 static const per_sequence_t its_StabilityChangeIndication_sequence
[] = {
8365 { &hf_its_lossProbability
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_StabilityLossProbability
},
8366 { &hf_its_actionDeltaTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaTimeTenthOfSecond
},
8367 { NULL
, 0, 0, NULL
}
8371 dissect_its_StabilityChangeIndication(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8372 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8373 ett_its_StabilityChangeIndication
, its_StabilityChangeIndication_sequence
);
8379 static const per_sequence_t its_SteeringWheelAngle_sequence
[] = {
8380 { &hf_its_steeringWheelAngleValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_SteeringWheelAngleValue
},
8381 { &hf_its_steeringWheelAngleConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_SteeringWheelAngleConfidence
},
8382 { NULL
, 0, 0, NULL
}
8386 dissect_its_SteeringWheelAngle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8387 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8388 ett_its_SteeringWheelAngle
, its_SteeringWheelAngle_sequence
);
8394 static const per_sequence_t its_Traces_sequence_of
[1] = {
8395 { &hf_its_Traces_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Path
},
8399 dissect_its_Traces(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8400 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
8401 ett_its_Traces
, its_Traces_sequence_of
,
8408 static const per_sequence_t its_TrailerData_sequence
[] = {
8409 { &hf_its_refPointId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Identifier1B
},
8410 { &hf_its_hitchPointOffset
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_StandardLength1B
},
8411 { &hf_its_frontOverhang
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_StandardLength1B
},
8412 { &hf_its_rearOverhang
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_StandardLength1B
},
8413 { &hf_its_trailerWidth
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_VehicleWidth
},
8414 { &hf_its_hitchAngle
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_CartesianAngle
},
8415 { NULL
, 0, 0, NULL
}
8419 dissect_its_TrailerData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8420 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8421 ett_its_TrailerData
, its_TrailerData_sequence
);
8429 dissect_its_INTEGER_0_127(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8430 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8431 0U, 127U, NULL
, false);
8439 dissect_its_INTEGER_128_16511(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8440 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8441 128U, 16511U, NULL
, false);
8449 dissect_its_INTEGER_16512_2113663(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8450 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8451 16512U, 2113663U, NULL
, false);
8459 dissect_its_Ext3(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8460 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8461 2113664U, 270549119U, NULL
, true);
8467 static const value_string its_Ext2_vals
[] = {
8473 static const per_choice_t its_Ext2_choice
[] = {
8474 { 0, &hf_its_e2Content
, ASN1_NO_EXTENSIONS
, dissect_its_INTEGER_16512_2113663
},
8475 { 1, &hf_its_e1Extension
, ASN1_NO_EXTENSIONS
, dissect_its_Ext3
},
8476 { 0, NULL
, 0, NULL
}
8480 dissect_its_Ext2(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8481 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
8482 ett_its_Ext2
, its_Ext2_choice
,
8489 static const value_string its_Ext1_vals
[] = {
8495 static const per_choice_t its_Ext1_choice
[] = {
8496 { 0, &hf_its_e1Content
, ASN1_NO_EXTENSIONS
, dissect_its_INTEGER_128_16511
},
8497 { 1, &hf_its_e2Extension
, ASN1_NO_EXTENSIONS
, dissect_its_Ext2
},
8498 { 0, NULL
, 0, NULL
}
8502 dissect_its_Ext1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8503 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
8504 ett_its_Ext1
, its_Ext1_choice
,
8511 static const value_string its_VarLengthNumber_vals
[] = {
8517 static const per_choice_t its_VarLengthNumber_choice
[] = {
8518 { 0, &hf_its_vlnContent
, ASN1_NO_EXTENSIONS
, dissect_its_INTEGER_0_127
},
8519 { 1, &hf_its_vlnExtension
, ASN1_NO_EXTENSIONS
, dissect_its_Ext1
},
8520 { 0, NULL
, 0, NULL
}
8524 dissect_its_VarLengthNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8525 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
8526 ett_its_VarLengthNumber
, its_VarLengthNumber_choice
,
8533 static const per_sequence_t its_VerticalAcceleration_sequence
[] = {
8534 { &hf_its_verticalAccelerationValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_VerticalAccelerationValue
},
8535 { &hf_its_verticalAccelerationConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_AccelerationConfidence
},
8536 { NULL
, 0, 0, NULL
}
8540 dissect_its_VerticalAcceleration(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8541 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8542 ett_its_VerticalAcceleration
, its_VerticalAcceleration_sequence
);
8548 static const per_sequence_t its_VehicleIdentification_sequence
[] = {
8549 { &hf_its_wMInumber
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_WMInumber
},
8550 { &hf_its_vDS
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_VDS
},
8551 { NULL
, 0, 0, NULL
}
8555 dissect_its_VehicleIdentification(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8556 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8557 ett_its_VehicleIdentification
, its_VehicleIdentification_sequence
);
8563 static const per_sequence_t its_VehicleLength_sequence
[] = {
8564 { &hf_its_vehicleLengthValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_VehicleLengthValue
},
8565 { &hf_its_vehicleLengthConfidenceIndication
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_VehicleLengthConfidenceIndication
},
8566 { NULL
, 0, 0, NULL
}
8570 dissect_its_VehicleLength(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8571 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8572 ett_its_VehicleLength
, its_VehicleLength_sequence
);
8578 static const per_sequence_t its_VruExteriorLights_sequence
[] = {
8579 { &hf_its_vehicular
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_ExteriorLights
},
8580 { &hf_its_vruSpecific
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_VruSpecificExteriorLights
},
8581 { NULL
, 0, 0, NULL
}
8585 dissect_its_VruExteriorLights(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8586 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8587 ett_its_VruExteriorLights
, its_VruExteriorLights_sequence
);
8593 static const per_sequence_t its_Wgs84Angle_sequence
[] = {
8594 { &hf_its_value_06
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Wgs84AngleValue
},
8595 { &hf_its_confidence_08
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Wgs84AngleConfidence
},
8596 { NULL
, 0, 0, NULL
}
8600 dissect_its_Wgs84Angle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8601 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8602 ett_its_Wgs84Angle
, its_Wgs84Angle_sequence
);
8608 static const per_sequence_t its_YawRate_sequence
[] = {
8609 { &hf_its_yawRateValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_YawRateValue
},
8610 { &hf_its_yawRateConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_YawRateConfidence
},
8611 { NULL
, 0, 0, NULL
}
8615 dissect_its_YawRate(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8616 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8617 ett_its_YawRate
, its_YawRate_sequence
);
8624 static int dissect_its_ItsPduHeader_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
8626 asn1_ctx_t asn1_ctx
;
8627 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
8628 offset
= dissect_its_ItsPduHeader(tvb
, offset
, &asn1_ctx
, tree
, hf_its_its_ItsPduHeader_PDU
);
8629 offset
+= 7; offset
>>= 3;
8634 /* --- Module ITS-ContainerV1 --- --- --- */
8639 dissect_itsv1_StationID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8640 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8641 0U, 4294967295U, NULL
, false);
8649 dissect_itsv1_Latitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8650 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8651 -900000000, 900000001U, NULL
, false);
8659 dissect_itsv1_Longitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8660 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8661 -1800000000, 1800000001U, NULL
, false);
8669 dissect_itsv1_SemiAxisLength(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8670 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8671 0U, 4095U, NULL
, false);
8679 dissect_itsv1_HeadingValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8680 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8681 0U, 3601U, NULL
, false);
8687 static const per_sequence_t itsv1_PosConfidenceEllipse_sequence
[] = {
8688 { &hf_itsv1_semiMajorConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_SemiAxisLength
},
8689 { &hf_itsv1_semiMinorConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_SemiAxisLength
},
8690 { &hf_itsv1_semiMajorOrientation
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_HeadingValue
},
8691 { NULL
, 0, 0, NULL
}
8695 dissect_itsv1_PosConfidenceEllipse(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8696 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8697 ett_itsv1_PosConfidenceEllipse
, itsv1_PosConfidenceEllipse_sequence
);
8705 dissect_itsv1_AltitudeValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8706 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8707 -100000, 800001U, NULL
, false);
8713 static const value_string itsv1_AltitudeConfidence_vals
[] = {
8714 { 0, "alt-000-01" },
8715 { 1, "alt-000-02" },
8716 { 2, "alt-000-05" },
8717 { 3, "alt-000-10" },
8718 { 4, "alt-000-20" },
8719 { 5, "alt-000-50" },
8720 { 6, "alt-001-00" },
8721 { 7, "alt-002-00" },
8722 { 8, "alt-005-00" },
8723 { 9, "alt-010-00" },
8724 { 10, "alt-020-00" },
8725 { 11, "alt-050-00" },
8726 { 12, "alt-100-00" },
8727 { 13, "alt-200-00" },
8728 { 14, "outOfRange" },
8729 { 15, "unavailable" },
8735 dissect_itsv1_AltitudeConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8736 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
8737 16, NULL
, false, 0, NULL
);
8743 static const per_sequence_t itsv1_Altitude_sequence
[] = {
8744 { &hf_itsv1_altitudeValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_AltitudeValue
},
8745 { &hf_itsv1_altitudeConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_AltitudeConfidence
},
8746 { NULL
, 0, 0, NULL
}
8750 dissect_itsv1_Altitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8751 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8752 ett_itsv1_Altitude
, itsv1_Altitude_sequence
);
8758 static const per_sequence_t itsv1_ReferencePosition_sequence
[] = {
8759 { &hf_itsv1_latitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_Latitude
},
8760 { &hf_itsv1_longitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_Longitude
},
8761 { &hf_itsv1_positionConfidenceEllipse
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_PosConfidenceEllipse
},
8762 { &hf_itsv1_altitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_Altitude
},
8763 { NULL
, 0, 0, NULL
}
8767 dissect_itsv1_ReferencePosition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8768 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8769 ett_itsv1_ReferencePosition
, itsv1_ReferencePosition_sequence
);
8777 dissect_itsv1_DeltaLatitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8778 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8779 -131071, 131072U, NULL
, false);
8787 dissect_itsv1_DeltaLongitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8788 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8789 -131071, 131072U, NULL
, false);
8797 dissect_itsv1_DeltaAltitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8798 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8799 -12700, 12800U, NULL
, false);
8805 static const per_sequence_t itsv1_DeltaReferencePosition_sequence
[] = {
8806 { &hf_itsv1_deltaLatitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_DeltaLatitude
},
8807 { &hf_itsv1_deltaLongitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_DeltaLongitude
},
8808 { &hf_itsv1_deltaAltitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_DeltaAltitude
},
8809 { NULL
, 0, 0, NULL
}
8813 dissect_itsv1_DeltaReferencePosition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8814 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8815 ett_itsv1_DeltaReferencePosition
, itsv1_DeltaReferencePosition_sequence
);
8823 dissect_itsv1_PathDeltaTime(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8824 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8825 1U, 65535U, NULL
, true);
8831 static const per_sequence_t itsv1_PathPoint_sequence
[] = {
8832 { &hf_itsv1_pathPosition
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_DeltaReferencePosition
},
8833 { &hf_itsv1_pathDeltaTime
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_PathDeltaTime
},
8834 { NULL
, 0, 0, NULL
}
8838 dissect_itsv1_PathPoint(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8839 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8840 ett_itsv1_PathPoint
, itsv1_PathPoint_sequence
);
8846 static const value_string itsv1_PtActivationType_vals
[] = {
8847 { 0, "undefinedCodingType" },
8848 { 1, "r09-16CodingType" },
8849 { 2, "vdv-50149CodingType" },
8855 dissect_itsv1_PtActivationType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8856 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8857 0U, 255U, &((its_pt_activation_data_t
*)actx
->private_data
)->type
, false);
8865 dissect_itsv1_PtActivationData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8866 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
8867 1, 20, false, &((its_pt_activation_data_t
*)actx
->private_data
)->data
);
8873 static const per_sequence_t itsv1_PtActivation_sequence
[] = {
8874 { &hf_itsv1_ptActivationType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_PtActivationType
},
8875 { &hf_itsv1_ptActivationData
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_PtActivationData
},
8876 { NULL
, 0, 0, NULL
}
8880 dissect_itsv1_PtActivation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8881 void *priv_data
= actx
->private_data
;
8882 its_pt_activation_data_t
*pta
;
8884 pta
= wmem_new0(actx
->pinfo
->pool
, its_pt_activation_data_t
);
8885 actx
->private_data
= pta
;
8886 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8887 ett_itsv1_PtActivation
, itsv1_PtActivation_sequence
);
8889 dissector_try_uint_with_data(cam_pt_activation_table
, pta
->type
, pta
->data
, actx
->pinfo
, tree
, true, NULL
);
8890 actx
->private_data
= priv_data
;
8895 static int * const itsv1_AccelerationControl_bits
[] = {
8896 &hf_itsv1_AccelerationControl_brakePedalEngaged
,
8897 &hf_itsv1_AccelerationControl_gasPedalEngaged
,
8898 &hf_itsv1_AccelerationControl_emergencyBrakeEngaged
,
8899 &hf_itsv1_AccelerationControl_collisionWarningEngaged
,
8900 &hf_itsv1_AccelerationControl_accEngaged
,
8901 &hf_itsv1_AccelerationControl_cruiseControlEngaged
,
8902 &hf_itsv1_AccelerationControl_speedLimiterEngaged
,
8907 dissect_itsv1_AccelerationControl(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8908 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
8909 7, 7, false, itsv1_AccelerationControl_bits
, 7, NULL
, NULL
);
8915 static const value_string itsv1_CauseCodeTypeV1_vals
[] = {
8917 { 1, "trafficCondition" },
8920 { 6, "adverseWeatherCondition-Adhesion" },
8921 { 9, "hazardousLocation-SurfaceCondition" },
8922 { 10, "hazardousLocation-ObstacleOnTheRoad" },
8923 { 11, "hazardousLocation-AnimalOnTheRoad" },
8924 { 12, "humanPresenceOnTheRoad" },
8925 { 14, "wrongWayDriving" },
8926 { 15, "rescueAndRecoveryWorkInProgress" },
8927 { 17, "adverseWeatherCondition-ExtremeWeatherCondition" },
8928 { 18, "adverseWeatherCondition-Visibility" },
8929 { 19, "adverseWeatherCondition-Precipitation" },
8930 { 26, "slowVehicle" },
8931 { 27, "dangerousEndOfQueue" },
8932 { 91, "vehicleBreakdown" },
8933 { 92, "postCrash" },
8934 { 93, "humanProblem" },
8935 { 94, "stationaryVehicle" },
8936 { 95, "emergencyVehicleApproaching" },
8937 { 96, "hazardousLocation-DangerousCurve" },
8938 { 97, "collisionRisk" },
8939 { 98, "signalViolation" },
8940 { 99, "dangerousSituation" },
8946 dissect_itsv1_CauseCodeTypeV1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8947 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8948 0U, 255U, NULL
, false);
8956 dissect_itsv1_SubCauseCodeTypeV1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8957 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8958 0U, 255U, NULL
, false);
8964 static const per_sequence_t itsv1_CauseCode_sequence
[] = {
8965 { &hf_itsv1_causeCode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_CauseCodeTypeV1
},
8966 { &hf_itsv1_subCauseCode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_SubCauseCodeTypeV1
},
8967 { NULL
, 0, 0, NULL
}
8971 dissect_itsv1_CauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8972 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
8973 ett_itsv1_CauseCode
, itsv1_CauseCode_sequence
);
8979 static const value_string itsv1_RoadworksSubCauseCode_vals
[] = {
8980 { 0, "unavailable" },
8981 { 1, "majorRoadworks" },
8982 { 2, "roadMarkingWork" },
8983 { 3, "slowMovingRoadMaintenance" },
8984 { 4, "shortTermStationaryRoadworks" },
8985 { 5, "streetCleaning" },
8986 { 6, "winterService" },
8992 dissect_itsv1_RoadworksSubCauseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8993 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
8994 0U, 255U, NULL
, false);
9002 dissect_itsv1_CurvatureValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9003 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9004 -30000, 30001U, NULL
, false);
9010 static const value_string itsv1_CurvatureConfidence_vals
[] = {
9011 { 0, "onePerMeter-0-00002" },
9012 { 1, "onePerMeter-0-0001" },
9013 { 2, "onePerMeter-0-0005" },
9014 { 3, "onePerMeter-0-002" },
9015 { 4, "onePerMeter-0-01" },
9016 { 5, "onePerMeter-0-1" },
9017 { 6, "outOfRange" },
9018 { 7, "unavailable" },
9024 dissect_itsv1_CurvatureConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9025 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
9026 8, NULL
, false, 0, NULL
);
9032 static const per_sequence_t itsv1_Curvature_sequence
[] = {
9033 { &hf_itsv1_curvatureValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_CurvatureValue
},
9034 { &hf_itsv1_curvatureConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_CurvatureConfidence
},
9035 { NULL
, 0, 0, NULL
}
9039 dissect_itsv1_Curvature(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9040 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
9041 ett_itsv1_Curvature
, itsv1_Curvature_sequence
);
9047 static const value_string itsv1_CurvatureCalculationMode_vals
[] = {
9048 { 0, "yawRateUsed" },
9049 { 1, "yawRateNotUsed" },
9050 { 2, "unavailable" },
9056 dissect_itsv1_CurvatureCalculationMode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9057 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
9058 3, NULL
, true, 0, NULL
);
9066 dissect_itsv1_HeadingConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9067 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9068 1U, 127U, NULL
, false);
9074 static const per_sequence_t itsv1_Heading_sequence
[] = {
9075 { &hf_itsv1_headingValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_HeadingValue
},
9076 { &hf_itsv1_headingConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_HeadingConfidence
},
9077 { NULL
, 0, 0, NULL
}
9081 dissect_itsv1_Heading(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9082 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
9083 ett_itsv1_Heading
, itsv1_Heading_sequence
);
9089 static const value_string itsv1_LanePosition_vals
[] = {
9090 { -1, "offTheRoad" },
9091 { 0, "hardShoulder" },
9092 { 1, "outermostDrivingLane" },
9093 { 2, "secondLaneFromOutside" },
9099 dissect_itsv1_LanePosition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9100 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9101 -1, 14U, NULL
, false);
9107 static const value_string itsv1_HardShoulderStatus_vals
[] = {
9108 { 0, "availableForStopping" },
9110 { 2, "availableForDriving" },
9116 dissect_itsv1_HardShoulderStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9117 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
9118 3, NULL
, false, 0, NULL
);
9124 static int * const itsv1_DrivingLaneStatus_bits
[] = {
9125 &hf_itsv1_DrivingLaneStatus_spare_bit0
,
9126 &hf_itsv1_DrivingLaneStatus_outermostLaneClosed
,
9127 &hf_itsv1_DrivingLaneStatus_secondLaneFromOutsideClosed
,
9132 dissect_itsv1_DrivingLaneStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9133 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
9134 1, 14, false, itsv1_DrivingLaneStatus_bits
, 3, NULL
, NULL
);
9140 static const per_sequence_t itsv1_ClosedLanes_sequence
[] = {
9141 { &hf_itsv1_hardShoulderStatus
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_HardShoulderStatus
},
9142 { &hf_itsv1_drivingLaneStatus
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_DrivingLaneStatus
},
9143 { NULL
, 0, 0, NULL
}
9147 dissect_itsv1_ClosedLanes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9148 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
9149 ett_itsv1_ClosedLanes
, itsv1_ClosedLanes_sequence
);
9155 static const value_string itsv1_PerformanceClass_vals
[] = {
9156 { 0, "unavailable" },
9157 { 1, "performanceClassA" },
9158 { 2, "performanceClassB" },
9164 dissect_itsv1_PerformanceClass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9165 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9166 0U, 7U, NULL
, false);
9174 dissect_itsv1_SpeedValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9175 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9176 0U, 16383U, NULL
, false);
9184 dissect_itsv1_SpeedConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9185 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9186 1U, 127U, NULL
, false);
9192 static const value_string itsv1_VehicleMass_vals
[] = {
9194 { 1024, "unavailable" },
9200 dissect_itsv1_VehicleMass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9201 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9202 1U, 1024U, NULL
, false);
9208 static const per_sequence_t itsv1_Speed_sequence
[] = {
9209 { &hf_itsv1_speedValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_SpeedValue
},
9210 { &hf_itsv1_speedConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_SpeedConfidence
},
9211 { NULL
, 0, 0, NULL
}
9215 dissect_itsv1_Speed(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9216 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
9217 ett_itsv1_Speed
, itsv1_Speed_sequence
);
9223 static const value_string itsv1_DriveDirection_vals
[] = {
9226 { 2, "unavailable" },
9232 dissect_itsv1_DriveDirection(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9233 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
9234 3, NULL
, false, 0, NULL
);
9242 dissect_itsv1_EmbarkationStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9243 offset
= dissect_per_boolean(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
9251 dissect_itsv1_LongitudinalAccelerationValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9252 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9253 -160, 161U, NULL
, false);
9261 dissect_itsv1_AccelerationConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9262 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9263 0U, 102U, NULL
, false);
9269 static const per_sequence_t itsv1_LongitudinalAcceleration_sequence
[] = {
9270 { &hf_itsv1_longitudinalAccelerationValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_LongitudinalAccelerationValue
},
9271 { &hf_itsv1_longitudinalAccelerationConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_AccelerationConfidence
},
9272 { NULL
, 0, 0, NULL
}
9276 dissect_itsv1_LongitudinalAcceleration(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9277 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
9278 ett_itsv1_LongitudinalAcceleration
, itsv1_LongitudinalAcceleration_sequence
);
9286 dissect_itsv1_LateralAccelerationValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9287 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9288 -160, 161U, NULL
, false);
9294 static const per_sequence_t itsv1_LateralAcceleration_sequence
[] = {
9295 { &hf_itsv1_lateralAccelerationValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_LateralAccelerationValue
},
9296 { &hf_itsv1_lateralAccelerationConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_AccelerationConfidence
},
9297 { NULL
, 0, 0, NULL
}
9301 dissect_itsv1_LateralAcceleration(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9302 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
9303 ett_itsv1_LateralAcceleration
, itsv1_LateralAcceleration_sequence
);
9311 dissect_itsv1_VerticalAccelerationValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9312 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9313 -160, 161U, NULL
, false);
9319 static const per_sequence_t itsv1_VerticalAcceleration_sequence
[] = {
9320 { &hf_itsv1_verticalAccelerationValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_VerticalAccelerationValue
},
9321 { &hf_itsv1_verticalAccelerationConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_AccelerationConfidence
},
9322 { NULL
, 0, 0, NULL
}
9326 dissect_itsv1_VerticalAcceleration(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9327 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
9328 ett_itsv1_VerticalAcceleration
, itsv1_VerticalAcceleration_sequence
);
9334 static const value_string itsv1_StationType_vals
[] = {
9336 { 1, "pedestrian" },
9339 { 4, "motorcycle" },
9340 { 5, "passengerCar" },
9342 { 7, "lightTruck" },
9343 { 8, "heavyTruck" },
9345 { 10, "specialVehicles" },
9347 { 15, "roadSideUnit" },
9353 dissect_itsv1_StationType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9354 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9355 0U, 255U, NULL
, false);
9361 static int * const itsv1_ExteriorLights_bits
[] = {
9362 &hf_itsv1_ExteriorLights_lowBeamHeadlightsOn
,
9363 &hf_itsv1_ExteriorLights_highBeamHeadlightsOn
,
9364 &hf_itsv1_ExteriorLights_leftTurnSignalOn
,
9365 &hf_itsv1_ExteriorLights_rightTurnSignalOn
,
9366 &hf_itsv1_ExteriorLights_daytimeRunningLightsOn
,
9367 &hf_itsv1_ExteriorLights_reverseLightOn
,
9368 &hf_itsv1_ExteriorLights_fogLightOn
,
9369 &hf_itsv1_ExteriorLights_parkingLightsOn
,
9374 dissect_itsv1_ExteriorLights(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9375 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
9376 8, 8, false, itsv1_ExteriorLights_bits
, 8, NULL
, NULL
);
9382 static const value_string itsv1_DangerousGoodsBasic_vals
[] = {
9383 { 0, "explosives1" },
9384 { 1, "explosives2" },
9385 { 2, "explosives3" },
9386 { 3, "explosives4" },
9387 { 4, "explosives5" },
9388 { 5, "explosives6" },
9389 { 6, "flammableGases" },
9390 { 7, "nonFlammableGases" },
9391 { 8, "toxicGases" },
9392 { 9, "flammableLiquids" },
9393 { 10, "flammableSolids" },
9394 { 11, "substancesLiableToSpontaneousCombustion" },
9395 { 12, "substancesEmittingFlammableGasesUponContactWithWater" },
9396 { 13, "oxidizingSubstances" },
9397 { 14, "organicPeroxides" },
9398 { 15, "toxicSubstances" },
9399 { 16, "infectiousSubstances" },
9400 { 17, "radioactiveMaterial" },
9401 { 18, "corrosiveSubstances" },
9402 { 19, "miscellaneousDangerousSubstances" },
9408 dissect_itsv1_DangerousGoodsBasic(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9409 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
9410 20, NULL
, false, 0, NULL
);
9418 dissect_itsv1_INTEGER_0_9999(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9419 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9420 0U, 9999U, NULL
, false);
9428 dissect_itsv1_BOOLEAN(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9429 offset
= dissect_per_boolean(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
9437 dissect_itsv1_IA5String_SIZE_1_24(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9438 offset
= dissect_per_IA5String(tvb
, offset
, actx
, tree
, hf_index
,
9448 dissect_itsv1_UTF8String_SIZE_1_24(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9449 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
9456 static const per_sequence_t itsv1_DangerousGoodsExtended_sequence
[] = {
9457 { &hf_itsv1_dangerousGoodsType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_DangerousGoodsBasic
},
9458 { &hf_itsv1_unNumber
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_INTEGER_0_9999
},
9459 { &hf_itsv1_elevatedTemperature
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_BOOLEAN
},
9460 { &hf_itsv1_tunnelsRestricted
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_BOOLEAN
},
9461 { &hf_itsv1_limitedQuantity
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_BOOLEAN
},
9462 { &hf_itsv1_emergencyActionCode
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_IA5String_SIZE_1_24
},
9463 { &hf_itsv1_phoneNumber
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_IA5String_SIZE_1_24
},
9464 { &hf_itsv1_companyName
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_UTF8String_SIZE_1_24
},
9465 { NULL
, 0, 0, NULL
}
9469 dissect_itsv1_DangerousGoodsExtended(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9470 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
9471 ett_itsv1_DangerousGoodsExtended
, itsv1_DangerousGoodsExtended_sequence
);
9477 static int * const itsv1_SpecialTransportType_bits
[] = {
9478 &hf_itsv1_SpecialTransportType_heavyLoad
,
9479 &hf_itsv1_SpecialTransportType_excessWidth
,
9480 &hf_itsv1_SpecialTransportType_excessLength
,
9481 &hf_itsv1_SpecialTransportType_excessHeight
,
9486 dissect_itsv1_SpecialTransportType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9487 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
9488 4, 4, false, itsv1_SpecialTransportType_bits
, 4, NULL
, NULL
);
9494 static int * const itsv1_LightBarSirenInUse_bits
[] = {
9495 &hf_itsv1_LightBarSirenInUse_lightBarActivated
,
9496 &hf_itsv1_LightBarSirenInUse_sirenActivated
,
9501 dissect_itsv1_LightBarSirenInUse(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9502 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
9503 2, 2, false, itsv1_LightBarSirenInUse_bits
, 2, NULL
, NULL
);
9509 static const value_string itsv1_HeightLonCarr_vals
[] = {
9510 { 1, "oneCentimeter" },
9511 { 100, "unavailable" },
9517 dissect_itsv1_HeightLonCarr(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9518 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9519 1U, 100U, NULL
, false);
9525 static const value_string itsv1_PosLonCarr_vals
[] = {
9526 { 1, "oneCentimeter" },
9527 { 127, "unavailable" },
9533 dissect_itsv1_PosLonCarr(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9534 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9535 1U, 127U, NULL
, false);
9541 static const value_string itsv1_PosPillar_vals
[] = {
9542 { 1, "tenCentimeters" },
9543 { 30, "unavailable" },
9549 dissect_itsv1_PosPillar(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9550 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9551 1U, 30U, NULL
, false);
9557 static const value_string itsv1_PosCentMass_vals
[] = {
9558 { 1, "tenCentimeters" },
9559 { 63, "unavailable" },
9565 dissect_itsv1_PosCentMass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9566 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9567 1U, 63U, NULL
, false);
9573 static const value_string itsv1_RequestResponseIndication_vals
[] = {
9581 dissect_itsv1_RequestResponseIndication(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9582 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
9583 2, NULL
, false, 0, NULL
);
9591 dissect_itsv1_SpeedLimit(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9592 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9593 1U, 255U, NULL
, false);
9599 static const value_string itsv1_StationarySince_vals
[] = {
9600 { 0, "lessThan1Minute" },
9601 { 1, "lessThan2Minutes" },
9602 { 2, "lessThan15Minutes" },
9603 { 3, "equalOrGreater15Minutes" },
9609 dissect_itsv1_StationarySince(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9610 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
9611 4, NULL
, false, 0, NULL
);
9617 static const value_string itsv1_Temperature_vals
[] = {
9618 { -60, "equalOrSmallerThanMinus60Deg" },
9619 { 1, "oneDegreeCelsius" },
9620 { 67, "equalOrGreaterThan67Deg" },
9626 dissect_itsv1_Temperature(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9627 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9628 -60, 67U, NULL
, false);
9634 static const value_string itsv1_TrafficRule_vals
[] = {
9636 { 1, "noPassingForTrucks" },
9637 { 2, "passToRight" },
9638 { 3, "passToLeft" },
9644 dissect_itsv1_TrafficRule(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9645 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
9646 4, NULL
, true, 0, NULL
);
9652 static const value_string itsv1_WheelBaseVehicle_vals
[] = {
9653 { 1, "tenCentimeters" },
9654 { 127, "unavailable" },
9660 dissect_itsv1_WheelBaseVehicle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9661 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9662 1U, 127U, NULL
, false);
9668 static const value_string itsv1_TurningRadius_vals
[] = {
9669 { 1, "point4Meters" },
9670 { 255, "unavailable" },
9676 dissect_itsv1_TurningRadius(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9677 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9678 1U, 255U, NULL
, false);
9684 static const value_string itsv1_PosFrontAx_vals
[] = {
9685 { 1, "tenCentimeters" },
9686 { 20, "unavailable" },
9692 dissect_itsv1_PosFrontAx(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9693 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9694 1U, 20U, NULL
, false);
9700 static int * const itsv1_PositionOfOccupants_bits
[] = {
9701 &hf_itsv1_PositionOfOccupants_row1LeftOccupied
,
9702 &hf_itsv1_PositionOfOccupants_row1RightOccupied
,
9703 &hf_itsv1_PositionOfOccupants_row1MidOccupied
,
9704 &hf_itsv1_PositionOfOccupants_row1NotDetectable
,
9705 &hf_itsv1_PositionOfOccupants_row1NotPresent
,
9706 &hf_itsv1_PositionOfOccupants_row2LeftOccupied
,
9707 &hf_itsv1_PositionOfOccupants_row2RightOccupied
,
9708 &hf_itsv1_PositionOfOccupants_row2MidOccupied
,
9709 &hf_itsv1_PositionOfOccupants_row2NotDetectable
,
9710 &hf_itsv1_PositionOfOccupants_row2NotPresent
,
9711 &hf_itsv1_PositionOfOccupants_row3LeftOccupied
,
9712 &hf_itsv1_PositionOfOccupants_row3RightOccupied
,
9713 &hf_itsv1_PositionOfOccupants_row3MidOccupied
,
9714 &hf_itsv1_PositionOfOccupants_row3NotDetectable
,
9715 &hf_itsv1_PositionOfOccupants_row3NotPresent
,
9716 &hf_itsv1_PositionOfOccupants_row4LeftOccupied
,
9717 &hf_itsv1_PositionOfOccupants_row4RightOccupied
,
9718 &hf_itsv1_PositionOfOccupants_row4MidOccupied
,
9719 &hf_itsv1_PositionOfOccupants_row4NotDetectable
,
9720 &hf_itsv1_PositionOfOccupants_row4NotPresent
,
9725 dissect_itsv1_PositionOfOccupants(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9726 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
9727 20, 20, false, itsv1_PositionOfOccupants_bits
, 20, NULL
, NULL
);
9733 static const value_string itsv1_PositioningSolutionType_vals
[] = {
9734 { 0, "noPositioningSolution" },
9737 { 3, "sGNSSplusDR" },
9738 { 4, "dGNSSplusDR" },
9745 dissect_itsv1_PositioningSolutionType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9746 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
9747 6, NULL
, true, 0, NULL
);
9755 dissect_itsv1_WMInumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9756 offset
= dissect_per_IA5String(tvb
, offset
, actx
, tree
, hf_index
,
9766 dissect_itsv1_VDS(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9767 offset
= dissect_per_IA5String(tvb
, offset
, actx
, tree
, hf_index
,
9775 static const per_sequence_t itsv1_VehicleIdentification_sequence
[] = {
9776 { &hf_itsv1_wMInumber
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_WMInumber
},
9777 { &hf_itsv1_vDS
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_VDS
},
9778 { NULL
, 0, 0, NULL
}
9782 dissect_itsv1_VehicleIdentification(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9783 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
9784 ett_itsv1_VehicleIdentification
, itsv1_VehicleIdentification_sequence
);
9790 static int * const itsv1_EnergyStorageType_bits
[] = {
9791 &hf_itsv1_EnergyStorageType_hydrogenStorage
,
9792 &hf_itsv1_EnergyStorageType_electricEnergyStorage
,
9793 &hf_itsv1_EnergyStorageType_liquidPropaneGas
,
9794 &hf_itsv1_EnergyStorageType_compressedNaturalGas
,
9795 &hf_itsv1_EnergyStorageType_diesel
,
9796 &hf_itsv1_EnergyStorageType_gasoline
,
9797 &hf_itsv1_EnergyStorageType_ammonia
,
9802 dissect_itsv1_EnergyStorageType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9803 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
9804 7, 7, false, itsv1_EnergyStorageType_bits
, 7, NULL
, NULL
);
9812 dissect_itsv1_VehicleLengthValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9813 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9814 1U, 1023U, NULL
, false);
9820 static const value_string itsv1_VehicleLengthConfidenceIndication_vals
[] = {
9821 { 0, "noTrailerPresent" },
9822 { 1, "trailerPresentWithKnownLength" },
9823 { 2, "trailerPresentWithUnknownLength" },
9824 { 3, "trailerPresenceIsUnknown" },
9825 { 4, "unavailable" },
9831 dissect_itsv1_VehicleLengthConfidenceIndication(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9832 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
9833 5, NULL
, false, 0, NULL
);
9839 static const per_sequence_t itsv1_VehicleLength_sequence
[] = {
9840 { &hf_itsv1_vehicleLengthValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_VehicleLengthValue
},
9841 { &hf_itsv1_vehicleLengthConfidenceIndication
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_VehicleLengthConfidenceIndication
},
9842 { NULL
, 0, 0, NULL
}
9846 dissect_itsv1_VehicleLength(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9847 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
9848 ett_itsv1_VehicleLength
, itsv1_VehicleLength_sequence
);
9856 dissect_itsv1_VehicleWidth(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9857 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9858 1U, 62U, NULL
, false);
9864 static const per_sequence_t itsv1_PathHistory_sequence_of
[1] = {
9865 { &hf_itsv1_PathHistory_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_PathPoint
},
9869 dissect_itsv1_PathHistory(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9870 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
9871 ett_itsv1_PathHistory
, itsv1_PathHistory_sequence_of
,
9878 static int * const itsv1_EmergencyPriority_bits
[] = {
9879 &hf_itsv1_EmergencyPriority_requestForRightOfWay
,
9880 &hf_itsv1_EmergencyPriority_requestForFreeCrossingAtATrafficLight
,
9885 dissect_itsv1_EmergencyPriority(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9886 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
9887 2, 2, false, itsv1_EmergencyPriority_bits
, 2, NULL
, NULL
);
9893 static const value_string itsv1_InformationQuality_vals
[] = {
9894 { 0, "unavailable" },
9902 dissect_itsv1_InformationQuality(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9903 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9904 0U, 7U, NULL
, false);
9910 static const value_string itsv1_RoadType_vals
[] = {
9911 { 0, "urban-NoStructuralSeparationToOppositeLanes" },
9912 { 1, "urban-WithStructuralSeparationToOppositeLanes" },
9913 { 2, "nonUrban-NoStructuralSeparationToOppositeLanes" },
9914 { 3, "nonUrban-WithStructuralSeparationToOppositeLanes" },
9920 dissect_itsv1_RoadType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9921 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
9922 4, NULL
, false, 0, NULL
);
9930 dissect_itsv1_SteeringWheelAngleValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9931 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9932 -511, 512U, NULL
, false);
9940 dissect_itsv1_SteeringWheelAngleConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9941 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
9942 1U, 127U, NULL
, false);
9948 static const per_sequence_t itsv1_SteeringWheelAngle_sequence
[] = {
9949 { &hf_itsv1_steeringWheelAngleValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_SteeringWheelAngleValue
},
9950 { &hf_itsv1_steeringWheelAngleConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_SteeringWheelAngleConfidence
},
9951 { NULL
, 0, 0, NULL
}
9955 dissect_itsv1_SteeringWheelAngle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9956 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
9957 ett_itsv1_SteeringWheelAngle
, itsv1_SteeringWheelAngle_sequence
);
9965 dissect_itsv1_TimestampIts(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9966 offset
= dissect_per_constrained_integer_64b(tvb
, offset
, actx
, tree
, hf_index
,
9967 0U, UINT64_C(4398046511103), NULL
, false);
9973 static const value_string itsv1_VehicleRole_vals
[] = {
9975 { 1, "publicTransport" },
9976 { 2, "specialTransport" },
9977 { 3, "dangerousGoods" },
9982 { 8, "agriculture" },
9983 { 9, "commercial" },
9985 { 11, "roadOperator" },
9987 { 13, "reserved1" },
9988 { 14, "reserved2" },
9989 { 15, "reserved3" },
9995 dissect_itsv1_VehicleRole(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
9996 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
9997 16, NULL
, false, 0, NULL
);
10005 dissect_itsv1_YawRateValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10006 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10007 -32766, 32767U, NULL
, false);
10013 static const value_string itsv1_YawRateConfidence_vals
[] = {
10014 { 0, "degSec-000-01" },
10015 { 1, "degSec-000-05" },
10016 { 2, "degSec-000-10" },
10017 { 3, "degSec-001-00" },
10018 { 4, "degSec-005-00" },
10019 { 5, "degSec-010-00" },
10020 { 6, "degSec-100-00" },
10021 { 7, "outOfRange" },
10022 { 8, "unavailable" },
10028 dissect_itsv1_YawRateConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10029 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
10030 9, NULL
, false, 0, NULL
);
10036 static const per_sequence_t itsv1_YawRate_sequence
[] = {
10037 { &hf_itsv1_yawRateValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_YawRateValue
},
10038 { &hf_itsv1_yawRateConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_YawRateConfidence
},
10039 { NULL
, 0, 0, NULL
}
10043 dissect_itsv1_YawRate(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10044 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10045 ett_itsv1_YawRate
, itsv1_YawRate_sequence
);
10051 static const value_string itsv1_ProtectedZoneType_vals
[] = {
10052 { 0, "cenDsrcTolling" },
10058 dissect_itsv1_ProtectedZoneType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10059 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
10060 1, NULL
, true, 0, NULL
);
10066 static const value_string itsv1_RelevanceDistance_vals
[] = {
10067 { 0, "lessThan50m" },
10068 { 1, "lessThan100m" },
10069 { 2, "lessThan200m" },
10070 { 3, "lessThan500m" },
10071 { 4, "lessThan1000m" },
10072 { 5, "lessThan5km" },
10073 { 6, "lessThan10km" },
10080 dissect_itsv1_RelevanceDistance(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10081 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
10082 8, NULL
, false, 0, NULL
);
10088 static const value_string itsv1_RelevanceTrafficDirection_vals
[] = {
10089 { 0, "allTrafficDirections" },
10090 { 1, "upstreamTraffic" },
10091 { 2, "downstreamTraffic" },
10092 { 3, "oppositeTraffic" },
10098 dissect_itsv1_RelevanceTrafficDirection(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10099 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
10100 4, NULL
, false, 0, NULL
);
10106 static const value_string itsv1_TransmissionInterval_vals
[] = {
10107 { 1, "oneMilliSecond" },
10108 { 10000, "tenSeconds" },
10114 dissect_itsv1_TransmissionInterval(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10115 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10116 1U, 10000U, NULL
, false);
10124 dissect_itsv1_ValidityDuration(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10125 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10126 0U, 86400U, NULL
, false);
10134 dissect_itsv1_SequenceNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10135 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10136 0U, 65535U, NULL
, false);
10142 static const per_sequence_t itsv1_ActionID_sequence
[] = {
10143 { &hf_itsv1_originatingStationID
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_StationID
},
10144 { &hf_itsv1_sequenceNumber
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_SequenceNumber
},
10145 { NULL
, 0, 0, NULL
}
10149 dissect_itsv1_ActionID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10150 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10151 ett_itsv1_ActionID
, itsv1_ActionID_sequence
);
10157 static const per_sequence_t itsv1_ItineraryPath_sequence_of
[1] = {
10158 { &hf_itsv1_ItineraryPath_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_ReferencePosition
},
10162 dissect_itsv1_ItineraryPath(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10163 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
10164 ett_itsv1_ItineraryPath
, itsv1_ItineraryPath_sequence_of
,
10171 static const value_string itsv1_ProtectedZoneRadius_vals
[] = {
10178 dissect_itsv1_ProtectedZoneRadius(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10179 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10180 1U, 255U, NULL
, true);
10188 dissect_itsv1_ProtectedZoneID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10189 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10190 0U, 134217727U, NULL
, false);
10196 static const per_sequence_t itsv1_ProtectedCommunicationZone_sequence
[] = {
10197 { &hf_itsv1_protectedZoneType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_ProtectedZoneType
},
10198 { &hf_itsv1_expiryTime
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_TimestampIts
},
10199 { &hf_itsv1_protectedZoneLatitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_Latitude
},
10200 { &hf_itsv1_protectedZoneLongitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_Longitude
},
10201 { &hf_itsv1_protectedZoneRadius
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_ProtectedZoneRadius
},
10202 { &hf_itsv1_protectedZoneID
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_ProtectedZoneID
},
10203 { NULL
, 0, 0, NULL
}
10207 dissect_itsv1_ProtectedCommunicationZone(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10208 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10209 ett_itsv1_ProtectedCommunicationZone
, itsv1_ProtectedCommunicationZone_sequence
);
10215 static const per_sequence_t itsv1_Traces_sequence_of
[1] = {
10216 { &hf_itsv1_Traces_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_PathHistory
},
10220 dissect_itsv1_Traces(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10221 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
10222 ett_itsv1_Traces
, itsv1_Traces_sequence_of
,
10229 static const value_string itsv1_NumberOfOccupants_vals
[] = {
10230 { 1, "oneOccupant" },
10231 { 127, "unavailable" },
10237 dissect_itsv1_NumberOfOccupants(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10238 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10239 0U, 127U, NULL
, false);
10245 static const per_sequence_t itsv1_PositionOfPillars_sequence_of
[1] = {
10246 { &hf_itsv1_PositionOfPillars_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_PosPillar
},
10250 dissect_itsv1_PositionOfPillars(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10251 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
10252 ett_itsv1_PositionOfPillars
, itsv1_PositionOfPillars_sequence_of
,
10259 static const per_sequence_t itsv1_RestrictedTypes_sequence_of
[1] = {
10260 { &hf_itsv1_RestrictedTypes_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_StationType
},
10264 dissect_itsv1_RestrictedTypes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10265 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
10266 ett_itsv1_RestrictedTypes
, itsv1_RestrictedTypes_sequence_of
,
10273 static const per_sequence_t itsv1_EventPoint_sequence
[] = {
10274 { &hf_itsv1_eventPosition
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_DeltaReferencePosition
},
10275 { &hf_itsv1_eventDeltaTime
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_PathDeltaTime
},
10276 { &hf_itsv1_informationQuality
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_InformationQuality
},
10277 { NULL
, 0, 0, NULL
}
10281 dissect_itsv1_EventPoint(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10282 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10283 ett_itsv1_EventPoint
, itsv1_EventPoint_sequence
);
10289 static const per_sequence_t itsv1_EventHistory_sequence_of
[1] = {
10290 { &hf_itsv1_EventHistory_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_EventPoint
},
10294 dissect_itsv1_EventHistory(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10295 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
10296 ett_itsv1_EventHistory
, itsv1_EventHistory_sequence_of
,
10303 static const per_sequence_t itsv1_ProtectedCommunicationZonesRSU_sequence_of
[1] = {
10304 { &hf_itsv1_ProtectedCommunicationZonesRSU_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_ProtectedCommunicationZone
},
10308 dissect_itsv1_ProtectedCommunicationZonesRSU(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10309 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
10310 ett_itsv1_ProtectedCommunicationZonesRSU
, itsv1_ProtectedCommunicationZonesRSU_sequence_of
,
10319 dissect_itsv1_CenDsrcTollingZoneID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10320 offset
= dissect_itsv1_ProtectedZoneID(tvb
, offset
, actx
, tree
, hf_index
);
10326 static const per_sequence_t itsv1_CenDsrcTollingZone_sequence
[] = {
10327 { &hf_itsv1_protectedZoneLatitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_Latitude
},
10328 { &hf_itsv1_protectedZoneLongitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_Longitude
},
10329 { &hf_itsv1_cenDsrcTollingZoneID
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_CenDsrcTollingZoneID
},
10330 { NULL
, 0, 0, NULL
}
10334 dissect_itsv1_CenDsrcTollingZone(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10335 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10336 ett_itsv1_CenDsrcTollingZone
, itsv1_CenDsrcTollingZone_sequence
);
10342 /* --- Module AVIAEINumberingAndDataStructures --- --- --- */
10347 dissect_anads_CountryCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10348 tvbuff_t
*val_tvb
= NULL
;
10349 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
10350 10, 10, false, NULL
, 0, &val_tvb
, NULL
);
10352 append_country_code_fmt(actx
->created_item
, val_tvb
);
10360 dissect_anads_AVIAEIIssuerIdentifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10361 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10362 0U, 16383U, NULL
, false);
10368 /* --- Module EfcDsrcApplication --- --- --- */
10373 dissect_dsrc_app_Int2(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10374 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10375 0U, 65535U, NULL
, false);
10381 static const per_sequence_t dsrc_app_AxleWeightLimits_sequence
[] = {
10382 { &hf_dsrc_app_maxLadenweightOnAxle1
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int2
},
10383 { &hf_dsrc_app_maxLadenweightOnAxle2
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int2
},
10384 { &hf_dsrc_app_maxLadenweightOnAxle3
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int2
},
10385 { &hf_dsrc_app_maxLadenweightOnAxle4
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int2
},
10386 { &hf_dsrc_app_maxLadenweightOnAxle5
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int2
},
10387 { NULL
, 0, 0, NULL
}
10391 dissect_dsrc_app_AxleWeightLimits(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10392 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10393 ett_dsrc_app_AxleWeightLimits
, dsrc_app_AxleWeightLimits_sequence
);
10399 static const value_string dsrc_app_UnitType_vals
[] = {
10407 dissect_dsrc_app_UnitType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10408 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
10409 2, NULL
, false, 0, NULL
);
10417 dissect_dsrc_app_INTEGER_0_32767(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10418 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10419 0U, 32767U, NULL
, false);
10425 static const per_sequence_t dsrc_app_T_particulate_sequence
[] = {
10426 { &hf_dsrc_app_unitType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_UnitType
},
10427 { &hf_dsrc_app_value
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_INTEGER_0_32767
},
10428 { NULL
, 0, 0, NULL
}
10432 dissect_dsrc_app_T_particulate(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10433 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10434 ett_dsrc_app_T_particulate
, dsrc_app_T_particulate_sequence
);
10440 static const per_sequence_t dsrc_app_DieselEmissionValues_sequence
[] = {
10441 { &hf_dsrc_app_particulate
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_T_particulate
},
10442 { &hf_dsrc_app_absorptionCoeff
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int2
},
10443 { NULL
, 0, 0, NULL
}
10447 dissect_dsrc_app_DieselEmissionValues(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10448 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10449 ett_dsrc_app_DieselEmissionValues
, dsrc_app_DieselEmissionValues_sequence
);
10455 static const value_string dsrc_app_EuroValue_vals
[] = {
10463 { 7, "reservedForUse1" },
10464 { 8, "reservedForUse2" },
10465 { 9, "reservedForUse3" },
10466 { 10, "reservedForUse4" },
10467 { 11, "reservedForUse5" },
10468 { 12, "reservedForUse6" },
10469 { 13, "reservedForUse7" },
10470 { 14, "reservedForUse8" },
10477 dissect_dsrc_app_EuroValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10478 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
10479 16, NULL
, false, 0, NULL
);
10485 static const value_string dsrc_app_CopValue_vals
[] = {
10487 { 1, "co2class1" },
10488 { 2, "co2class2" },
10489 { 3, "co2class3" },
10490 { 4, "co2class4" },
10491 { 5, "co2class5" },
10492 { 6, "co2class6" },
10493 { 7, "co2class7" },
10494 { 8, "reservedforUse" },
10500 dissect_dsrc_app_CopValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10501 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
10502 9, NULL
, false, 0, NULL
);
10508 static const per_sequence_t dsrc_app_EnvironmentalCharacteristics_sequence
[] = {
10509 { &hf_dsrc_app_euroValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_EuroValue
},
10510 { &hf_dsrc_app_copValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_CopValue
},
10511 { NULL
, 0, 0, NULL
}
10515 dissect_dsrc_app_EnvironmentalCharacteristics(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10516 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10517 ett_dsrc_app_EnvironmentalCharacteristics
, dsrc_app_EnvironmentalCharacteristics_sequence
);
10523 static const value_string dsrc_app_EngineCharacteristics_vals
[] = {
10526 { 2, "petrolUnleaded" },
10527 { 3, "petrolLeaded" },
10539 dissect_dsrc_app_EngineCharacteristics(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10540 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10541 0U, 255U, NULL
, false);
10547 static const per_sequence_t dsrc_app_ExhaustEmissionValues_sequence
[] = {
10548 { &hf_dsrc_app_unitType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_UnitType
},
10549 { &hf_dsrc_app_emissionCO
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_INTEGER_0_32767
},
10550 { &hf_dsrc_app_emissionHC
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int2
},
10551 { &hf_dsrc_app_emissionNOX
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int2
},
10552 { &hf_dsrc_app_emissionHCNOX
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int2
},
10553 { NULL
, 0, 0, NULL
}
10557 dissect_dsrc_app_ExhaustEmissionValues(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10558 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10559 ett_dsrc_app_ExhaustEmissionValues
, dsrc_app_ExhaustEmissionValues_sequence
);
10567 dissect_dsrc_app_Int1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10568 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10569 0U, 255U, NULL
, false);
10575 static const per_sequence_t dsrc_app_PassengerCapacity_sequence
[] = {
10576 { &hf_dsrc_app_numberOfSeats
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int1
},
10577 { &hf_dsrc_app_numberOfStandingPlaces
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int1
},
10578 { NULL
, 0, 0, NULL
}
10582 dissect_dsrc_app_PassengerCapacity(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10583 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10584 ett_dsrc_app_PassengerCapacity
, dsrc_app_PassengerCapacity_sequence
);
10590 static const per_sequence_t dsrc_app_Provider_sequence
[] = {
10591 { &hf_dsrc_app_countryCode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_anads_CountryCode
},
10592 { &hf_dsrc_app_providerIdentifier
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_anads_AVIAEIIssuerIdentifier
},
10593 { NULL
, 0, 0, NULL
}
10597 dissect_dsrc_app_Provider(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10598 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10599 ett_dsrc_app_Provider
, dsrc_app_Provider_sequence
);
10605 static const per_sequence_t dsrc_app_SoundLevel_sequence
[] = {
10606 { &hf_dsrc_app_soundstationary
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int1
},
10607 { &hf_dsrc_app_sounddriveby
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int1
},
10608 { NULL
, 0, 0, NULL
}
10612 dissect_dsrc_app_SoundLevel(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10613 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10614 ett_dsrc_app_SoundLevel
, dsrc_app_SoundLevel_sequence
);
10620 static const per_sequence_t dsrc_app_VehicleDimensions_sequence
[] = {
10621 { &hf_dsrc_app_vehicleLengthOverall
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int1
},
10622 { &hf_dsrc_app_vehicleHeigthOverall
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int1
},
10623 { &hf_dsrc_app_vehicleWidthOverall
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int1
},
10624 { NULL
, 0, 0, NULL
}
10628 dissect_dsrc_app_VehicleDimensions(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10629 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10630 ett_dsrc_app_VehicleDimensions
, dsrc_app_VehicleDimensions_sequence
);
10636 static const per_sequence_t dsrc_app_VehicleWeightLimits_sequence
[] = {
10637 { &hf_dsrc_app_vehicleMaxLadenWeight
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int2
},
10638 { &hf_dsrc_app_vehicleTrainMaximumWeight
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int2
},
10639 { &hf_dsrc_app_vehicleWeightUnladen
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Int2
},
10640 { NULL
, 0, 0, NULL
}
10644 dissect_dsrc_app_VehicleWeightLimits(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10645 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10646 ett_dsrc_app_VehicleWeightLimits
, dsrc_app_VehicleWeightLimits_sequence
);
10652 /* --- Module DSRC --- --- --- */
10655 static const value_string dsrc_RegionId_vals
[] = {
10656 { noRegion
, "noRegion" },
10657 { addGrpA
, "addGrpA" },
10658 { addGrpB
, "addGrpB" },
10659 { addGrpC
, "addGrpC" },
10665 dissect_dsrc_RegionId(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10666 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10667 0U, 255U, &((its_private_data_t
*)actx
->private_data
)->region_id
, false);
10675 dissect_dsrc_T_regExtValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10676 offset
= dissect_per_open_type_pdu_new(tvb
, offset
, actx
, tree
, hf_index
, dissect_regextval_pdu
);
10682 static const per_sequence_t dsrc_RegionalExtension_sequence
[] = {
10683 { &hf_dsrc_regionId
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionId
},
10684 { &hf_dsrc_regExtValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_T_regExtValue
},
10685 { NULL
, 0, 0, NULL
}
10689 dissect_dsrc_RegionalExtension(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10690 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10691 ett_dsrc_RegionalExtension
, dsrc_RegionalExtension_sequence
);
10699 dissect_dsrc_MinuteOfTheYear(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10700 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10701 0U, 527040U, NULL
, false);
10709 dissect_dsrc_MsgCount(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10710 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10711 0U, 127U, NULL
, false);
10717 static const value_string dsrc_LayerType_vals
[] = {
10719 { 1, "mixedContent" },
10720 { 2, "generalMapData" },
10721 { 3, "intersectionData" },
10722 { 4, "curveData" },
10723 { 5, "roadwaySectionData" },
10724 { 6, "parkingAreaData" },
10725 { 7, "sharedLaneData" },
10731 dissect_dsrc_LayerType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10732 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
10733 8, NULL
, true, 0, NULL
);
10741 dissect_dsrc_LayerID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10742 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10743 0U, 100U, NULL
, false);
10751 dissect_dsrc_DescriptiveName(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10752 offset
= dissect_per_IA5String(tvb
, offset
, actx
, tree
, hf_index
,
10762 dissect_dsrc_RoadRegulatorID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10763 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10764 0U, 65535U, NULL
, false);
10772 dissect_dsrc_IntersectionID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10773 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10774 0U, 65535U, NULL
, false);
10780 static const per_sequence_t dsrc_IntersectionReferenceID_sequence
[] = {
10781 { &hf_dsrc_region
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_RoadRegulatorID
},
10782 { &hf_dsrc_irId
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_IntersectionID
},
10783 { NULL
, 0, 0, NULL
}
10787 dissect_dsrc_IntersectionReferenceID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10788 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10789 ett_dsrc_IntersectionReferenceID
, dsrc_IntersectionReferenceID_sequence
);
10797 dissect_dsrc_Elevation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10798 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10799 -4096, 61439U, NULL
, false);
10805 static const per_sequence_t dsrc_T_Position3DRegional_sequence_of
[1] = {
10806 { &hf_dsrc_p3dRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
10810 dissect_dsrc_T_Position3DRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10811 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
10812 ett_dsrc_T_Position3DRegional
, dsrc_T_Position3DRegional_sequence_of
,
10819 static const per_sequence_t dsrc_Position3D_sequence
[] = {
10820 { &hf_dsrc_lat
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Latitude
},
10821 { &hf_dsrc_long
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Longitude
},
10822 { &hf_dsrc_p3dElevation
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_Elevation
},
10823 { &hf_dsrc_p3dRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_Position3DRegional
},
10824 { NULL
, 0, 0, NULL
}
10828 dissect_dsrc_Position3D(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10829 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
10830 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_Position3D
;
10831 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10832 ett_dsrc_Position3D
, dsrc_Position3D_sequence
);
10834 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
10841 dissect_dsrc_LaneWidth(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10842 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10843 0U, 32767U, NULL
, false);
10849 static const value_string dsrc_SpeedLimitType_vals
[] = {
10851 { 1, "maxSpeedInSchoolZone" },
10852 { 2, "maxSpeedInSchoolZoneWhenChildrenArePresent" },
10853 { 3, "maxSpeedInConstructionZone" },
10854 { 4, "vehicleMinSpeed" },
10855 { 5, "vehicleMaxSpeed" },
10856 { 6, "vehicleNightMaxSpeed" },
10857 { 7, "truckMinSpeed" },
10858 { 8, "truckMaxSpeed" },
10859 { 9, "truckNightMaxSpeed" },
10860 { 10, "vehiclesWithTrailersMinSpeed" },
10861 { 11, "vehiclesWithTrailersMaxSpeed" },
10862 { 12, "vehiclesWithTrailersNightMaxSpeed" },
10868 dissect_dsrc_SpeedLimitType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10869 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
10870 13, NULL
, true, 0, NULL
);
10878 dissect_dsrc_Velocity(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10879 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10880 0U, 8191U, NULL
, false);
10886 static const per_sequence_t dsrc_RegulatorySpeedLimit_sequence
[] = {
10887 { &hf_dsrc_rslType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SpeedLimitType
},
10888 { &hf_dsrc_rslSpeed
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Velocity
},
10889 { NULL
, 0, 0, NULL
}
10893 dissect_dsrc_RegulatorySpeedLimit(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10894 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
10895 ett_dsrc_RegulatorySpeedLimit
, dsrc_RegulatorySpeedLimit_sequence
);
10901 static const per_sequence_t dsrc_SpeedLimitList_sequence_of
[1] = {
10902 { &hf_dsrc_SpeedLimitList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegulatorySpeedLimit
},
10906 dissect_dsrc_SpeedLimitList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10907 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
10908 ett_dsrc_SpeedLimitList
, dsrc_SpeedLimitList_sequence_of
,
10917 dissect_dsrc_LaneID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10918 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10919 0U, 255U, NULL
, false);
10927 dissect_dsrc_ApproachID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10928 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
10929 0U, 15U, NULL
, false);
10935 static int * const dsrc_LaneDirection_bits
[] = {
10936 &hf_dsrc_LaneDirection_ingressPath
,
10937 &hf_dsrc_LaneDirection_egressPath
,
10942 dissect_dsrc_LaneDirection(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10943 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
10944 2, 2, false, dsrc_LaneDirection_bits
, 2, NULL
, NULL
);
10950 static int * const dsrc_LaneSharing_bits
[] = {
10951 &hf_dsrc_LaneSharing_overlappingLaneDescriptionProvided
,
10952 &hf_dsrc_LaneSharing_multipleLanesTreatedAsOneLane
,
10953 &hf_dsrc_LaneSharing_otherNonMotorizedTrafficTypes
,
10954 &hf_dsrc_LaneSharing_individualMotorizedVehicleTraffic
,
10955 &hf_dsrc_LaneSharing_busVehicleTraffic
,
10956 &hf_dsrc_LaneSharing_taxiVehicleTraffic
,
10957 &hf_dsrc_LaneSharing_pedestriansTraffic
,
10958 &hf_dsrc_LaneSharing_cyclistVehicleTraffic
,
10959 &hf_dsrc_LaneSharing_trackedVehicleTraffic
,
10960 &hf_dsrc_LaneSharing_pedestrianTraffic
,
10965 dissect_dsrc_LaneSharing(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10966 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
10967 10, 10, false, dsrc_LaneSharing_bits
, 10, NULL
, NULL
);
10973 static int * const dsrc_LaneAttributes_Vehicle_bits
[] = {
10974 &hf_dsrc_LaneAttributes_Vehicle_isVehicleRevocableLane
,
10975 &hf_dsrc_LaneAttributes_Vehicle_isVehicleFlyOverLane
,
10976 &hf_dsrc_LaneAttributes_Vehicle_hovLaneUseOnly
,
10977 &hf_dsrc_LaneAttributes_Vehicle_restrictedToBusUse
,
10978 &hf_dsrc_LaneAttributes_Vehicle_restrictedToTaxiUse
,
10979 &hf_dsrc_LaneAttributes_Vehicle_restrictedFromPublicUse
,
10980 &hf_dsrc_LaneAttributes_Vehicle_hasIRbeaconCoverage
,
10981 &hf_dsrc_LaneAttributes_Vehicle_permissionOnRequest
,
10986 dissect_dsrc_LaneAttributes_Vehicle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
10987 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
10988 8, 8, true, dsrc_LaneAttributes_Vehicle_bits
, 8, NULL
, NULL
);
10994 static int * const dsrc_LaneAttributes_Crosswalk_bits
[] = {
10995 &hf_dsrc_LaneAttributes_Crosswalk_crosswalkRevocableLane
,
10996 &hf_dsrc_LaneAttributes_Crosswalk_bicyleUseAllowed
,
10997 &hf_dsrc_LaneAttributes_Crosswalk_isXwalkFlyOverLane
,
10998 &hf_dsrc_LaneAttributes_Crosswalk_fixedCycleTime
,
10999 &hf_dsrc_LaneAttributes_Crosswalk_biDirectionalCycleTimes
,
11000 &hf_dsrc_LaneAttributes_Crosswalk_hasPushToWalkButton
,
11001 &hf_dsrc_LaneAttributes_Crosswalk_audioSupport
,
11002 &hf_dsrc_LaneAttributes_Crosswalk_rfSignalRequestPresent
,
11003 &hf_dsrc_LaneAttributes_Crosswalk_unsignalizedSegmentsPresent
,
11008 dissect_dsrc_LaneAttributes_Crosswalk(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11009 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
11010 16, 16, false, dsrc_LaneAttributes_Crosswalk_bits
, 9, NULL
, NULL
);
11016 static int * const dsrc_LaneAttributes_Bike_bits
[] = {
11017 &hf_dsrc_LaneAttributes_Bike_bikeRevocableLane
,
11018 &hf_dsrc_LaneAttributes_Bike_pedestrianUseAllowed
,
11019 &hf_dsrc_LaneAttributes_Bike_isBikeFlyOverLane
,
11020 &hf_dsrc_LaneAttributes_Bike_fixedCycleTime
,
11021 &hf_dsrc_LaneAttributes_Bike_biDirectionalCycleTimes
,
11022 &hf_dsrc_LaneAttributes_Bike_isolatedByBarrier
,
11023 &hf_dsrc_LaneAttributes_Bike_unsignalizedSegmentsPresent
,
11028 dissect_dsrc_LaneAttributes_Bike(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11029 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
11030 16, 16, false, dsrc_LaneAttributes_Bike_bits
, 7, NULL
, NULL
);
11036 static int * const dsrc_LaneAttributes_Sidewalk_bits
[] = {
11037 &hf_dsrc_LaneAttributes_Sidewalk_sidewalk_RevocableLane
,
11038 &hf_dsrc_LaneAttributes_Sidewalk_bicyleUseAllowed
,
11039 &hf_dsrc_LaneAttributes_Sidewalk_isSidewalkFlyOverLane
,
11040 &hf_dsrc_LaneAttributes_Sidewalk_walkBikes
,
11045 dissect_dsrc_LaneAttributes_Sidewalk(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11046 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
11047 16, 16, false, dsrc_LaneAttributes_Sidewalk_bits
, 4, NULL
, NULL
);
11053 static int * const dsrc_LaneAttributes_Barrier_bits
[] = {
11054 &hf_dsrc_LaneAttributes_Barrier_median_RevocableLane
,
11055 &hf_dsrc_LaneAttributes_Barrier_median
,
11056 &hf_dsrc_LaneAttributes_Barrier_whiteLineHashing
,
11057 &hf_dsrc_LaneAttributes_Barrier_stripedLines
,
11058 &hf_dsrc_LaneAttributes_Barrier_doubleStripedLines
,
11059 &hf_dsrc_LaneAttributes_Barrier_trafficCones
,
11060 &hf_dsrc_LaneAttributes_Barrier_constructionBarrier
,
11061 &hf_dsrc_LaneAttributes_Barrier_trafficChannels
,
11062 &hf_dsrc_LaneAttributes_Barrier_lowCurbs
,
11063 &hf_dsrc_LaneAttributes_Barrier_highCurbs
,
11068 dissect_dsrc_LaneAttributes_Barrier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11069 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
11070 16, 16, false, dsrc_LaneAttributes_Barrier_bits
, 10, NULL
, NULL
);
11076 static int * const dsrc_LaneAttributes_Striping_bits
[] = {
11077 &hf_dsrc_LaneAttributes_Striping_stripeToConnectingLanesRevocableLane
,
11078 &hf_dsrc_LaneAttributes_Striping_stripeDrawOnLeft
,
11079 &hf_dsrc_LaneAttributes_Striping_stripeDrawOnRight
,
11080 &hf_dsrc_LaneAttributes_Striping_stripeToConnectingLanesLeft
,
11081 &hf_dsrc_LaneAttributes_Striping_stripeToConnectingLanesRight
,
11082 &hf_dsrc_LaneAttributes_Striping_stripeToConnectingLanesAhead
,
11087 dissect_dsrc_LaneAttributes_Striping(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11088 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
11089 16, 16, false, dsrc_LaneAttributes_Striping_bits
, 6, NULL
, NULL
);
11095 static int * const dsrc_LaneAttributes_TrackedVehicle_bits
[] = {
11096 &hf_dsrc_LaneAttributes_TrackedVehicle_spec_RevocableLane
,
11097 &hf_dsrc_LaneAttributes_TrackedVehicle_spec_commuterRailRoadTrack
,
11098 &hf_dsrc_LaneAttributes_TrackedVehicle_spec_lightRailRoadTrack
,
11099 &hf_dsrc_LaneAttributes_TrackedVehicle_spec_heavyRailRoadTrack
,
11100 &hf_dsrc_LaneAttributes_TrackedVehicle_spec_otherRailType
,
11105 dissect_dsrc_LaneAttributes_TrackedVehicle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11106 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
11107 16, 16, false, dsrc_LaneAttributes_TrackedVehicle_bits
, 5, NULL
, NULL
);
11113 static int * const dsrc_LaneAttributes_Parking_bits
[] = {
11114 &hf_dsrc_LaneAttributes_Parking_parkingRevocableLane
,
11115 &hf_dsrc_LaneAttributes_Parking_parallelParkingInUse
,
11116 &hf_dsrc_LaneAttributes_Parking_headInParkingInUse
,
11117 &hf_dsrc_LaneAttributes_Parking_doNotParkZone
,
11118 &hf_dsrc_LaneAttributes_Parking_parkingForBusUse
,
11119 &hf_dsrc_LaneAttributes_Parking_parkingForTaxiUse
,
11120 &hf_dsrc_LaneAttributes_Parking_noPublicParkingUse
,
11125 dissect_dsrc_LaneAttributes_Parking(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11126 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
11127 16, 16, false, dsrc_LaneAttributes_Parking_bits
, 7, NULL
, NULL
);
11133 static const value_string dsrc_LaneTypeAttributes_vals
[] = {
11135 { 1, "crosswalk" },
11140 { 6, "trackedVehicle" },
11145 static const per_choice_t dsrc_LaneTypeAttributes_choice
[] = {
11146 { 0, &hf_dsrc_vehicle
, ASN1_EXTENSION_ROOT
, dissect_dsrc_LaneAttributes_Vehicle
},
11147 { 1, &hf_dsrc_crosswalk
, ASN1_EXTENSION_ROOT
, dissect_dsrc_LaneAttributes_Crosswalk
},
11148 { 2, &hf_dsrc_bikeLane
, ASN1_EXTENSION_ROOT
, dissect_dsrc_LaneAttributes_Bike
},
11149 { 3, &hf_dsrc_sidewalk
, ASN1_EXTENSION_ROOT
, dissect_dsrc_LaneAttributes_Sidewalk
},
11150 { 4, &hf_dsrc_median
, ASN1_EXTENSION_ROOT
, dissect_dsrc_LaneAttributes_Barrier
},
11151 { 5, &hf_dsrc_striping
, ASN1_EXTENSION_ROOT
, dissect_dsrc_LaneAttributes_Striping
},
11152 { 6, &hf_dsrc_trackedVehicle
, ASN1_EXTENSION_ROOT
, dissect_dsrc_LaneAttributes_TrackedVehicle
},
11153 { 7, &hf_dsrc_parking
, ASN1_EXTENSION_ROOT
, dissect_dsrc_LaneAttributes_Parking
},
11154 { 0, NULL
, 0, NULL
}
11158 dissect_dsrc_LaneTypeAttributes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11159 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
11160 ett_dsrc_LaneTypeAttributes
, dsrc_LaneTypeAttributes_choice
,
11167 static const per_sequence_t dsrc_LaneAttributes_sequence
[] = {
11168 { &hf_dsrc_directionalUse
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_LaneDirection
},
11169 { &hf_dsrc_sharedWith
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_LaneSharing
},
11170 { &hf_dsrc_laneType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_LaneTypeAttributes
},
11171 { &hf_dsrc_laRegional
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_RegionalExtension
},
11172 { NULL
, 0, 0, NULL
}
11176 dissect_dsrc_LaneAttributes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11177 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
11178 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_LaneAttributes
;
11179 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
11180 ett_dsrc_LaneAttributes
, dsrc_LaneAttributes_sequence
);
11182 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
11187 static int * const dsrc_AllowedManeuvers_bits
[] = {
11188 &hf_dsrc_AllowedManeuvers_maneuverStraightAllowed
,
11189 &hf_dsrc_AllowedManeuvers_maneuverLeftAllowed
,
11190 &hf_dsrc_AllowedManeuvers_maneuverRightAllowed
,
11191 &hf_dsrc_AllowedManeuvers_maneuverUTurnAllowed
,
11192 &hf_dsrc_AllowedManeuvers_maneuverLeftTurnOnRedAllowed
,
11193 &hf_dsrc_AllowedManeuvers_maneuverRightTurnOnRedAllowed
,
11194 &hf_dsrc_AllowedManeuvers_maneuverLaneChangeAllowed
,
11195 &hf_dsrc_AllowedManeuvers_maneuverNoStoppingAllowed
,
11196 &hf_dsrc_AllowedManeuvers_yieldAllwaysRequired
,
11197 &hf_dsrc_AllowedManeuvers_goWithHalt
,
11198 &hf_dsrc_AllowedManeuvers_caution
,
11199 &hf_dsrc_AllowedManeuvers_reserved1
,
11204 dissect_dsrc_AllowedManeuvers(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11205 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
11206 12, 12, false, dsrc_AllowedManeuvers_bits
, 12, NULL
, NULL
);
11214 dissect_dsrc_Offset_B10(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11215 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11216 -512, 511U, NULL
, false);
11222 static const per_sequence_t dsrc_Node_XY_20b_sequence
[] = {
11223 { &hf_dsrc_n20bX
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Offset_B10
},
11224 { &hf_dsrc_n20bY
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Offset_B10
},
11225 { NULL
, 0, 0, NULL
}
11229 dissect_dsrc_Node_XY_20b(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11230 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
11231 ett_dsrc_Node_XY_20b
, dsrc_Node_XY_20b_sequence
);
11239 dissect_dsrc_Offset_B11(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11240 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11241 -1024, 1023U, NULL
, false);
11247 static const per_sequence_t dsrc_Node_XY_22b_sequence
[] = {
11248 { &hf_dsrc_n22bX
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Offset_B11
},
11249 { &hf_dsrc_n22bY
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Offset_B11
},
11250 { NULL
, 0, 0, NULL
}
11254 dissect_dsrc_Node_XY_22b(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11255 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
11256 ett_dsrc_Node_XY_22b
, dsrc_Node_XY_22b_sequence
);
11264 dissect_dsrc_Offset_B12(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11265 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11266 -2048, 2047U, NULL
, false);
11272 static const per_sequence_t dsrc_Node_XY_24b_sequence
[] = {
11273 { &hf_dsrc_n24bX
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Offset_B12
},
11274 { &hf_dsrc_n24bY
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Offset_B12
},
11275 { NULL
, 0, 0, NULL
}
11279 dissect_dsrc_Node_XY_24b(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11280 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
11281 ett_dsrc_Node_XY_24b
, dsrc_Node_XY_24b_sequence
);
11289 dissect_dsrc_Offset_B13(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11290 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11291 -4096, 4095U, NULL
, false);
11297 static const per_sequence_t dsrc_Node_XY_26b_sequence
[] = {
11298 { &hf_dsrc_n26bX
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Offset_B13
},
11299 { &hf_dsrc_n26bY
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Offset_B13
},
11300 { NULL
, 0, 0, NULL
}
11304 dissect_dsrc_Node_XY_26b(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11305 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
11306 ett_dsrc_Node_XY_26b
, dsrc_Node_XY_26b_sequence
);
11314 dissect_dsrc_Offset_B14(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11315 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11316 -8192, 8191U, NULL
, false);
11322 static const per_sequence_t dsrc_Node_XY_28b_sequence
[] = {
11323 { &hf_dsrc_n28bX
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Offset_B14
},
11324 { &hf_dsrc_n28bY
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Offset_B14
},
11325 { NULL
, 0, 0, NULL
}
11329 dissect_dsrc_Node_XY_28b(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11330 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
11331 ett_dsrc_Node_XY_28b
, dsrc_Node_XY_28b_sequence
);
11339 dissect_dsrc_Offset_B16(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11340 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11341 -32768, 32767U, NULL
, false);
11347 static const per_sequence_t dsrc_Node_XY_32b_sequence
[] = {
11348 { &hf_dsrc_n32bX
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Offset_B16
},
11349 { &hf_dsrc_n32bY
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Offset_B16
},
11350 { NULL
, 0, 0, NULL
}
11354 dissect_dsrc_Node_XY_32b(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11355 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
11356 ett_dsrc_Node_XY_32b
, dsrc_Node_XY_32b_sequence
);
11362 static const per_sequence_t dsrc_Node_LLmD_64b_sequence
[] = {
11363 { &hf_dsrc_lon
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Longitude
},
11364 { &hf_dsrc_lat
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Latitude
},
11365 { NULL
, 0, 0, NULL
}
11369 dissect_dsrc_Node_LLmD_64b(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11370 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
11371 ett_dsrc_Node_LLmD_64b
, dsrc_Node_LLmD_64b_sequence
);
11377 static const value_string dsrc_NodeOffsetPointXY_vals
[] = {
11384 { 6, "node-LatLon" },
11389 static const per_choice_t dsrc_NodeOffsetPointXY_choice
[] = {
11390 { 0, &hf_dsrc_node_XY1
, ASN1_NO_EXTENSIONS
, dissect_dsrc_Node_XY_20b
},
11391 { 1, &hf_dsrc_node_XY2
, ASN1_NO_EXTENSIONS
, dissect_dsrc_Node_XY_22b
},
11392 { 2, &hf_dsrc_node_XY3
, ASN1_NO_EXTENSIONS
, dissect_dsrc_Node_XY_24b
},
11393 { 3, &hf_dsrc_node_XY4
, ASN1_NO_EXTENSIONS
, dissect_dsrc_Node_XY_26b
},
11394 { 4, &hf_dsrc_node_XY5
, ASN1_NO_EXTENSIONS
, dissect_dsrc_Node_XY_28b
},
11395 { 5, &hf_dsrc_node_XY6
, ASN1_NO_EXTENSIONS
, dissect_dsrc_Node_XY_32b
},
11396 { 6, &hf_dsrc_node_LatLon
, ASN1_NO_EXTENSIONS
, dissect_dsrc_Node_LLmD_64b
},
11397 { 7, &hf_dsrc_nopxyRegional
, ASN1_NO_EXTENSIONS
, dissect_dsrc_RegionalExtension
},
11398 { 0, NULL
, 0, NULL
}
11402 dissect_dsrc_NodeOffsetPointXY(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11403 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
11404 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_NodeOffsetPointXY
;
11405 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
11406 ett_dsrc_NodeOffsetPointXY
, dsrc_NodeOffsetPointXY_choice
,
11409 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
11414 static const value_string dsrc_NodeAttributeXY_vals
[] = {
11417 { 2, "roundedCapStyleA" },
11418 { 3, "roundedCapStyleB" },
11419 { 4, "mergePoint" },
11420 { 5, "divergePoint" },
11421 { 6, "downstreamStopLine" },
11422 { 7, "downstreamStartNode" },
11423 { 8, "closedToTraffic" },
11424 { 9, "safeIsland" },
11425 { 10, "curbPresentAtStepOff" },
11426 { 11, "hydrantPresent" },
11432 dissect_dsrc_NodeAttributeXY(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11433 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
11434 12, NULL
, true, 0, NULL
);
11440 static const per_sequence_t dsrc_NodeAttributeXYList_sequence_of
[1] = {
11441 { &hf_dsrc_NodeAttributeXYList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_NodeAttributeXY
},
11445 dissect_dsrc_NodeAttributeXYList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11446 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
11447 ett_dsrc_NodeAttributeXYList
, dsrc_NodeAttributeXYList_sequence_of
,
11454 static const value_string dsrc_SegmentAttributeXY_vals
[] = {
11456 { 1, "doNotBlock" },
11457 { 2, "whiteLine" },
11458 { 3, "mergingLaneLeft" },
11459 { 4, "mergingLaneRight" },
11460 { 5, "curbOnLeft" },
11461 { 6, "curbOnRight" },
11462 { 7, "loadingzoneOnLeft" },
11463 { 8, "loadingzoneOnRight" },
11464 { 9, "turnOutPointOnLeft" },
11465 { 10, "turnOutPointOnRight" },
11466 { 11, "adjacentParkingOnLeft" },
11467 { 12, "adjacentParkingOnRight" },
11468 { 13, "adjacentBikeLaneOnLeft" },
11469 { 14, "adjacentBikeLaneOnRight" },
11470 { 15, "sharedBikeLane" },
11471 { 16, "bikeBoxInFront" },
11472 { 17, "transitStopOnLeft" },
11473 { 18, "transitStopOnRight" },
11474 { 19, "transitStopInLane" },
11475 { 20, "sharedWithTrackedVehicle" },
11476 { 21, "safeIsland" },
11477 { 22, "lowCurbsPresent" },
11478 { 23, "rumbleStripPresent" },
11479 { 24, "audibleSignalingPresent" },
11480 { 25, "adaptiveTimingPresent" },
11481 { 26, "rfSignalRequestPresent" },
11482 { 27, "partialCurbIntrusion" },
11483 { 28, "taperToLeft" },
11484 { 29, "taperToRight" },
11485 { 30, "taperToCenterLine" },
11486 { 31, "parallelParking" },
11487 { 32, "headInParking" },
11488 { 33, "freeParking" },
11489 { 34, "timeRestrictionsOnParking" },
11490 { 35, "costToPark" },
11491 { 36, "midBlockCurbPresent" },
11492 { 37, "unEvenPavementPresent" },
11498 dissect_dsrc_SegmentAttributeXY(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11499 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
11500 38, NULL
, true, 0, NULL
);
11506 static const per_sequence_t dsrc_SegmentAttributeXYList_sequence_of
[1] = {
11507 { &hf_dsrc_SegmentAttributeXYList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SegmentAttributeXY
},
11511 dissect_dsrc_SegmentAttributeXYList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11512 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
11513 ett_dsrc_SegmentAttributeXYList
, dsrc_SegmentAttributeXYList_sequence_of
,
11522 dissect_dsrc_DeltaAngle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11523 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11524 -150, 150U, NULL
, false);
11532 dissect_dsrc_RoadwayCrownAngle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11533 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11534 -128, 127U, NULL
, false);
11542 dissect_dsrc_MergeDivergeNodeAngle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11543 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11544 -180, 180U, NULL
, false);
11550 static const per_sequence_t dsrc_T_LaneDataAttributeRegional_sequence_of
[1] = {
11551 { &hf_dsrc_ldaRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
11555 dissect_dsrc_T_LaneDataAttributeRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11556 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
11557 ett_dsrc_T_LaneDataAttributeRegional
, dsrc_T_LaneDataAttributeRegional_sequence_of
,
11564 static const value_string dsrc_LaneDataAttribute_vals
[] = {
11565 { 0, "pathEndPointAngle" },
11566 { 1, "laneCrownPointCenter" },
11567 { 2, "laneCrownPointLeft" },
11568 { 3, "laneCrownPointRight" },
11569 { 4, "laneAngle" },
11570 { 5, "speedLimits" },
11575 static const per_choice_t dsrc_LaneDataAttribute_choice
[] = {
11576 { 0, &hf_dsrc_pathEndPointAngle
, ASN1_EXTENSION_ROOT
, dissect_dsrc_DeltaAngle
},
11577 { 1, &hf_dsrc_laneCrownPointCenter
, ASN1_EXTENSION_ROOT
, dissect_dsrc_RoadwayCrownAngle
},
11578 { 2, &hf_dsrc_laneCrownPointLeft
, ASN1_EXTENSION_ROOT
, dissect_dsrc_RoadwayCrownAngle
},
11579 { 3, &hf_dsrc_laneCrownPointRight
, ASN1_EXTENSION_ROOT
, dissect_dsrc_RoadwayCrownAngle
},
11580 { 4, &hf_dsrc_laneAngle
, ASN1_EXTENSION_ROOT
, dissect_dsrc_MergeDivergeNodeAngle
},
11581 { 5, &hf_dsrc_speedLimits
, ASN1_EXTENSION_ROOT
, dissect_dsrc_SpeedLimitList
},
11582 { 6, &hf_dsrc_ldaRegional
, ASN1_EXTENSION_ROOT
, dissect_dsrc_T_LaneDataAttributeRegional
},
11583 { 0, NULL
, 0, NULL
}
11587 dissect_dsrc_LaneDataAttribute(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11588 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
11589 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_LaneDataAttribute
;
11590 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
11591 ett_dsrc_LaneDataAttribute
, dsrc_LaneDataAttribute_choice
,
11594 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
11599 static const per_sequence_t dsrc_LaneDataAttributeList_sequence_of
[1] = {
11600 { &hf_dsrc_LaneDataAttributeList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_LaneDataAttribute
},
11604 dissect_dsrc_LaneDataAttributeList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11605 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
11606 ett_dsrc_LaneDataAttributeList
, dsrc_LaneDataAttributeList_sequence_of
,
11613 static const per_sequence_t dsrc_T_NodeAttributeSetXYRegional_sequence_of
[1] = {
11614 { &hf_dsrc_nasxyRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
11618 dissect_dsrc_T_NodeAttributeSetXYRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11619 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
11620 ett_dsrc_T_NodeAttributeSetXYRegional
, dsrc_T_NodeAttributeSetXYRegional_sequence_of
,
11627 static const per_sequence_t dsrc_NodeAttributeSetXY_sequence
[] = {
11628 { &hf_dsrc_localNode
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_NodeAttributeXYList
},
11629 { &hf_dsrc_disabled
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_SegmentAttributeXYList
},
11630 { &hf_dsrc_enabled
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_SegmentAttributeXYList
},
11631 { &hf_dsrc_data
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_LaneDataAttributeList
},
11632 { &hf_dsrc_dWidth
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_Offset_B10
},
11633 { &hf_dsrc_dElevation
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_Offset_B10
},
11634 { &hf_dsrc_nasxyRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_NodeAttributeSetXYRegional
},
11635 { NULL
, 0, 0, NULL
}
11639 dissect_dsrc_NodeAttributeSetXY(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11640 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
11641 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_NodeAttributeSetXY
;
11642 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
11643 ett_dsrc_NodeAttributeSetXY
, dsrc_NodeAttributeSetXY_sequence
);
11645 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
11650 static const per_sequence_t dsrc_NodeXY_sequence
[] = {
11651 { &hf_dsrc_delta
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_NodeOffsetPointXY
},
11652 { &hf_dsrc_attributes
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_NodeAttributeSetXY
},
11653 { NULL
, 0, 0, NULL
}
11657 dissect_dsrc_NodeXY(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11658 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
11659 ett_dsrc_NodeXY
, dsrc_NodeXY_sequence
);
11665 static const per_sequence_t dsrc_NodeSetXY_sequence_of
[1] = {
11666 { &hf_dsrc_NodeSetXY_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_NodeXY
},
11670 dissect_dsrc_NodeSetXY(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11671 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
11672 ett_dsrc_NodeSetXY
, dsrc_NodeSetXY_sequence_of
,
11681 dissect_dsrc_DrivenLineOffsetSm(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11682 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11683 -2047, 2047U, NULL
, false);
11691 dissect_dsrc_DrivenLineOffsetLg(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11692 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11693 -32767, 32767U, NULL
, false);
11699 static const value_string dsrc_T_offsetXaxis_vals
[] = {
11705 static const per_choice_t dsrc_T_offsetXaxis_choice
[] = {
11706 { 0, &hf_dsrc_small
, ASN1_NO_EXTENSIONS
, dissect_dsrc_DrivenLineOffsetSm
},
11707 { 1, &hf_dsrc_large
, ASN1_NO_EXTENSIONS
, dissect_dsrc_DrivenLineOffsetLg
},
11708 { 0, NULL
, 0, NULL
}
11712 dissect_dsrc_T_offsetXaxis(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11713 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
11714 ett_dsrc_T_offsetXaxis
, dsrc_T_offsetXaxis_choice
,
11721 static const value_string dsrc_T_offsetYaxis_vals
[] = {
11727 static const per_choice_t dsrc_T_offsetYaxis_choice
[] = {
11728 { 0, &hf_dsrc_small
, ASN1_NO_EXTENSIONS
, dissect_dsrc_DrivenLineOffsetSm
},
11729 { 1, &hf_dsrc_large
, ASN1_NO_EXTENSIONS
, dissect_dsrc_DrivenLineOffsetLg
},
11730 { 0, NULL
, 0, NULL
}
11734 dissect_dsrc_T_offsetYaxis(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11735 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
11736 ett_dsrc_T_offsetYaxis
, dsrc_T_offsetYaxis_choice
,
11745 dissect_dsrc_Angle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11746 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11747 0U, 28800U, NULL
, false);
11755 dissect_dsrc_Scale_B12(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11756 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11757 -2048, 2047U, NULL
, false);
11763 static const per_sequence_t dsrc_T_ComputedLaneRegional_sequence_of
[1] = {
11764 { &hf_dsrc_clRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
11768 dissect_dsrc_T_ComputedLaneRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11769 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
11770 ett_dsrc_T_ComputedLaneRegional
, dsrc_T_ComputedLaneRegional_sequence_of
,
11777 static const per_sequence_t dsrc_ComputedLane_sequence
[] = {
11778 { &hf_dsrc_referenceLaneId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_LaneID
},
11779 { &hf_dsrc_offsetXaxis
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_T_offsetXaxis
},
11780 { &hf_dsrc_offsetYaxis
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_T_offsetYaxis
},
11781 { &hf_dsrc_rotateXY
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_Angle
},
11782 { &hf_dsrc_scaleXaxis
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_Scale_B12
},
11783 { &hf_dsrc_scaleYaxis
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_Scale_B12
},
11784 { &hf_dsrc_clRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_ComputedLaneRegional
},
11785 { NULL
, 0, 0, NULL
}
11789 dissect_dsrc_ComputedLane(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11790 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
11791 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_ComputedLane
;
11792 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
11793 ett_dsrc_ComputedLane
, dsrc_ComputedLane_sequence
);
11795 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
11800 static const value_string dsrc_NodeListXY_vals
[] = {
11806 static const per_choice_t dsrc_NodeListXY_choice
[] = {
11807 { 0, &hf_dsrc_nodes
, ASN1_EXTENSION_ROOT
, dissect_dsrc_NodeSetXY
},
11808 { 1, &hf_dsrc_computed
, ASN1_EXTENSION_ROOT
, dissect_dsrc_ComputedLane
},
11809 { 0, NULL
, 0, NULL
}
11813 dissect_dsrc_NodeListXY(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11814 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
11815 ett_dsrc_NodeListXY
, dsrc_NodeListXY_choice
,
11822 static const per_sequence_t dsrc_ConnectingLane_sequence
[] = {
11823 { &hf_dsrc_lane
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_LaneID
},
11824 { &hf_dsrc_maneuver
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_AllowedManeuvers
},
11825 { NULL
, 0, 0, NULL
}
11829 dissect_dsrc_ConnectingLane(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11830 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
11831 ett_dsrc_ConnectingLane
, dsrc_ConnectingLane_sequence
);
11839 dissect_dsrc_SignalGroupID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11840 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11841 0U, 255U, NULL
, false);
11849 dissect_dsrc_RestrictionClassID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11850 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11851 0U, 255U, NULL
, false);
11859 dissect_dsrc_LaneConnectionID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11860 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
11861 0U, 255U, NULL
, false);
11867 static const per_sequence_t dsrc_Connection_sequence
[] = {
11868 { &hf_dsrc_connectingLane
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_ConnectingLane
},
11869 { &hf_dsrc_remoteIntersection
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_IntersectionReferenceID
},
11870 { &hf_dsrc_signalGroup
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_SignalGroupID
},
11871 { &hf_dsrc_userClass
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_RestrictionClassID
},
11872 { &hf_dsrc_connectionID
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_LaneConnectionID
},
11873 { NULL
, 0, 0, NULL
}
11877 dissect_dsrc_Connection(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11878 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
11879 ett_dsrc_Connection
, dsrc_Connection_sequence
);
11885 static const per_sequence_t dsrc_ConnectsToList_sequence_of
[1] = {
11886 { &hf_dsrc_ConnectsToList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Connection
},
11890 dissect_dsrc_ConnectsToList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11891 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
11892 ett_dsrc_ConnectsToList
, dsrc_ConnectsToList_sequence_of
,
11899 static const per_sequence_t dsrc_OverlayLaneList_sequence_of
[1] = {
11900 { &hf_dsrc_OverlayLaneList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_LaneID
},
11904 dissect_dsrc_OverlayLaneList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11905 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
11906 ett_dsrc_OverlayLaneList
, dsrc_OverlayLaneList_sequence_of
,
11913 static const per_sequence_t dsrc_T_GenericLaneRegional_sequence_of
[1] = {
11914 { &hf_dsrc_glRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
11918 dissect_dsrc_T_GenericLaneRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11919 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
11920 ett_dsrc_T_GenericLaneRegional
, dsrc_T_GenericLaneRegional_sequence_of
,
11927 static const per_sequence_t dsrc_GenericLane_sequence
[] = {
11928 { &hf_dsrc_laneID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_LaneID
},
11929 { &hf_dsrc_name
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DescriptiveName
},
11930 { &hf_dsrc_ingressApproach
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_ApproachID
},
11931 { &hf_dsrc_egressApproach
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_ApproachID
},
11932 { &hf_dsrc_laneAttributes
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_LaneAttributes
},
11933 { &hf_dsrc_maneuvers
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_AllowedManeuvers
},
11934 { &hf_dsrc_nodeList
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_NodeListXY
},
11935 { &hf_dsrc_connectsTo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_ConnectsToList
},
11936 { &hf_dsrc_overlays
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_OverlayLaneList
},
11937 { &hf_dsrc_glRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_GenericLaneRegional
},
11938 { NULL
, 0, 0, NULL
}
11942 dissect_dsrc_GenericLane(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11943 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
11944 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_GenericLane
;
11945 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
11946 ett_dsrc_GenericLane
, dsrc_GenericLane_sequence
);
11948 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
11953 static const per_sequence_t dsrc_LaneList_sequence_of
[1] = {
11954 { &hf_dsrc_LaneList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_GenericLane
},
11958 dissect_dsrc_LaneList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11959 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
11960 ett_dsrc_LaneList
, dsrc_LaneList_sequence_of
,
11967 static const per_sequence_t dsrc_SignalControlZone_sequence
[] = {
11968 { &hf_dsrc_zone
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
11969 { NULL
, 0, 0, NULL
}
11973 dissect_dsrc_SignalControlZone(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11974 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
11975 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_SignalControlZone
;
11976 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
11977 ett_dsrc_SignalControlZone
, dsrc_SignalControlZone_sequence
);
11979 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
11984 static const per_sequence_t dsrc_PreemptPriorityList_sequence_of
[1] = {
11985 { &hf_dsrc_PreemptPriorityList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SignalControlZone
},
11989 dissect_dsrc_PreemptPriorityList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
11990 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
11991 ett_dsrc_PreemptPriorityList
, dsrc_PreemptPriorityList_sequence_of
,
11998 static const per_sequence_t dsrc_T_IntersectionGeometryRegional_sequence_of
[1] = {
11999 { &hf_dsrc_igRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
12003 dissect_dsrc_T_IntersectionGeometryRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12004 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
12005 ett_dsrc_T_IntersectionGeometryRegional
, dsrc_T_IntersectionGeometryRegional_sequence_of
,
12012 static const per_sequence_t dsrc_IntersectionGeometry_sequence
[] = {
12013 { &hf_dsrc_name
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DescriptiveName
},
12014 { &hf_dsrc_igId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_IntersectionReferenceID
},
12015 { &hf_dsrc_revision
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_MsgCount
},
12016 { &hf_dsrc_refPoint
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Position3D
},
12017 { &hf_dsrc_laneWidth
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_LaneWidth
},
12018 { &hf_dsrc_speedLimits
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_SpeedLimitList
},
12019 { &hf_dsrc_laneSet
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_LaneList
},
12020 { &hf_dsrc_preemptPriorityData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_PreemptPriorityList
},
12021 { &hf_dsrc_igRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_IntersectionGeometryRegional
},
12022 { NULL
, 0, 0, NULL
}
12026 dissect_dsrc_IntersectionGeometry(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12027 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
12028 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_IntersectionGeometry
;
12029 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12030 ett_dsrc_IntersectionGeometry
, dsrc_IntersectionGeometry_sequence
);
12032 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
12037 static const per_sequence_t dsrc_IntersectionGeometryList_sequence_of
[1] = {
12038 { &hf_dsrc_IntersectionGeometryList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_IntersectionGeometry
},
12042 dissect_dsrc_IntersectionGeometryList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12043 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
12044 ett_dsrc_IntersectionGeometryList
, dsrc_IntersectionGeometryList_sequence_of
,
12053 dissect_dsrc_RoadSegmentID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12054 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
12055 0U, 65535U, NULL
, false);
12061 static const per_sequence_t dsrc_RoadSegmentReferenceID_sequence
[] = {
12062 { &hf_dsrc_region
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_RoadRegulatorID
},
12063 { &hf_dsrc_rsrId
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RoadSegmentID
},
12064 { NULL
, 0, 0, NULL
}
12068 dissect_dsrc_RoadSegmentReferenceID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12069 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12070 ett_dsrc_RoadSegmentReferenceID
, dsrc_RoadSegmentReferenceID_sequence
);
12076 static const per_sequence_t dsrc_RoadLaneSetList_sequence_of
[1] = {
12077 { &hf_dsrc_RoadLaneSetList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_GenericLane
},
12081 dissect_dsrc_RoadLaneSetList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12082 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
12083 ett_dsrc_RoadLaneSetList
, dsrc_RoadLaneSetList_sequence_of
,
12090 static const per_sequence_t dsrc_T_RoadSegmentRegional_sequence_of
[1] = {
12091 { &hf_dsrc_rsRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
12095 dissect_dsrc_T_RoadSegmentRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12096 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
12097 ett_dsrc_T_RoadSegmentRegional
, dsrc_T_RoadSegmentRegional_sequence_of
,
12104 static const per_sequence_t dsrc_RoadSegment_sequence
[] = {
12105 { &hf_dsrc_name
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DescriptiveName
},
12106 { &hf_dsrc_rsId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RoadSegmentReferenceID
},
12107 { &hf_dsrc_revision
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_MsgCount
},
12108 { &hf_dsrc_refPoint
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Position3D
},
12109 { &hf_dsrc_laneWidth
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_LaneWidth
},
12110 { &hf_dsrc_speedLimits
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_SpeedLimitList
},
12111 { &hf_dsrc_roadLaneSet
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RoadLaneSetList
},
12112 { &hf_dsrc_rsRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_RoadSegmentRegional
},
12113 { NULL
, 0, 0, NULL
}
12117 dissect_dsrc_RoadSegment(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12118 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
12119 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_RoadSegment
;
12120 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12121 ett_dsrc_RoadSegment
, dsrc_RoadSegment_sequence
);
12123 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
12128 static const per_sequence_t dsrc_RoadSegmentList_sequence_of
[1] = {
12129 { &hf_dsrc_RoadSegmentList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RoadSegment
},
12133 dissect_dsrc_RoadSegmentList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12134 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
12135 ett_dsrc_RoadSegmentList
, dsrc_RoadSegmentList_sequence_of
,
12144 dissect_dsrc_IA5String_SIZE_1_255(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12145 offset
= dissect_per_IA5String(tvb
, offset
, actx
, tree
, hf_index
,
12153 static const per_sequence_t dsrc_DataParameters_sequence
[] = {
12154 { &hf_dsrc_processMethod
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_IA5String_SIZE_1_255
},
12155 { &hf_dsrc_processAgency
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_IA5String_SIZE_1_255
},
12156 { &hf_dsrc_lastCheckedDate
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_IA5String_SIZE_1_255
},
12157 { &hf_dsrc_geoidUsed
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_IA5String_SIZE_1_255
},
12158 { NULL
, 0, 0, NULL
}
12162 dissect_dsrc_DataParameters(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12163 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12164 ett_dsrc_DataParameters
, dsrc_DataParameters_sequence
);
12170 static const value_string dsrc_RestrictionAppliesTo_vals
[] = {
12172 { 1, "equippedTransit" },
12173 { 2, "equippedTaxis" },
12174 { 3, "equippedOther" },
12175 { 4, "emissionCompliant" },
12176 { 5, "equippedBicycle" },
12177 { 6, "weightCompliant" },
12178 { 7, "heightCompliant" },
12179 { 8, "pedestrians" },
12180 { 9, "slowMovingPersons" },
12181 { 10, "wheelchairUsers" },
12182 { 11, "visualDisabilities" },
12183 { 12, "audioDisabilities" },
12184 { 13, "otherUnknownDisabilities" },
12190 dissect_dsrc_RestrictionAppliesTo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12191 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
12192 14, NULL
, true, 0, NULL
);
12198 static const per_sequence_t dsrc_T_RestrictionUserTypeRegional_sequence_of
[1] = {
12199 { &hf_dsrc_rutRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
12203 dissect_dsrc_T_RestrictionUserTypeRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12204 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
12205 ett_dsrc_T_RestrictionUserTypeRegional
, dsrc_T_RestrictionUserTypeRegional_sequence_of
,
12212 static const value_string dsrc_RestrictionUserType_vals
[] = {
12213 { 0, "basicType" },
12218 static const per_choice_t dsrc_RestrictionUserType_choice
[] = {
12219 { 0, &hf_dsrc_basicType
, ASN1_EXTENSION_ROOT
, dissect_dsrc_RestrictionAppliesTo
},
12220 { 1, &hf_dsrc_rutRegional
, ASN1_EXTENSION_ROOT
, dissect_dsrc_T_RestrictionUserTypeRegional
},
12221 { 0, NULL
, 0, NULL
}
12225 dissect_dsrc_RestrictionUserType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12226 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
12227 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_RestrictionUserType
;
12228 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
12229 ett_dsrc_RestrictionUserType
, dsrc_RestrictionUserType_choice
,
12232 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
12237 static const per_sequence_t dsrc_RestrictionUserTypeList_sequence_of
[1] = {
12238 { &hf_dsrc_RestrictionUserTypeList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RestrictionUserType
},
12242 dissect_dsrc_RestrictionUserTypeList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12243 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
12244 ett_dsrc_RestrictionUserTypeList
, dsrc_RestrictionUserTypeList_sequence_of
,
12251 static const per_sequence_t dsrc_RestrictionClassAssignment_sequence
[] = {
12252 { &hf_dsrc_scaId
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RestrictionClassID
},
12253 { &hf_dsrc_users
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RestrictionUserTypeList
},
12254 { NULL
, 0, 0, NULL
}
12258 dissect_dsrc_RestrictionClassAssignment(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12259 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12260 ett_dsrc_RestrictionClassAssignment
, dsrc_RestrictionClassAssignment_sequence
);
12266 static const per_sequence_t dsrc_RestrictionClassList_sequence_of
[1] = {
12267 { &hf_dsrc_RestrictionClassList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RestrictionClassAssignment
},
12271 dissect_dsrc_RestrictionClassList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12272 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
12273 ett_dsrc_RestrictionClassList
, dsrc_RestrictionClassList_sequence_of
,
12280 static const per_sequence_t dsrc_T_MAPRegional_sequence_of
[1] = {
12281 { &hf_dsrc_mapRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
12285 dissect_dsrc_T_MAPRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12286 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
12287 ett_dsrc_T_MAPRegional
, dsrc_T_MAPRegional_sequence_of
,
12294 static const per_sequence_t dsrc_MapData_sequence
[] = {
12295 { &hf_dsrc_mdTimeStamp
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_MinuteOfTheYear
},
12296 { &hf_dsrc_msgIssueRevision
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_MsgCount
},
12297 { &hf_dsrc_layerType
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_LayerType
},
12298 { &hf_dsrc_layerID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_LayerID
},
12299 { &hf_dsrc_mdIntersections
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_IntersectionGeometryList
},
12300 { &hf_dsrc_roadSegments
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_RoadSegmentList
},
12301 { &hf_dsrc_dataParameters
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DataParameters
},
12302 { &hf_dsrc_restrictionList
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_RestrictionClassList
},
12303 { &hf_dsrc_mapRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_MAPRegional
},
12304 { NULL
, 0, 0, NULL
}
12308 dissect_dsrc_MapData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12309 its_private_data_t
*regext
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
12310 actx
->private_data
= (void*)regext
;
12311 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "MAPEM");
12312 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "MAPEM");
12313 regext
->type
= Reg_MapData
;
12314 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12315 ett_dsrc_MapData
, dsrc_MapData_sequence
);
12321 static const value_string dsrc_RTCM_Revision_vals
[] = {
12331 dissect_dsrc_RTCM_Revision(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12332 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
12333 4, NULL
, true, 0, NULL
);
12341 dissect_dsrc_DYear(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12342 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
12343 0U, 4095U, NULL
, false);
12351 dissect_dsrc_DMonth(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12352 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
12353 0U, 12U, NULL
, false);
12361 dissect_dsrc_DDay(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12362 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
12363 0U, 31U, NULL
, false);
12371 dissect_dsrc_DHour(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12372 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
12373 0U, 31U, NULL
, false);
12381 dissect_dsrc_DMinute(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12382 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
12383 0U, 60U, NULL
, false);
12391 dissect_dsrc_DSecond(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12392 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
12393 0U, 65535U, NULL
, false);
12401 dissect_dsrc_DOffset(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12402 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
12403 -840, 840U, NULL
, false);
12409 static const per_sequence_t dsrc_DDateTime_sequence
[] = {
12410 { &hf_dsrc_year
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_DYear
},
12411 { &hf_dsrc_month
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_DMonth
},
12412 { &hf_dsrc_day
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_DDay
},
12413 { &hf_dsrc_hour
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_DHour
},
12414 { &hf_dsrc_minute
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_DMinute
},
12415 { &hf_dsrc_second
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_DSecond
},
12416 { &hf_dsrc_offset
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_DOffset
},
12417 { NULL
, 0, 0, NULL
}
12421 dissect_dsrc_DDateTime(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12422 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12423 ett_dsrc_DDateTime
, dsrc_DDateTime_sequence
);
12431 dissect_dsrc_HeadingDSRC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12432 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
12433 0U, 28800U, NULL
, false);
12439 static const value_string dsrc_TransmissionState_vals
[] = {
12442 { 2, "forwardGears" },
12443 { 3, "reverseGears" },
12444 { 4, "reserved1" },
12445 { 5, "reserved2" },
12446 { 6, "reserved3" },
12447 { 7, "unavailable" },
12453 dissect_dsrc_TransmissionState(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12454 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
12455 8, NULL
, false, 0, NULL
);
12461 static const per_sequence_t dsrc_TransmissionAndSpeed_sequence
[] = {
12462 { &hf_dsrc_transmisson
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_TransmissionState
},
12463 { &hf_dsrc_tasSpeed
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Velocity
},
12464 { NULL
, 0, 0, NULL
}
12468 dissect_dsrc_TransmissionAndSpeed(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12469 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12470 ett_dsrc_TransmissionAndSpeed
, dsrc_TransmissionAndSpeed_sequence
);
12478 dissect_dsrc_SemiMajorAxisAccuracy(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12479 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
12480 0U, 255U, NULL
, false);
12488 dissect_dsrc_SemiMinorAxisAccuracy(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12489 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
12490 0U, 255U, NULL
, false);
12498 dissect_dsrc_SemiMajorAxisOrientation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12499 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
12500 0U, 65535U, NULL
, false);
12506 static const per_sequence_t dsrc_PositionalAccuracy_sequence
[] = {
12507 { &hf_dsrc_semiMajor
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SemiMajorAxisAccuracy
},
12508 { &hf_dsrc_semiMinor
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SemiMinorAxisAccuracy
},
12509 { &hf_dsrc_orientation
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SemiMajorAxisOrientation
},
12510 { NULL
, 0, 0, NULL
}
12514 dissect_dsrc_PositionalAccuracy(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12515 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12516 ett_dsrc_PositionalAccuracy
, dsrc_PositionalAccuracy_sequence
);
12522 static const value_string dsrc_TimeConfidence_vals
[] = {
12523 { 0, "unavailable" },
12524 { 1, "time-100-000" },
12525 { 2, "time-050-000" },
12526 { 3, "time-020-000" },
12527 { 4, "time-010-000" },
12528 { 5, "time-002-000" },
12529 { 6, "time-001-000" },
12530 { 7, "time-000-500" },
12531 { 8, "time-000-200" },
12532 { 9, "time-000-100" },
12533 { 10, "time-000-050" },
12534 { 11, "time-000-020" },
12535 { 12, "time-000-010" },
12536 { 13, "time-000-005" },
12537 { 14, "time-000-002" },
12538 { 15, "time-000-001" },
12539 { 16, "time-000-000-5" },
12540 { 17, "time-000-000-2" },
12541 { 18, "time-000-000-1" },
12542 { 19, "time-000-000-05" },
12543 { 20, "time-000-000-02" },
12544 { 21, "time-000-000-01" },
12545 { 22, "time-000-000-005" },
12546 { 23, "time-000-000-002" },
12547 { 24, "time-000-000-001" },
12548 { 25, "time-000-000-000-5" },
12549 { 26, "time-000-000-000-2" },
12550 { 27, "time-000-000-000-1" },
12551 { 28, "time-000-000-000-05" },
12552 { 29, "time-000-000-000-02" },
12553 { 30, "time-000-000-000-01" },
12554 { 31, "time-000-000-000-005" },
12555 { 32, "time-000-000-000-002" },
12556 { 33, "time-000-000-000-001" },
12557 { 34, "time-000-000-000-000-5" },
12558 { 35, "time-000-000-000-000-2" },
12559 { 36, "time-000-000-000-000-1" },
12560 { 37, "time-000-000-000-000-05" },
12561 { 38, "time-000-000-000-000-02" },
12562 { 39, "time-000-000-000-000-01" },
12568 dissect_dsrc_TimeConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12569 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
12570 40, NULL
, false, 0, NULL
);
12576 static const value_string dsrc_PositionConfidence_vals
[] = {
12577 { 0, "unavailable" },
12598 dissect_dsrc_PositionConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12599 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
12600 16, NULL
, false, 0, NULL
);
12606 static const value_string dsrc_ElevationConfidence_vals
[] = {
12607 { 0, "unavailable" },
12608 { 1, "elev-500-00" },
12609 { 2, "elev-200-00" },
12610 { 3, "elev-100-00" },
12611 { 4, "elev-050-00" },
12612 { 5, "elev-020-00" },
12613 { 6, "elev-010-00" },
12614 { 7, "elev-005-00" },
12615 { 8, "elev-002-00" },
12616 { 9, "elev-001-00" },
12617 { 10, "elev-000-50" },
12618 { 11, "elev-000-20" },
12619 { 12, "elev-000-10" },
12620 { 13, "elev-000-05" },
12621 { 14, "elev-000-02" },
12622 { 15, "elev-000-01" },
12628 dissect_dsrc_ElevationConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12629 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
12630 16, NULL
, false, 0, NULL
);
12636 static const per_sequence_t dsrc_PositionConfidenceSet_sequence
[] = {
12637 { &hf_dsrc_pos
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_PositionConfidence
},
12638 { &hf_dsrc_pcsElevation
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_ElevationConfidence
},
12639 { NULL
, 0, 0, NULL
}
12643 dissect_dsrc_PositionConfidenceSet(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12644 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12645 ett_dsrc_PositionConfidenceSet
, dsrc_PositionConfidenceSet_sequence
);
12651 static const value_string dsrc_HeadingConfidenceDSRC_vals
[] = {
12652 { 0, "unavailable" },
12653 { 1, "prec10deg" },
12654 { 2, "prec05deg" },
12655 { 3, "prec01deg" },
12656 { 4, "prec0-1deg" },
12657 { 5, "prec0-05deg" },
12658 { 6, "prec0-01deg" },
12659 { 7, "prec0-0125deg" },
12665 dissect_dsrc_HeadingConfidenceDSRC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12666 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
12667 8, NULL
, false, 0, NULL
);
12673 static const value_string dsrc_SpeedConfidenceDSRC_vals
[] = {
12674 { 0, "unavailable" },
12675 { 1, "prec100ms" },
12679 { 5, "prec0-1ms" },
12680 { 6, "prec0-05ms" },
12681 { 7, "prec0-01ms" },
12687 dissect_dsrc_SpeedConfidenceDSRC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12688 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
12689 8, NULL
, false, 0, NULL
);
12695 static const value_string dsrc_ThrottleConfidence_vals
[] = {
12696 { 0, "unavailable" },
12697 { 1, "prec10percent" },
12698 { 2, "prec1percent" },
12699 { 3, "prec0-5percent" },
12705 dissect_dsrc_ThrottleConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12706 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
12707 4, NULL
, false, 0, NULL
);
12713 static const per_sequence_t dsrc_SpeedandHeadingandThrottleConfidence_sequence
[] = {
12714 { &hf_dsrc_shtcheading
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_HeadingConfidenceDSRC
},
12715 { &hf_dsrc_shtcSpeed
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SpeedConfidenceDSRC
},
12716 { &hf_dsrc_throttle
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_ThrottleConfidence
},
12717 { NULL
, 0, 0, NULL
}
12721 dissect_dsrc_SpeedandHeadingandThrottleConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12722 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12723 ett_dsrc_SpeedandHeadingandThrottleConfidence
, dsrc_SpeedandHeadingandThrottleConfidence_sequence
);
12729 static const per_sequence_t dsrc_FullPositionVector_sequence
[] = {
12730 { &hf_dsrc_utcTime
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DDateTime
},
12731 { &hf_dsrc_long
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Longitude
},
12732 { &hf_dsrc_lat
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Latitude
},
12733 { &hf_dsrc_fpvElevation
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_Elevation
},
12734 { &hf_dsrc_fpvHeading
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_HeadingDSRC
},
12735 { &hf_dsrc_fpvSpeed
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_TransmissionAndSpeed
},
12736 { &hf_dsrc_posAccuracy
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_PositionalAccuracy
},
12737 { &hf_dsrc_timeConfidence
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_TimeConfidence
},
12738 { &hf_dsrc_posConfidence
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_PositionConfidenceSet
},
12739 { &hf_dsrc_speedConfidence
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_SpeedandHeadingandThrottleConfidence
},
12740 { NULL
, 0, 0, NULL
}
12744 dissect_dsrc_FullPositionVector(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12745 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12746 ett_dsrc_FullPositionVector
, dsrc_FullPositionVector_sequence
);
12752 static int * const dsrc_GNSSstatus_bits
[] = {
12753 &hf_dsrc_GNSSstatus_unavailable
,
12754 &hf_dsrc_GNSSstatus_isHealthy
,
12755 &hf_dsrc_GNSSstatus_isMonitored
,
12756 &hf_dsrc_GNSSstatus_baseStationType
,
12757 &hf_dsrc_GNSSstatus_aPDOPofUnder5
,
12758 &hf_dsrc_GNSSstatus_inViewOfUnder5
,
12759 &hf_dsrc_GNSSstatus_localCorrectionsPresent
,
12760 &hf_dsrc_GNSSstatus_networkCorrectionsPresent
,
12765 dissect_dsrc_GNSSstatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12766 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
12767 8, 8, false, dsrc_GNSSstatus_bits
, 8, NULL
, NULL
);
12775 dissect_dsrc_Offset_B09(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12776 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
12777 -256, 255U, NULL
, false);
12783 static const per_sequence_t dsrc_AntennaOffsetSet_sequence
[] = {
12784 { &hf_dsrc_antOffsetX
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Offset_B12
},
12785 { &hf_dsrc_antOffsetY
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Offset_B09
},
12786 { &hf_dsrc_antOffsetZ
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Offset_B10
},
12787 { NULL
, 0, 0, NULL
}
12791 dissect_dsrc_AntennaOffsetSet(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12792 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12793 ett_dsrc_AntennaOffsetSet
, dsrc_AntennaOffsetSet_sequence
);
12799 static const per_sequence_t dsrc_RTCMheader_sequence
[] = {
12800 { &hf_dsrc_status
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_GNSSstatus
},
12801 { &hf_dsrc_offsetSet
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_AntennaOffsetSet
},
12802 { NULL
, 0, 0, NULL
}
12806 dissect_dsrc_RTCMheader(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12807 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12808 ett_dsrc_RTCMheader
, dsrc_RTCMheader_sequence
);
12816 dissect_dsrc_RTCMmessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12817 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
12818 1, 1023, false, NULL
);
12824 static const per_sequence_t dsrc_RTCMmessageList_sequence_of
[1] = {
12825 { &hf_dsrc_RTCMmessageList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RTCMmessage
},
12829 dissect_dsrc_RTCMmessageList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12830 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
12831 ett_dsrc_RTCMmessageList
, dsrc_RTCMmessageList_sequence_of
,
12838 static const per_sequence_t dsrc_SEQUENCE_SIZE_1_4_OF_RegionalExtension_sequence_of
[1] = {
12839 { &hf_dsrc_regional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
12843 dissect_dsrc_SEQUENCE_SIZE_1_4_OF_RegionalExtension(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12844 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
12845 ett_dsrc_SEQUENCE_SIZE_1_4_OF_RegionalExtension
, dsrc_SEQUENCE_SIZE_1_4_OF_RegionalExtension_sequence_of
,
12852 static const per_sequence_t dsrc_RTCMcorrections_sequence
[] = {
12853 { &hf_dsrc_msgCnt
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_MsgCount
},
12854 { &hf_dsrc_rev
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RTCM_Revision
},
12855 { &hf_dsrc_timeStamp
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_MinuteOfTheYear
},
12856 { &hf_dsrc_anchorPoint
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_FullPositionVector
},
12857 { &hf_dsrc_rtcmHeader
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_RTCMheader
},
12858 { &hf_dsrc_msgs
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RTCMmessageList
},
12859 { &hf_dsrc_regional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_SEQUENCE_SIZE_1_4_OF_RegionalExtension
},
12860 { NULL
, 0, 0, NULL
}
12864 dissect_dsrc_RTCMcorrections(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12865 its_private_data_t
*regext
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
12866 actx
->private_data
= (void*)regext
;
12867 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "RTCMEM");
12868 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "RTCMEM");
12869 regext
->type
= Reg_RTCMcorrections
;
12870 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12871 ett_dsrc_RTCMcorrections
, dsrc_RTCMcorrections_sequence
);
12877 static int * const dsrc_IntersectionStatusObject_bits
[] = {
12878 &hf_dsrc_IntersectionStatusObject_manualControlIsEnabled
,
12879 &hf_dsrc_IntersectionStatusObject_stopTimeIsActivated
,
12880 &hf_dsrc_IntersectionStatusObject_failureFlash
,
12881 &hf_dsrc_IntersectionStatusObject_preemptIsActive
,
12882 &hf_dsrc_IntersectionStatusObject_signalPriorityIsActive
,
12883 &hf_dsrc_IntersectionStatusObject_fixedTimeOperation
,
12884 &hf_dsrc_IntersectionStatusObject_trafficDependentOperation
,
12885 &hf_dsrc_IntersectionStatusObject_standbyOperation
,
12886 &hf_dsrc_IntersectionStatusObject_failureMode
,
12887 &hf_dsrc_IntersectionStatusObject_off
,
12888 &hf_dsrc_IntersectionStatusObject_recentMAPmessageUpdate
,
12889 &hf_dsrc_IntersectionStatusObject_recentChangeInMAPassignedLanesIDsUsed
,
12890 &hf_dsrc_IntersectionStatusObject_noValidMAPisAvailableAtThisTime
,
12891 &hf_dsrc_IntersectionStatusObject_noValidSPATisAvailableAtThisTime
,
12896 dissect_dsrc_IntersectionStatusObject(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12897 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
12898 16, 16, false, dsrc_IntersectionStatusObject_bits
, 14, NULL
, NULL
);
12904 static const per_sequence_t dsrc_EnabledLaneList_sequence_of
[1] = {
12905 { &hf_dsrc_EnabledLaneList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_LaneID
},
12909 dissect_dsrc_EnabledLaneList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12910 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
12911 ett_dsrc_EnabledLaneList
, dsrc_EnabledLaneList_sequence_of
,
12918 static const value_string dsrc_MovementPhaseState_vals
[] = {
12919 { 0, "unavailable" },
12921 { 2, "stop-Then-Proceed" },
12922 { 3, "stop-And-Remain" },
12923 { 4, "pre-Movement" },
12924 { 5, "permissive-Movement-Allowed" },
12925 { 6, "protected-Movement-Allowed" },
12926 { 7, "permissive-clearance" },
12927 { 8, "protected-clearance" },
12928 { 9, "caution-Conflicting-Traffic" },
12934 dissect_dsrc_MovementPhaseState(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12935 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
12936 10, NULL
, false, 0, NULL
);
12944 dissect_dsrc_TimeMark(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12945 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
12946 0U, 36001U, NULL
, false);
12954 dissect_dsrc_TimeIntervalConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12955 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
12956 0U, 15U, NULL
, false);
12962 static const per_sequence_t dsrc_TimeChangeDetails_sequence
[] = {
12963 { &hf_dsrc_startTime
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_TimeMark
},
12964 { &hf_dsrc_minEndTime
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_TimeMark
},
12965 { &hf_dsrc_maxEndTime
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_TimeMark
},
12966 { &hf_dsrc_likelyTime
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_TimeMark
},
12967 { &hf_dsrc_tcdConfidence
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_TimeIntervalConfidence
},
12968 { &hf_dsrc_nextTime
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_dsrc_TimeMark
},
12969 { NULL
, 0, 0, NULL
}
12973 dissect_dsrc_TimeChangeDetails(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12974 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
12975 ett_dsrc_TimeChangeDetails
, dsrc_TimeChangeDetails_sequence
);
12981 static const value_string dsrc_AdvisorySpeedType_vals
[] = {
12983 { 1, "greenwave" },
12991 dissect_dsrc_AdvisorySpeedType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
12992 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
12993 4, NULL
, true, 0, NULL
);
13001 dissect_dsrc_SpeedAdvice(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13002 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
13003 0U, 500U, NULL
, false);
13011 dissect_dsrc_ZoneLength(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13012 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
13013 0U, 10000U, NULL
, false);
13019 static const per_sequence_t dsrc_T_AdvisorySpeedRegional_sequence_of
[1] = {
13020 { &hf_dsrc_asRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
13024 dissect_dsrc_T_AdvisorySpeedRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13025 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13026 ett_dsrc_T_AdvisorySpeedRegional
, dsrc_T_AdvisorySpeedRegional_sequence_of
,
13033 static const per_sequence_t dsrc_AdvisorySpeed_sequence
[] = {
13034 { &hf_dsrc_asType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_AdvisorySpeedType
},
13035 { &hf_dsrc_asSpeed
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_SpeedAdvice
},
13036 { &hf_dsrc_asConfidence
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_SpeedConfidenceDSRC
},
13037 { &hf_dsrc_distance
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_ZoneLength
},
13038 { &hf_dsrc_class
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_RestrictionClassID
},
13039 { &hf_dsrc_asRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_AdvisorySpeedRegional
},
13040 { NULL
, 0, 0, NULL
}
13044 dissect_dsrc_AdvisorySpeed(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13045 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
13046 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_AdvisorySpeed
;
13047 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13048 ett_dsrc_AdvisorySpeed
, dsrc_AdvisorySpeed_sequence
);
13050 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
13055 static const per_sequence_t dsrc_AdvisorySpeedList_sequence_of
[1] = {
13056 { &hf_dsrc_AdvisorySpeedList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_AdvisorySpeed
},
13060 dissect_dsrc_AdvisorySpeedList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13061 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13062 ett_dsrc_AdvisorySpeedList
, dsrc_AdvisorySpeedList_sequence_of
,
13069 static const per_sequence_t dsrc_T_MovementEventRegional_sequence_of
[1] = {
13070 { &hf_dsrc_meRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
13074 dissect_dsrc_T_MovementEventRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13075 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13076 ett_dsrc_T_MovementEventRegional
, dsrc_T_MovementEventRegional_sequence_of
,
13083 static const per_sequence_t dsrc_MovementEvent_sequence
[] = {
13084 { &hf_dsrc_eventState
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_MovementPhaseState
},
13085 { &hf_dsrc_timing
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_TimeChangeDetails
},
13086 { &hf_dsrc_speeds
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_AdvisorySpeedList
},
13087 { &hf_dsrc_meRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_MovementEventRegional
},
13088 { NULL
, 0, 0, NULL
}
13092 dissect_dsrc_MovementEvent(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13093 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
13094 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_MovementEvent
;
13095 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13096 ett_dsrc_MovementEvent
, dsrc_MovementEvent_sequence
);
13098 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
13103 static const per_sequence_t dsrc_MovementEventList_sequence_of
[1] = {
13104 { &hf_dsrc_MovementEventList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_MovementEvent
},
13108 dissect_dsrc_MovementEventList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13109 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13110 ett_dsrc_MovementEventList
, dsrc_MovementEventList_sequence_of
,
13119 dissect_dsrc_WaitOnStopline(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13120 offset
= dissect_per_boolean(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
13128 dissect_dsrc_PedestrianBicycleDetect(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13129 offset
= dissect_per_boolean(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
13135 static const per_sequence_t dsrc_T_ConnectionManeuverAssistRegional_sequence_of
[1] = {
13136 { &hf_dsrc_cmaRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
13140 dissect_dsrc_T_ConnectionManeuverAssistRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13141 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13142 ett_dsrc_T_ConnectionManeuverAssistRegional
, dsrc_T_ConnectionManeuverAssistRegional_sequence_of
,
13149 static const per_sequence_t dsrc_ConnectionManeuverAssist_sequence
[] = {
13150 { &hf_dsrc_connectionID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_LaneConnectionID
},
13151 { &hf_dsrc_queueLength
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_ZoneLength
},
13152 { &hf_dsrc_availableStorageLength
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_ZoneLength
},
13153 { &hf_dsrc_waitOnStop
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_WaitOnStopline
},
13154 { &hf_dsrc_pedBicycleDetect
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_PedestrianBicycleDetect
},
13155 { &hf_dsrc_cmaRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_ConnectionManeuverAssistRegional
},
13156 { NULL
, 0, 0, NULL
}
13160 dissect_dsrc_ConnectionManeuverAssist(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13161 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
13162 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_ConnectionManeuverAssist
;
13163 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13164 ett_dsrc_ConnectionManeuverAssist
, dsrc_ConnectionManeuverAssist_sequence
);
13166 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
13171 static const per_sequence_t dsrc_ManeuverAssistList_sequence_of
[1] = {
13172 { &hf_dsrc_ManeuverAssistList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_ConnectionManeuverAssist
},
13176 dissect_dsrc_ManeuverAssistList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13177 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13178 ett_dsrc_ManeuverAssistList
, dsrc_ManeuverAssistList_sequence_of
,
13185 static const per_sequence_t dsrc_T_MovementStateRegional_sequence_of
[1] = {
13186 { &hf_dsrc_msRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
13190 dissect_dsrc_T_MovementStateRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13191 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13192 ett_dsrc_T_MovementStateRegional
, dsrc_T_MovementStateRegional_sequence_of
,
13199 static const per_sequence_t dsrc_MovementState_sequence
[] = {
13200 { &hf_dsrc_movementName
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DescriptiveName
},
13201 { &hf_dsrc_signalGroup
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SignalGroupID
},
13202 { &hf_dsrc_state_time_speed
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_MovementEventList
},
13203 { &hf_dsrc_maneuverAssistList
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_ManeuverAssistList
},
13204 { &hf_dsrc_msRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_MovementStateRegional
},
13205 { NULL
, 0, 0, NULL
}
13209 dissect_dsrc_MovementState(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13210 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
13211 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_MovementState
;
13212 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13213 ett_dsrc_MovementState
, dsrc_MovementState_sequence
);
13215 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
13220 static const per_sequence_t dsrc_MovementList_sequence_of
[1] = {
13221 { &hf_dsrc_MovementList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_MovementState
},
13225 dissect_dsrc_MovementList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13226 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13227 ett_dsrc_MovementList
, dsrc_MovementList_sequence_of
,
13234 static const per_sequence_t dsrc_T_IntersectionStateRegional_sequence_of
[1] = {
13235 { &hf_dsrc_isRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
13239 dissect_dsrc_T_IntersectionStateRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13240 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13241 ett_dsrc_T_IntersectionStateRegional
, dsrc_T_IntersectionStateRegional_sequence_of
,
13248 static const per_sequence_t dsrc_IntersectionState_sequence
[] = {
13249 { &hf_dsrc_name
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DescriptiveName
},
13250 { &hf_dsrc_isId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_IntersectionReferenceID
},
13251 { &hf_dsrc_revision
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_MsgCount
},
13252 { &hf_dsrc_isStatus
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_IntersectionStatusObject
},
13253 { &hf_dsrc_moy
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_MinuteOfTheYear
},
13254 { &hf_dsrc_isTimeStamp
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DSecond
},
13255 { &hf_dsrc_enabledLanes
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_EnabledLaneList
},
13256 { &hf_dsrc_states
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_MovementList
},
13257 { &hf_dsrc_maneuverAssistList
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_ManeuverAssistList
},
13258 { &hf_dsrc_isRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_IntersectionStateRegional
},
13259 { NULL
, 0, 0, NULL
}
13263 dissect_dsrc_IntersectionState(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13264 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
13265 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_IntersectionState
;
13266 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13267 ett_dsrc_IntersectionState
, dsrc_IntersectionState_sequence
);
13269 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
13274 static const per_sequence_t dsrc_IntersectionStateList_sequence_of
[1] = {
13275 { &hf_dsrc_IntersectionStateList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_IntersectionState
},
13279 dissect_dsrc_IntersectionStateList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13280 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13281 ett_dsrc_IntersectionStateList
, dsrc_IntersectionStateList_sequence_of
,
13288 static const per_sequence_t dsrc_T_SPATRegional_sequence_of
[1] = {
13289 { &hf_dsrc_spatRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
13293 dissect_dsrc_T_SPATRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13294 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13295 ett_dsrc_T_SPATRegional
, dsrc_T_SPATRegional_sequence_of
,
13302 static const per_sequence_t dsrc_SPAT_sequence
[] = {
13303 { &hf_dsrc_spatTimeStamp
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_MinuteOfTheYear
},
13304 { &hf_dsrc_name
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DescriptiveName
},
13305 { &hf_dsrc_spatIntersections
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_IntersectionStateList
},
13306 { &hf_dsrc_spatRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_SPATRegional
},
13307 { NULL
, 0, 0, NULL
}
13311 dissect_dsrc_SPAT(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13312 its_private_data_t
*regext
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
13313 actx
->private_data
= (void*)regext
;
13314 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "SPATEM");
13315 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "SPATEM");
13316 regext
->type
= Reg_SPAT
;
13317 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13318 ett_dsrc_SPAT
, dsrc_SPAT_sequence
);
13326 dissect_dsrc_RequestID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13327 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
13328 0U, 255U, NULL
, false);
13334 static const value_string dsrc_PriorityRequestType_vals
[] = {
13335 { 0, "priorityRequestTypeReserved" },
13336 { 1, "priorityRequest" },
13337 { 2, "priorityRequestUpdate" },
13338 { 3, "priorityCancellation" },
13344 dissect_dsrc_PriorityRequestType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13345 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
13346 4, NULL
, true, 0, NULL
);
13352 static const value_string dsrc_IntersectionAccessPoint_vals
[] = {
13355 { 2, "connection" },
13359 static const per_choice_t dsrc_IntersectionAccessPoint_choice
[] = {
13360 { 0, &hf_dsrc_lane
, ASN1_EXTENSION_ROOT
, dissect_dsrc_LaneID
},
13361 { 1, &hf_dsrc_approach
, ASN1_EXTENSION_ROOT
, dissect_dsrc_ApproachID
},
13362 { 2, &hf_dsrc_connection
, ASN1_EXTENSION_ROOT
, dissect_dsrc_LaneConnectionID
},
13363 { 0, NULL
, 0, NULL
}
13367 dissect_dsrc_IntersectionAccessPoint(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13368 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
13369 ett_dsrc_IntersectionAccessPoint
, dsrc_IntersectionAccessPoint_choice
,
13376 static const per_sequence_t dsrc_T_SignalRequestRegional_sequence_of
[1] = {
13377 { &hf_dsrc_srRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
13381 dissect_dsrc_T_SignalRequestRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13382 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13383 ett_dsrc_T_SignalRequestRegional
, dsrc_T_SignalRequestRegional_sequence_of
,
13390 static const per_sequence_t dsrc_SignalRequest_sequence
[] = {
13391 { &hf_dsrc_srId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_IntersectionReferenceID
},
13392 { &hf_dsrc_requestID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RequestID
},
13393 { &hf_dsrc_requestType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_PriorityRequestType
},
13394 { &hf_dsrc_inBoundLane
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_IntersectionAccessPoint
},
13395 { &hf_dsrc_outBoundLane
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_IntersectionAccessPoint
},
13396 { &hf_dsrc_srRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_SignalRequestRegional
},
13397 { NULL
, 0, 0, NULL
}
13401 dissect_dsrc_SignalRequest(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13402 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
13403 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_SignalRequest
;
13404 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13405 ett_dsrc_SignalRequest
, dsrc_SignalRequest_sequence
);
13407 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
13412 static const per_sequence_t dsrc_T_SignalRequestPackageRegional_sequence_of
[1] = {
13413 { &hf_dsrc_srpRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
13417 dissect_dsrc_T_SignalRequestPackageRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13418 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13419 ett_dsrc_T_SignalRequestPackageRegional
, dsrc_T_SignalRequestPackageRegional_sequence_of
,
13426 static const per_sequence_t dsrc_SignalRequestPackage_sequence
[] = {
13427 { &hf_dsrc_srpRequest
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SignalRequest
},
13428 { &hf_dsrc_srpMinute
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_MinuteOfTheYear
},
13429 { &hf_dsrc_second
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DSecond
},
13430 { &hf_dsrc_duration
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DSecond
},
13431 { &hf_dsrc_srpRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_SignalRequestPackageRegional
},
13432 { NULL
, 0, 0, NULL
}
13436 dissect_dsrc_SignalRequestPackage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13437 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
13438 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_SignalRequestPackage
;
13439 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13440 ett_dsrc_SignalRequestPackage
, dsrc_SignalRequestPackage_sequence
);
13442 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
13447 static const per_sequence_t dsrc_SignalRequestList_sequence_of
[1] = {
13448 { &hf_dsrc_SignalRequestList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SignalRequestPackage
},
13452 dissect_dsrc_SignalRequestList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13453 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13454 ett_dsrc_SignalRequestList
, dsrc_SignalRequestList_sequence_of
,
13463 dissect_dsrc_TemporaryID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13464 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
13465 4, 4, false, NULL
);
13471 static const value_string dsrc_VehicleID_vals
[] = {
13473 { 1, "stationID" },
13477 static const per_choice_t dsrc_VehicleID_choice
[] = {
13478 { 0, &hf_dsrc_entityID
, ASN1_NO_EXTENSIONS
, dissect_dsrc_TemporaryID
},
13479 { 1, &hf_dsrc_stationID
, ASN1_NO_EXTENSIONS
, dissect_its_StationID
},
13480 { 0, NULL
, 0, NULL
}
13484 dissect_dsrc_VehicleID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13485 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
13486 ett_dsrc_VehicleID
, dsrc_VehicleID_choice
,
13493 static const value_string dsrc_BasicVehicleRole_vals
[] = {
13494 { 0, "basicVehicle" },
13495 { 1, "publicTransport" },
13496 { 2, "specialTransport" },
13497 { 3, "dangerousGoods" },
13499 { 5, "roadRescue" },
13500 { 6, "emergency" },
13501 { 7, "safetyCar" },
13502 { 8, "none-unknown" },
13504 { 10, "motorcycle" },
13505 { 11, "roadSideSource" },
13508 { 14, "ambulance" },
13511 { 17, "slowMoving" },
13514 { 20, "pedestrian" },
13515 { 21, "nonMotorized" },
13516 { 22, "military" },
13522 dissect_dsrc_BasicVehicleRole(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13523 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
13524 23, NULL
, true, 0, NULL
);
13530 static const value_string dsrc_RequestSubRole_vals
[] = {
13531 { 0, "requestSubRoleUnKnown" },
13532 { 1, "requestSubRole1" },
13533 { 2, "requestSubRole2" },
13534 { 3, "requestSubRole3" },
13535 { 4, "requestSubRole4" },
13536 { 5, "requestSubRole5" },
13537 { 6, "requestSubRole6" },
13538 { 7, "requestSubRole7" },
13539 { 8, "requestSubRole8" },
13540 { 9, "requestSubRole9" },
13541 { 10, "requestSubRole10" },
13542 { 11, "requestSubRole11" },
13543 { 12, "requestSubRole12" },
13544 { 13, "requestSubRole13" },
13545 { 14, "requestSubRole14" },
13546 { 15, "requestSubRoleReserved" },
13552 dissect_dsrc_RequestSubRole(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13553 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
13554 16, NULL
, false, 0, NULL
);
13560 static const value_string dsrc_RequestImportanceLevel_vals
[] = {
13561 { 0, "requestImportanceLevelUnKnown" },
13562 { 1, "requestImportanceLevel1" },
13563 { 2, "requestImportanceLevel2" },
13564 { 3, "requestImportanceLevel3" },
13565 { 4, "requestImportanceLevel4" },
13566 { 5, "requestImportanceLevel5" },
13567 { 6, "requestImportanceLevel6" },
13568 { 7, "requestImportanceLevel7" },
13569 { 8, "requestImportanceLevel8" },
13570 { 9, "requestImportanceLevel9" },
13571 { 10, "requestImportanceLevel10" },
13572 { 11, "requestImportanceLevel11" },
13573 { 12, "requestImportanceLevel12" },
13574 { 13, "requestImportanceLevel13" },
13575 { 14, "requestImportanceLevel14" },
13576 { 15, "requestImportanceReserved" },
13582 dissect_dsrc_RequestImportanceLevel(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13583 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
13584 16, NULL
, false, 0, NULL
);
13590 static const value_string dsrc_VehicleType_vals
[] = {
13601 { 10, "axleCnt4Trailer" },
13602 { 11, "axleCnt5Trailer" },
13603 { 12, "axleCnt6Trailer" },
13604 { 13, "axleCnt5MultiTrailer" },
13605 { 14, "axleCnt6MultiTrailer" },
13606 { 15, "axleCnt7MultiTrailer" },
13612 dissect_dsrc_VehicleType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13613 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
13614 16, NULL
, true, 0, NULL
);
13620 static const per_sequence_t dsrc_RequestorType_sequence
[] = {
13621 { &hf_dsrc_role
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_BasicVehicleRole
},
13622 { &hf_dsrc_subrole
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_RequestSubRole
},
13623 { &hf_dsrc_rtRequest
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_RequestImportanceLevel
},
13624 { &hf_dsrc_iso3883
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Iso3833VehicleType
},
13625 { &hf_dsrc_hpmsType
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_VehicleType
},
13626 { &hf_dsrc_rtRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_RegionalExtension
},
13627 { NULL
, 0, 0, NULL
}
13631 dissect_dsrc_RequestorType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13632 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
13633 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_RequestorType
;
13634 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13635 ett_dsrc_RequestorType
, dsrc_RequestorType_sequence
);
13637 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
13642 static const per_sequence_t dsrc_RequestorPositionVector_sequence
[] = {
13643 { &hf_dsrc_rpvPosition
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_Position3D
},
13644 { &hf_dsrc_rpvHeading
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_Angle
},
13645 { &hf_dsrc_rpvSpeed
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_TransmissionAndSpeed
},
13646 { NULL
, 0, 0, NULL
}
13650 dissect_dsrc_RequestorPositionVector(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13651 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13652 ett_dsrc_RequestorPositionVector
, dsrc_RequestorPositionVector_sequence
);
13658 static int * const dsrc_TransitVehicleStatus_bits
[] = {
13659 &hf_dsrc_TransitVehicleStatus_loading
,
13660 &hf_dsrc_TransitVehicleStatus_anADAuse
,
13661 &hf_dsrc_TransitVehicleStatus_aBikeLoad
,
13662 &hf_dsrc_TransitVehicleStatus_doorOpen
,
13663 &hf_dsrc_TransitVehicleStatus_charging
,
13664 &hf_dsrc_TransitVehicleStatus_atStopLine
,
13669 dissect_dsrc_TransitVehicleStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13670 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
13671 8, 8, false, dsrc_TransitVehicleStatus_bits
, 6, NULL
, NULL
);
13677 static const value_string dsrc_TransitVehicleOccupancy_vals
[] = {
13678 { 0, "occupancyUnknown" },
13679 { 1, "occupancyEmpty" },
13680 { 2, "occupancyVeryLow" },
13681 { 3, "occupancyLow" },
13682 { 4, "occupancyMed" },
13683 { 5, "occupancyHigh" },
13684 { 6, "occupancyNearlyFull" },
13685 { 7, "occupancyFull" },
13691 dissect_dsrc_TransitVehicleOccupancy(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13692 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
13693 8, NULL
, false, 0, NULL
);
13701 dissect_dsrc_DeltaTime(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13702 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
13703 -122, 121U, NULL
, false);
13709 static const per_sequence_t dsrc_T_RequestorDescriptionRegional_sequence_of
[1] = {
13710 { &hf_dsrc_rdRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
13714 dissect_dsrc_T_RequestorDescriptionRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13715 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13716 ett_dsrc_T_RequestorDescriptionRegional
, dsrc_T_RequestorDescriptionRegional_sequence_of
,
13723 static const per_sequence_t dsrc_RequestorDescription_sequence
[] = {
13724 { &hf_dsrc_rdId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_VehicleID
},
13725 { &hf_dsrc_rdType
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_RequestorType
},
13726 { &hf_dsrc_rdPosition
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_RequestorPositionVector
},
13727 { &hf_dsrc_name
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DescriptiveName
},
13728 { &hf_dsrc_routeName
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DescriptiveName
},
13729 { &hf_dsrc_transitStatus
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_TransitVehicleStatus
},
13730 { &hf_dsrc_transitOccupancy
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_TransitVehicleOccupancy
},
13731 { &hf_dsrc_transitSchedule
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DeltaTime
},
13732 { &hf_dsrc_rdRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_RequestorDescriptionRegional
},
13733 { NULL
, 0, 0, NULL
}
13737 dissect_dsrc_RequestorDescription(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13738 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
13739 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_RequestorDescription
;
13740 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13741 ett_dsrc_RequestorDescription
, dsrc_RequestorDescription_sequence
);
13743 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
13748 static const per_sequence_t dsrc_T_SRMRegional_sequence_of
[1] = {
13749 { &hf_dsrc_srmRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
13753 dissect_dsrc_T_SRMRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13754 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13755 ett_dsrc_T_SRMRegional
, dsrc_T_SRMRegional_sequence_of
,
13762 static const per_sequence_t dsrc_SignalRequestMessage_sequence
[] = {
13763 { &hf_dsrc_srmTimeStamp
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_MinuteOfTheYear
},
13764 { &hf_dsrc_second
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_DSecond
},
13765 { &hf_dsrc_sequenceNumber
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_MsgCount
},
13766 { &hf_dsrc_requests
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_SignalRequestList
},
13767 { &hf_dsrc_requestor
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RequestorDescription
},
13768 { &hf_dsrc_srmRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_SRMRegional
},
13769 { NULL
, 0, 0, NULL
}
13773 dissect_dsrc_SignalRequestMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13774 its_private_data_t
*regext
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
13775 actx
->private_data
= (void*)regext
;
13776 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "SREM");
13777 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "SREM");
13778 regext
->type
= Reg_SignalRequestMessage
;
13779 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13780 ett_dsrc_SignalRequestMessage
, dsrc_SignalRequestMessage_sequence
);
13786 static const per_sequence_t dsrc_SignalRequesterInfo_sequence
[] = {
13787 { &hf_dsrc_sriId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_VehicleID
},
13788 { &hf_dsrc_sriRequest
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RequestID
},
13789 { &hf_dsrc_sequenceNumber
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_MsgCount
},
13790 { &hf_dsrc_role
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_BasicVehicleRole
},
13791 { &hf_dsrc_typeData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_RequestorType
},
13792 { NULL
, 0, 0, NULL
}
13796 dissect_dsrc_SignalRequesterInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13797 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13798 ett_dsrc_SignalRequesterInfo
, dsrc_SignalRequesterInfo_sequence
);
13804 static const value_string dsrc_PrioritizationResponseStatus_vals
[] = {
13806 { 1, "requested" },
13807 { 2, "processing" },
13808 { 3, "watchOtherTraffic" },
13811 { 6, "maxPresence" },
13812 { 7, "reserviceLocked" },
13818 dissect_dsrc_PrioritizationResponseStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13819 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
13820 8, NULL
, true, 0, NULL
);
13826 static const per_sequence_t dsrc_T_SignalStatusPackageRegional_sequence_of
[1] = {
13827 { &hf_dsrc_sspRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
13831 dissect_dsrc_T_SignalStatusPackageRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13832 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13833 ett_dsrc_T_SignalStatusPackageRegional
, dsrc_T_SignalStatusPackageRegional_sequence_of
,
13840 static const per_sequence_t dsrc_SignalStatusPackage_sequence
[] = {
13841 { &hf_dsrc_requester
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_SignalRequesterInfo
},
13842 { &hf_dsrc_inboundOn
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_IntersectionAccessPoint
},
13843 { &hf_dsrc_outboundOn
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_IntersectionAccessPoint
},
13844 { &hf_dsrc_sspMinute
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_MinuteOfTheYear
},
13845 { &hf_dsrc_second
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DSecond
},
13846 { &hf_dsrc_duration
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DSecond
},
13847 { &hf_dsrc_sspStatus
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_PrioritizationResponseStatus
},
13848 { &hf_dsrc_sspRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_SignalStatusPackageRegional
},
13849 { NULL
, 0, 0, NULL
}
13853 dissect_dsrc_SignalStatusPackage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13854 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
13855 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_SignalStatusPackage
;
13856 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13857 ett_dsrc_SignalStatusPackage
, dsrc_SignalStatusPackage_sequence
);
13859 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
13864 static const per_sequence_t dsrc_SignalStatusPackageList_sequence_of
[1] = {
13865 { &hf_dsrc_SignalStatusPackageList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SignalStatusPackage
},
13869 dissect_dsrc_SignalStatusPackageList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13870 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13871 ett_dsrc_SignalStatusPackageList
, dsrc_SignalStatusPackageList_sequence_of
,
13878 static const per_sequence_t dsrc_T_SignalStatusRegional_sequence_of
[1] = {
13879 { &hf_dsrc_ssRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
13883 dissect_dsrc_T_SignalStatusRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13884 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13885 ett_dsrc_T_SignalStatusRegional
, dsrc_T_SignalStatusRegional_sequence_of
,
13892 static const per_sequence_t dsrc_SignalStatus_sequence
[] = {
13893 { &hf_dsrc_sequenceNumber
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_MsgCount
},
13894 { &hf_dsrc_ssId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_IntersectionReferenceID
},
13895 { &hf_dsrc_sigStatus
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SignalStatusPackageList
},
13896 { &hf_dsrc_ssRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_SignalStatusRegional
},
13897 { NULL
, 0, 0, NULL
}
13901 dissect_dsrc_SignalStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13902 enum regext_type_enum save
= ((its_private_data_t
*)actx
->private_data
)->type
;
13903 ((its_private_data_t
*)actx
->private_data
)->type
= Reg_SignalStatus
;
13904 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13905 ett_dsrc_SignalStatus
, dsrc_SignalStatus_sequence
);
13907 ((its_private_data_t
*)actx
->private_data
)->type
= save
;
13912 static const per_sequence_t dsrc_SignalStatusList_sequence_of
[1] = {
13913 { &hf_dsrc_SignalStatusList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SignalStatus
},
13917 dissect_dsrc_SignalStatusList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13918 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13919 ett_dsrc_SignalStatusList
, dsrc_SignalStatusList_sequence_of
,
13926 static const per_sequence_t dsrc_T_SSMRegional_sequence_of
[1] = {
13927 { &hf_dsrc_ssmRegional_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_RegionalExtension
},
13931 dissect_dsrc_T_SSMRegional(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13932 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
13933 ett_dsrc_T_SSMRegional
, dsrc_T_SSMRegional_sequence_of
,
13940 static const per_sequence_t dsrc_SignalStatusMessage_sequence
[] = {
13941 { &hf_dsrc_ssmTimeStamp
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_MinuteOfTheYear
},
13942 { &hf_dsrc_second
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_DSecond
},
13943 { &hf_dsrc_sequenceNumber
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_MsgCount
},
13944 { &hf_dsrc_ssmStatus
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SignalStatusList
},
13945 { &hf_dsrc_ssmRegional
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_T_SSMRegional
},
13946 { NULL
, 0, 0, NULL
}
13950 dissect_dsrc_SignalStatusMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13951 its_private_data_t
*regext
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
13952 actx
->private_data
= (void*)regext
;
13953 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "SSEM");
13954 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "SSEM");
13955 regext
->type
= Reg_SignalStatusMessage
;
13956 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
13957 ett_dsrc_SignalStatusMessage
, dsrc_SignalStatusMessage_sequence
);
13963 static const value_string dsrc_FuelType_vals
[] = {
13964 { 0, "unknownFuel" },
13971 { 7, "natGasLiquid" },
13972 { 8, "natGasComp" },
13979 dissect_dsrc_FuelType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
13980 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
13981 0U, 15U, NULL
, false);
13988 static int dissect_dsrc_MapData_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
13990 asn1_ctx_t asn1_ctx
;
13991 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
13992 offset
= dissect_dsrc_MapData(tvb
, offset
, &asn1_ctx
, tree
, hf_dsrc_dsrc_MapData_PDU
);
13993 offset
+= 7; offset
>>= 3;
13996 static int dissect_dsrc_RTCMcorrections_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
13998 asn1_ctx_t asn1_ctx
;
13999 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
14000 offset
= dissect_dsrc_RTCMcorrections(tvb
, offset
, &asn1_ctx
, tree
, hf_dsrc_dsrc_RTCMcorrections_PDU
);
14001 offset
+= 7; offset
>>= 3;
14004 static int dissect_dsrc_SPAT_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
14006 asn1_ctx_t asn1_ctx
;
14007 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
14008 offset
= dissect_dsrc_SPAT(tvb
, offset
, &asn1_ctx
, tree
, hf_dsrc_dsrc_SPAT_PDU
);
14009 offset
+= 7; offset
>>= 3;
14012 static int dissect_dsrc_SignalRequestMessage_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
14014 asn1_ctx_t asn1_ctx
;
14015 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
14016 offset
= dissect_dsrc_SignalRequestMessage(tvb
, offset
, &asn1_ctx
, tree
, hf_dsrc_dsrc_SignalRequestMessage_PDU
);
14017 offset
+= 7; offset
>>= 3;
14020 static int dissect_dsrc_SignalStatusMessage_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
14022 asn1_ctx_t asn1_ctx
;
14023 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
14024 offset
= dissect_dsrc_SignalStatusMessage(tvb
, offset
, &asn1_ctx
, tree
, hf_dsrc_dsrc_SignalStatusMessage_PDU
);
14025 offset
+= 7; offset
>>= 3;
14030 /* --- Module AddGrpC --- --- --- */
14033 static const value_string AddGrpC_TimeReference_vals
[] = {
14034 { 1, "oneMilliSec" },
14040 dissect_AddGrpC_TimeReference(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14041 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
14042 0U, 60000U, NULL
, false);
14048 static const per_sequence_t AddGrpC_ItsStationPosition_sequence
[] = {
14049 { &hf_AddGrpC_stationID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_StationID
},
14050 { &hf_AddGrpC_laneID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_LaneID
},
14051 { &hf_AddGrpC_nodeXY
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_NodeOffsetPointXY
},
14052 { &hf_AddGrpC_timeReference
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_AddGrpC_TimeReference
},
14053 { NULL
, 0, 0, NULL
}
14057 dissect_AddGrpC_ItsStationPosition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14058 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14059 ett_AddGrpC_ItsStationPosition
, AddGrpC_ItsStationPosition_sequence
);
14065 static const per_sequence_t AddGrpC_ItsStationPositionList_sequence_of
[1] = {
14066 { &hf_AddGrpC_ItsStationPositionList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_AddGrpC_ItsStationPosition
},
14070 dissect_AddGrpC_ItsStationPositionList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14071 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
14072 ett_AddGrpC_ItsStationPositionList
, AddGrpC_ItsStationPositionList_sequence_of
,
14079 static const per_sequence_t AddGrpC_ConnectionManeuverAssist_addGrpC_sequence
[] = {
14080 { &hf_AddGrpC_itsStationPosition
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_AddGrpC_ItsStationPositionList
},
14081 { NULL
, 0, 0, NULL
}
14085 dissect_AddGrpC_ConnectionManeuverAssist_addGrpC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14086 actx
->private_data
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
14087 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14088 ett_AddGrpC_ConnectionManeuverAssist_addGrpC
, AddGrpC_ConnectionManeuverAssist_addGrpC_sequence
);
14094 static const per_sequence_t AddGrpC_ConnectionTrajectory_addGrpC_sequence
[] = {
14095 { &hf_AddGrpC_nodes
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_NodeSetXY
},
14096 { &hf_AddGrpC_connectionID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_LaneConnectionID
},
14097 { NULL
, 0, 0, NULL
}
14101 dissect_AddGrpC_ConnectionTrajectory_addGrpC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14102 actx
->private_data
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
14103 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14104 ett_AddGrpC_ConnectionTrajectory_addGrpC
, AddGrpC_ConnectionTrajectory_addGrpC_sequence
);
14110 static const per_sequence_t AddGrpC_PrioritizationResponse_sequence
[] = {
14111 { &hf_AddGrpC_stationID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_StationID
},
14112 { &hf_AddGrpC_priorState
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_PrioritizationResponseStatus
},
14113 { &hf_AddGrpC_signalGroup
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SignalGroupID
},
14114 { NULL
, 0, 0, NULL
}
14118 dissect_AddGrpC_PrioritizationResponse(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14119 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14120 ett_AddGrpC_PrioritizationResponse
, AddGrpC_PrioritizationResponse_sequence
);
14126 static const per_sequence_t AddGrpC_PrioritizationResponseList_sequence_of
[1] = {
14127 { &hf_AddGrpC_PrioritizationResponseList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_AddGrpC_PrioritizationResponse
},
14131 dissect_AddGrpC_PrioritizationResponseList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14132 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
14133 ett_AddGrpC_PrioritizationResponseList
, AddGrpC_PrioritizationResponseList_sequence_of
,
14140 static const per_sequence_t AddGrpC_IntersectionState_addGrpC_sequence
[] = {
14141 { &hf_AddGrpC_activePrioritizations
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_AddGrpC_PrioritizationResponseList
},
14142 { NULL
, 0, 0, NULL
}
14146 dissect_AddGrpC_IntersectionState_addGrpC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14147 actx
->private_data
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
14148 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14149 ett_AddGrpC_IntersectionState_addGrpC
, AddGrpC_IntersectionState_addGrpC_sequence
);
14155 static const per_sequence_t AddGrpC_LaneAttributes_addGrpC_sequence
[] = {
14156 { &hf_AddGrpC_maxVehicleHeight
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_VehicleHeight
},
14157 { &hf_AddGrpC_maxVehicleWeight
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_VehicleMass
},
14158 { NULL
, 0, 0, NULL
}
14162 dissect_AddGrpC_LaneAttributes_addGrpC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14163 actx
->private_data
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
14164 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14165 ett_AddGrpC_LaneAttributes_addGrpC
, AddGrpC_LaneAttributes_addGrpC_sequence
);
14171 static const per_sequence_t AddGrpC_SignalHeadLocation_sequence
[] = {
14172 { &hf_AddGrpC_nodeXY
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_NodeOffsetPointXY
},
14173 { &hf_AddGrpC_nodeZ
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaAltitude
},
14174 { &hf_AddGrpC_signalGroupID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_SignalGroupID
},
14175 { NULL
, 0, 0, NULL
}
14179 dissect_AddGrpC_SignalHeadLocation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14180 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14181 ett_AddGrpC_SignalHeadLocation
, AddGrpC_SignalHeadLocation_sequence
);
14187 static const per_sequence_t AddGrpC_SignalHeadLocationList_sequence_of
[1] = {
14188 { &hf_AddGrpC_SignalHeadLocationList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_AddGrpC_SignalHeadLocation
},
14192 dissect_AddGrpC_SignalHeadLocationList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14193 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
14194 ett_AddGrpC_SignalHeadLocationList
, AddGrpC_SignalHeadLocationList_sequence_of
,
14201 static const per_sequence_t AddGrpC_MapData_addGrpC_sequence
[] = {
14202 { &hf_AddGrpC_signalHeadLocations
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_AddGrpC_SignalHeadLocationList
},
14203 { NULL
, 0, 0, NULL
}
14207 dissect_AddGrpC_MapData_addGrpC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14208 actx
->private_data
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
14209 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14210 ett_AddGrpC_MapData_addGrpC
, AddGrpC_MapData_addGrpC_sequence
);
14216 static const value_string AddGrpC_ExceptionalCondition_vals
[] = {
14218 { 1, "publicTransportPriority" },
14219 { 2, "emergencyVehiclePriority" },
14220 { 3, "trainPriority" },
14221 { 4, "bridgeOpen" },
14222 { 5, "vehicleHeight" },
14224 { 7, "trafficJam" },
14225 { 8, "tunnelClosure" },
14226 { 9, "meteringActive" },
14227 { 10, "truckPriority" },
14228 { 11, "bicyclePlatoonPriority" },
14229 { 12, "vehiclePlatoonPriority" },
14235 dissect_AddGrpC_ExceptionalCondition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14236 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
14237 13, NULL
, true, 0, NULL
);
14243 static const per_sequence_t AddGrpC_MovementEvent_addGrpC_sequence
[] = {
14244 { &hf_AddGrpC_stateChangeReason
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_AddGrpC_ExceptionalCondition
},
14245 { NULL
, 0, 0, NULL
}
14249 dissect_AddGrpC_MovementEvent_addGrpC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14250 actx
->private_data
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
14251 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14252 ett_AddGrpC_MovementEvent_addGrpC
, AddGrpC_MovementEvent_addGrpC_sequence
);
14258 static const value_string AddGrpC_PtvRequestType_vals
[] = {
14259 { 0, "preRequest" },
14260 { 1, "mainRequest" },
14261 { 2, "doorCloseRequest" },
14262 { 3, "cancelRequest" },
14263 { 4, "emergencyRequest" },
14269 dissect_AddGrpC_PtvRequestType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14270 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
14271 5, NULL
, true, 0, NULL
);
14279 dissect_AddGrpC_INTEGER(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14280 offset
= dissect_per_integer(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
14286 static const per_sequence_t AddGrpC_Node_sequence
[] = {
14287 { &hf_AddGrpC_id
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_AddGrpC_INTEGER
},
14288 { &hf_AddGrpC_lane
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_LaneID
},
14289 { &hf_AddGrpC_connectionID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_LaneConnectionID
},
14290 { &hf_AddGrpC_intersectionID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_IntersectionID
},
14291 { NULL
, 0, 0, NULL
}
14295 dissect_AddGrpC_Node(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14296 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14297 ett_AddGrpC_Node
, AddGrpC_Node_sequence
);
14303 static const per_sequence_t AddGrpC_NodeLink_sequence_of
[1] = {
14304 { &hf_AddGrpC_NodeLink_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_AddGrpC_Node
},
14308 dissect_AddGrpC_NodeLink(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14309 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
14310 ett_AddGrpC_NodeLink
, AddGrpC_NodeLink_sequence_of
,
14317 static const per_sequence_t AddGrpC_NodeAttributeSet_addGrpC_sequence
[] = {
14318 { &hf_AddGrpC_ptvRequest
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_AddGrpC_PtvRequestType
},
14319 { &hf_AddGrpC_nodeLink
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_AddGrpC_NodeLink
},
14320 { &hf_AddGrpC_node
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_AddGrpC_Node
},
14321 { NULL
, 0, 0, NULL
}
14325 dissect_AddGrpC_NodeAttributeSet_addGrpC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14326 actx
->private_data
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
14327 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14328 ett_AddGrpC_NodeAttributeSet_addGrpC
, AddGrpC_NodeAttributeSet_addGrpC_sequence
);
14334 static const per_sequence_t AddGrpC_Position3D_addGrpC_sequence
[] = {
14335 { &hf_AddGrpC_altitude
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Altitude
},
14336 { NULL
, 0, 0, NULL
}
14340 dissect_AddGrpC_Position3D_addGrpC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14341 actx
->private_data
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
14342 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14343 ett_AddGrpC_Position3D_addGrpC
, AddGrpC_Position3D_addGrpC_sequence
);
14349 static const value_string AddGrpC_EmissionType_vals
[] = {
14361 dissect_AddGrpC_EmissionType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14362 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
14363 6, NULL
, true, 0, NULL
);
14369 static const per_sequence_t AddGrpC_RestrictionUserType_addGrpC_sequence
[] = {
14370 { &hf_AddGrpC_emission
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_AddGrpC_EmissionType
},
14371 { &hf_AddGrpC_fuel
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_FuelType
},
14372 { NULL
, 0, 0, NULL
}
14376 dissect_AddGrpC_RestrictionUserType_addGrpC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14377 actx
->private_data
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
14378 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14379 ett_AddGrpC_RestrictionUserType_addGrpC
, AddGrpC_RestrictionUserType_addGrpC_sequence
);
14385 static const value_string AddGrpC_BatteryStatus_vals
[] = {
14395 dissect_AddGrpC_BatteryStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14396 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
14397 4, NULL
, true, 0, NULL
);
14403 static const per_sequence_t AddGrpC_RequestorDescription_addGrpC_sequence
[] = {
14404 { &hf_AddGrpC_fuel
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_FuelType
},
14405 { &hf_AddGrpC_batteryStatus
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_AddGrpC_BatteryStatus
},
14406 { NULL
, 0, 0, NULL
}
14410 dissect_AddGrpC_RequestorDescription_addGrpC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14411 actx
->private_data
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
14412 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14413 ett_AddGrpC_RequestorDescription_addGrpC
, AddGrpC_RequestorDescription_addGrpC_sequence
);
14419 static const value_string AddGrpC_RejectedReason_vals
[] = {
14421 { 1, "exceptionalCondition" },
14422 { 2, "maxWaitingTimeExceeded" },
14423 { 3, "ptPriorityDisabled" },
14424 { 4, "higherPTPriorityGranted" },
14425 { 5, "vehicleTrackingUnknown" },
14431 dissect_AddGrpC_RejectedReason(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14432 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
14433 6, NULL
, true, 0, NULL
);
14439 static const per_sequence_t AddGrpC_SignalStatusPackage_addGrpC_sequence
[] = {
14440 { &hf_AddGrpC_synchToSchedule
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_DeltaTime
},
14441 { &hf_AddGrpC_rejectedReason
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_AddGrpC_RejectedReason
},
14442 { NULL
, 0, 0, NULL
}
14446 dissect_AddGrpC_SignalStatusPackage_addGrpC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14447 actx
->private_data
= wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
14448 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14449 ett_AddGrpC_SignalStatusPackage_addGrpC
, AddGrpC_SignalStatusPackage_addGrpC_sequence
);
14456 static int dissect_AddGrpC_ConnectionManeuverAssist_addGrpC_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
14458 asn1_ctx_t asn1_ctx
;
14459 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
14460 offset
= dissect_AddGrpC_ConnectionManeuverAssist_addGrpC(tvb
, offset
, &asn1_ctx
, tree
, hf_AddGrpC_AddGrpC_ConnectionManeuverAssist_addGrpC_PDU
);
14461 offset
+= 7; offset
>>= 3;
14464 static int dissect_AddGrpC_ConnectionTrajectory_addGrpC_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
14466 asn1_ctx_t asn1_ctx
;
14467 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
14468 offset
= dissect_AddGrpC_ConnectionTrajectory_addGrpC(tvb
, offset
, &asn1_ctx
, tree
, hf_AddGrpC_AddGrpC_ConnectionTrajectory_addGrpC_PDU
);
14469 offset
+= 7; offset
>>= 3;
14472 static int dissect_AddGrpC_IntersectionState_addGrpC_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
14474 asn1_ctx_t asn1_ctx
;
14475 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
14476 offset
= dissect_AddGrpC_IntersectionState_addGrpC(tvb
, offset
, &asn1_ctx
, tree
, hf_AddGrpC_AddGrpC_IntersectionState_addGrpC_PDU
);
14477 offset
+= 7; offset
>>= 3;
14480 static int dissect_AddGrpC_LaneAttributes_addGrpC_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
14482 asn1_ctx_t asn1_ctx
;
14483 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
14484 offset
= dissect_AddGrpC_LaneAttributes_addGrpC(tvb
, offset
, &asn1_ctx
, tree
, hf_AddGrpC_AddGrpC_LaneAttributes_addGrpC_PDU
);
14485 offset
+= 7; offset
>>= 3;
14488 static int dissect_AddGrpC_MapData_addGrpC_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
14490 asn1_ctx_t asn1_ctx
;
14491 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
14492 offset
= dissect_AddGrpC_MapData_addGrpC(tvb
, offset
, &asn1_ctx
, tree
, hf_AddGrpC_AddGrpC_MapData_addGrpC_PDU
);
14493 offset
+= 7; offset
>>= 3;
14496 static int dissect_AddGrpC_MovementEvent_addGrpC_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
14498 asn1_ctx_t asn1_ctx
;
14499 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
14500 offset
= dissect_AddGrpC_MovementEvent_addGrpC(tvb
, offset
, &asn1_ctx
, tree
, hf_AddGrpC_AddGrpC_MovementEvent_addGrpC_PDU
);
14501 offset
+= 7; offset
>>= 3;
14504 static int dissect_AddGrpC_NodeAttributeSet_addGrpC_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
14506 asn1_ctx_t asn1_ctx
;
14507 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
14508 offset
= dissect_AddGrpC_NodeAttributeSet_addGrpC(tvb
, offset
, &asn1_ctx
, tree
, hf_AddGrpC_AddGrpC_NodeAttributeSet_addGrpC_PDU
);
14509 offset
+= 7; offset
>>= 3;
14512 static int dissect_AddGrpC_Position3D_addGrpC_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
14514 asn1_ctx_t asn1_ctx
;
14515 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
14516 offset
= dissect_AddGrpC_Position3D_addGrpC(tvb
, offset
, &asn1_ctx
, tree
, hf_AddGrpC_AddGrpC_Position3D_addGrpC_PDU
);
14517 offset
+= 7; offset
>>= 3;
14520 static int dissect_AddGrpC_RestrictionUserType_addGrpC_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
14522 asn1_ctx_t asn1_ctx
;
14523 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
14524 offset
= dissect_AddGrpC_RestrictionUserType_addGrpC(tvb
, offset
, &asn1_ctx
, tree
, hf_AddGrpC_AddGrpC_RestrictionUserType_addGrpC_PDU
);
14525 offset
+= 7; offset
>>= 3;
14528 static int dissect_AddGrpC_RequestorDescription_addGrpC_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
14530 asn1_ctx_t asn1_ctx
;
14531 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
14532 offset
= dissect_AddGrpC_RequestorDescription_addGrpC(tvb
, offset
, &asn1_ctx
, tree
, hf_AddGrpC_AddGrpC_RequestorDescription_addGrpC_PDU
);
14533 offset
+= 7; offset
>>= 3;
14536 static int dissect_AddGrpC_SignalStatusPackage_addGrpC_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
14538 asn1_ctx_t asn1_ctx
;
14539 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
14540 offset
= dissect_AddGrpC_SignalStatusPackage_addGrpC(tvb
, offset
, &asn1_ctx
, tree
, hf_AddGrpC_AddGrpC_SignalStatusPackage_addGrpC_PDU
);
14541 offset
+= 7; offset
>>= 3;
14546 /* --- Module REGION --- --- --- */
14549 /* --- Module GDD --- --- --- */
14551 /*--- Cyclic dependencies ---*/
14553 /* GddStructure -> GddAttributes -> GddAttributes/_item -> InternationalSign-destinationInformation -> InternationalSign-destinationInformation/ioList -> DestinationInformationIO -> DestinationInformationIO/destPlace -> DestinationPlace -> GddStructure */
14554 static int dissect_gdd_GddStructure(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
);
14560 dissect_gdd_Pictogram_countryCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14561 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
14562 2, 2, false, NULL
);
14568 static const value_string gdd_Pictogram_trafficSign_vals
[] = {
14569 { 11, "dangerWarning" },
14570 { 12, "regulatory" },
14571 { 13, "informative" },
14575 static uint32_t gdd_Pictogram_trafficSign_value_map
[3+0] = {11, 12, 13};
14578 dissect_gdd_Pictogram_trafficSign(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14579 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
14580 3, NULL
, true, 0, gdd_Pictogram_trafficSign_value_map
);
14586 static const value_string gdd_Pictogram_publicFacilitySign_vals
[] = {
14587 { 21, "publicFacilities" },
14591 static uint32_t gdd_Pictogram_publicFacilitySign_value_map
[1+0] = {21};
14594 dissect_gdd_Pictogram_publicFacilitySign(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14595 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
14596 1, NULL
, true, 0, gdd_Pictogram_publicFacilitySign_value_map
);
14602 static const value_string gdd_Pictogram_conditionsSign_vals
[] = {
14603 { 31, "ambientCondition" },
14604 { 32, "roadCondition" },
14608 static uint32_t gdd_Pictogram_conditionsSign_value_map
[2+0] = {31, 32};
14611 dissect_gdd_Pictogram_conditionsSign(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14612 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
14613 2, NULL
, true, 0, gdd_Pictogram_conditionsSign_value_map
);
14619 static const value_string gdd_Pictogram_serviceCategory_vals
[] = {
14620 { 0, "trafficSignPictogram" },
14621 { 1, "publicFacilitiesPictogram" },
14622 { 2, "ambientOrRoadConditionPictogram" },
14626 static const per_choice_t gdd_Pictogram_serviceCategory_choice
[] = {
14627 { 0, &hf_gdd_trafficSignPictogram
, ASN1_NO_EXTENSIONS
, dissect_gdd_Pictogram_trafficSign
},
14628 { 1, &hf_gdd_publicFacilitiesPictogram
, ASN1_NO_EXTENSIONS
, dissect_gdd_Pictogram_publicFacilitySign
},
14629 { 2, &hf_gdd_ambientOrRoadConditionPictogram
, ASN1_NO_EXTENSIONS
, dissect_gdd_Pictogram_conditionsSign
},
14630 { 0, NULL
, 0, NULL
}
14634 dissect_gdd_Pictogram_serviceCategory(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14635 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
14636 ett_gdd_Pictogram_serviceCategory
, gdd_Pictogram_serviceCategory_choice
,
14645 dissect_gdd_Pictogram_nature(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14646 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
14647 1U, 9U, NULL
, false);
14655 dissect_gdd_Pictogram_serialNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14656 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
14657 0U, 99U, NULL
, false);
14663 static const per_sequence_t gdd_Pictogram_category_sequence
[] = {
14664 { &hf_gdd_nature
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_Pictogram_nature
},
14665 { &hf_gdd_serialNumber
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_Pictogram_serialNumber
},
14666 { NULL
, 0, 0, NULL
}
14670 dissect_gdd_Pictogram_category(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14671 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14672 ett_gdd_Pictogram_category
, gdd_Pictogram_category_sequence
);
14678 static const per_sequence_t gdd_Pictogram_sequence
[] = {
14679 { &hf_gdd_countryCode
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_Pictogram_countryCode
},
14680 { &hf_gdd_serviceCategoryCode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_Pictogram_serviceCategory
},
14681 { &hf_gdd_pictogramCategoryCode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_Pictogram_category
},
14682 { NULL
, 0, 0, NULL
}
14686 dissect_gdd_Pictogram(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14687 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14688 ett_gdd_Pictogram
, gdd_Pictogram_sequence
);
14696 dissect_gdd_Year(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14697 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
14698 2000U, 2127U, NULL
, true);
14704 static const per_sequence_t gdd_T_year_sequence
[] = {
14705 { &hf_gdd_yearRangeStartYear
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_Year
},
14706 { &hf_gdd_yearRangeEndYear
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_Year
},
14707 { NULL
, 0, 0, NULL
}
14711 dissect_gdd_T_year(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14712 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14713 ett_gdd_T_year
, gdd_T_year_sequence
);
14721 dissect_gdd_MonthDay_month(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14722 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
14723 1U, 12U, NULL
, false);
14731 dissect_gdd_MonthDay_day(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14732 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
14733 1U, 31U, NULL
, false);
14739 static const per_sequence_t gdd_MonthDay_sequence
[] = {
14740 { &hf_gdd_month
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_MonthDay_month
},
14741 { &hf_gdd_day
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_MonthDay_day
},
14742 { NULL
, 0, 0, NULL
}
14746 dissect_gdd_MonthDay(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14747 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14748 ett_gdd_MonthDay
, gdd_MonthDay_sequence
);
14754 static const per_sequence_t gdd_T_month_day_sequence
[] = {
14755 { &hf_gdd_dateRangeStartMonthDate
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_MonthDay
},
14756 { &hf_gdd_dateRangeEndMonthDate
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_MonthDay
},
14757 { NULL
, 0, 0, NULL
}
14761 dissect_gdd_T_month_day(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14762 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14763 ett_gdd_T_month_day
, gdd_T_month_day_sequence
);
14769 static int * const gdd_RPDT_bits
[] = {
14770 &hf_gdd_RPDT_national_holiday
,
14771 &hf_gdd_RPDT_even_days
,
14772 &hf_gdd_RPDT_odd_days
,
14773 &hf_gdd_RPDT_market_day
,
14778 dissect_gdd_RPDT(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14779 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
14780 4, 4, false, gdd_RPDT_bits
, 4, NULL
, NULL
);
14788 dissect_gdd_HoursMinutes_hours(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14789 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
14790 0U, 23U, NULL
, false);
14798 dissect_gdd_HoursMinutes_mins(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14799 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
14800 0U, 59U, NULL
, false);
14806 static const per_sequence_t gdd_HoursMinutes_sequence
[] = {
14807 { &hf_gdd_hours
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_HoursMinutes_hours
},
14808 { &hf_gdd_mins
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_HoursMinutes_mins
},
14809 { NULL
, 0, 0, NULL
}
14813 dissect_gdd_HoursMinutes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14814 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14815 ett_gdd_HoursMinutes
, gdd_HoursMinutes_sequence
);
14821 static const per_sequence_t gdd_T_hourMinutes_sequence
[] = {
14822 { &hf_gdd_timeRangeStartTime
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_HoursMinutes
},
14823 { &hf_gdd_timeRangeEndTime
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_HoursMinutes
},
14824 { NULL
, 0, 0, NULL
}
14828 dissect_gdd_T_hourMinutes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14829 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14830 ett_gdd_T_hourMinutes
, gdd_T_hourMinutes_sequence
);
14836 static int * const gdd_DayOfWeek_bits
[] = {
14837 &hf_gdd_DayOfWeek_unused
,
14838 &hf_gdd_DayOfWeek_monday
,
14839 &hf_gdd_DayOfWeek_tuesday
,
14840 &hf_gdd_DayOfWeek_wednesday
,
14841 &hf_gdd_DayOfWeek_thursday
,
14842 &hf_gdd_DayOfWeek_friday
,
14843 &hf_gdd_DayOfWeek_saturday
,
14844 &hf_gdd_DayOfWeek_sunday
,
14849 dissect_gdd_DayOfWeek(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14850 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
14851 8, 8, false, gdd_DayOfWeek_bits
, 8, NULL
, NULL
);
14857 static const per_sequence_t gdd_InternationalSign_applicablePeriod_sequence
[] = {
14858 { &hf_gdd_year
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_T_year
},
14859 { &hf_gdd_month_day
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_T_month_day
},
14860 { &hf_gdd_repeatingPeriodDayTypes
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_RPDT
},
14861 { &hf_gdd_hourMinutes
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_T_hourMinutes
},
14862 { &hf_gdd_dateRangeOfWeek
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_DayOfWeek
},
14863 { &hf_gdd_durationHourminute
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_HoursMinutes
},
14864 { NULL
, 0, 0, NULL
}
14868 dissect_gdd_InternationalSign_applicablePeriod(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14869 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14870 ett_gdd_InternationalSign_applicablePeriod
, gdd_InternationalSign_applicablePeriod_sequence
);
14878 dissect_gdd_InternationalSign_exemptedApplicablePeriod(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14879 offset
= dissect_gdd_InternationalSign_applicablePeriod(tvb
, offset
, actx
, tree
, hf_index
);
14885 static const value_string gdd_InternationalSign_directionalFlowOfLane_vals
[] = {
14899 dissect_gdd_InternationalSign_directionalFlowOfLane(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14900 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
14901 1U, 8U, NULL
, false);
14909 dissect_gdd_INTEGER_1_16384(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14910 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
14911 1U, 16384U, NULL
, false);
14917 static const value_string gdd_Code_Units_vals
[] = {
14919 { 1, "milesperh" },
14920 { 2, "kilometre" },
14922 { 4, "decimetre" },
14923 { 5, "centimetre" },
14927 { 9, "minutesOfTime" },
14929 { 11, "hundredkg" },
14931 { 13, "rateOfIncline" },
14932 { 14, "durationinminutes" },
14939 dissect_gdd_Code_Units_CONSTR002(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14940 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
14941 2U, 8U, NULL
, false);
14947 static const per_sequence_t gdd_Distance_sequence
[] = {
14948 { &hf_gdd_dValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_INTEGER_1_16384
},
14949 { &hf_gdd_unit
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_Code_Units_CONSTR002
},
14950 { NULL
, 0, 0, NULL
}
14954 dissect_gdd_Distance(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14955 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14956 ett_gdd_Distance
, gdd_Distance_sequence
);
14964 dissect_gdd_Code_Units_10_12(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14965 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
14966 10U, 12U, NULL
, false);
14972 static const per_sequence_t gdd_Weight_sequence
[] = {
14973 { &hf_gdd_wValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_INTEGER_1_16384
},
14974 { &hf_gdd_unit_01
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_Code_Units_10_12
},
14975 { NULL
, 0, 0, NULL
}
14979 dissect_gdd_Weight(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14980 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14981 ett_gdd_Weight
, gdd_Weight_sequence
);
14987 static const per_sequence_t gdd_InternationalSign_applicableVehicleDimensions_sequence
[] = {
14988 { &hf_gdd_vehicleHeight
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_Distance
},
14989 { &hf_gdd_vehicleWidth
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_Distance
},
14990 { &hf_gdd_vehicleLength
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_Distance
},
14991 { &hf_gdd_vehicleWeight
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_Weight
},
14992 { NULL
, 0, 0, NULL
}
14996 dissect_gdd_InternationalSign_applicableVehicleDimensions(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
14997 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
14998 ett_gdd_InternationalSign_applicableVehicleDimensions
, gdd_InternationalSign_applicableVehicleDimensions_sequence
);
15006 dissect_gdd_INTEGER_0_250(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15007 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15008 0U, 250U, NULL
, false);
15016 dissect_gdd_Code_Units_0_1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15017 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15018 0U, 1U, NULL
, false);
15024 static const per_sequence_t gdd_InternationalSign_speedLimits_sequence
[] = {
15025 { &hf_gdd_speedLimitMax
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_INTEGER_0_250
},
15026 { &hf_gdd_speedLimitMin
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_INTEGER_0_250
},
15027 { &hf_gdd_unit_02
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_Code_Units_0_1
},
15028 { NULL
, 0, 0, NULL
}
15032 dissect_gdd_InternationalSign_speedLimits(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15033 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15034 ett_gdd_InternationalSign_speedLimits
, gdd_InternationalSign_speedLimits_sequence
);
15042 dissect_gdd_InternationalSign_rateOfIncline(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15043 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15044 1U, 32U, NULL
, false);
15052 dissect_gdd_InternationalSign_distanceBetweenVehicles(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15053 offset
= dissect_gdd_Distance(tvb
, offset
, actx
, tree
, hf_index
);
15061 dissect_gdd_DistinInfo_junctionDirection(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15062 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15063 1U, 128U, NULL
, false);
15071 dissect_gdd_DistinInfo_roundaboutCwDirection(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15072 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15073 1U, 128U, NULL
, false);
15081 dissect_gdd_DistinInfo_roundaboutCcwDirection(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15082 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15083 1U, 128U, NULL
, false);
15091 dissect_gdd_IO_arrowDirection(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15092 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15093 0U, 7U, NULL
, false);
15099 static const value_string gdd_DestinationType_vals
[] = {
15101 { 1, "importantArea" },
15102 { 2, "principalArea" },
15103 { 3, "generalArea" },
15104 { 4, "wellKnownPoint" },
15108 { 8, "industrialArea" },
15109 { 9, "historicArea" },
15110 { 10, "touristicArea" },
15111 { 11, "culturalArea" },
15112 { 12, "touristicRoute" },
15113 { 13, "recommendedRoute" },
15114 { 14, "touristicAttraction" },
15115 { 15, "geographicArea" },
15121 dissect_gdd_DestinationType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15122 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15123 0U, 15U, NULL
, true);
15131 dissect_gdd_DestPlace_destBlob(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15132 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
15133 NO_BOUND
, NO_BOUND
, false, NULL
);
15141 dissect_gdd_DestPlace_placeNameIdentification(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15142 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15143 1U, 999U, NULL
, false);
15151 dissect_gdd_DestPlace_placeNameText(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15152 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
15153 NO_BOUND
, NO_BOUND
, false);
15159 static const per_sequence_t gdd_DestinationPlace_sequence
[] = {
15160 { &hf_gdd_destType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_DestinationType
},
15161 { &hf_gdd_destRSCode
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_GddStructure
},
15162 { &hf_gdd_destBlob
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_DestPlace_destBlob
},
15163 { &hf_gdd_placeNameIdentification
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_DestPlace_placeNameIdentification
},
15164 { &hf_gdd_placeNameText
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_DestPlace_placeNameText
},
15165 { NULL
, 0, 0, NULL
}
15169 dissect_gdd_DestinationPlace(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15170 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15171 ett_gdd_DestinationPlace
, gdd_DestinationPlace_sequence
);
15177 static const per_sequence_t gdd_SEQUENCE_SIZE_1_4__OF_DestinationPlace_sequence_of
[1] = {
15178 { &hf_gdd_destPlace_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_DestinationPlace
},
15182 dissect_gdd_SEQUENCE_SIZE_1_4__OF_DestinationPlace(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15183 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
15184 ett_gdd_SEQUENCE_SIZE_1_4__OF_DestinationPlace
, gdd_SEQUENCE_SIZE_1_4__OF_DestinationPlace_sequence_of
,
15191 static const value_string gdd_DestinationRoadType_vals
[] = {
15193 { 1, "nationalHighway" },
15194 { 2, "localHighway" },
15195 { 3, "tollExpresswayMotorway" },
15196 { 4, "internationalHighway" },
15198 { 6, "expressway" },
15199 { 7, "nationalRoad" },
15200 { 8, "regionalProvincialRoad" },
15201 { 9, "localRoad" },
15202 { 10, "motorwayJunction" },
15203 { 11, "diversion" },
15213 dissect_gdd_DestinationRoadType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15214 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15215 0U, 15U, NULL
, true);
15223 dissect_gdd_DestRoad_roadNumberIdentifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15224 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15225 1U, 999U, NULL
, false);
15233 dissect_gdd_DestRoad_roadNumberText(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15234 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
15235 NO_BOUND
, NO_BOUND
, false);
15241 static const per_sequence_t gdd_DestinationRoad_sequence
[] = {
15242 { &hf_gdd_derType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_DestinationRoadType
},
15243 { &hf_gdd_roadNumberIdentifier_01
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_DestRoad_roadNumberIdentifier
},
15244 { &hf_gdd_roadNumberText
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_DestRoad_roadNumberText
},
15245 { NULL
, 0, 0, NULL
}
15249 dissect_gdd_DestinationRoad(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15250 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15251 ett_gdd_DestinationRoad
, gdd_DestinationRoad_sequence
);
15257 static const per_sequence_t gdd_SEQUENCE_SIZE_1_4__OF_DestinationRoad_sequence_of
[1] = {
15258 { &hf_gdd_destRoad_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_DestinationRoad
},
15262 dissect_gdd_SEQUENCE_SIZE_1_4__OF_DestinationRoad(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15263 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
15264 ett_gdd_SEQUENCE_SIZE_1_4__OF_DestinationRoad
, gdd_SEQUENCE_SIZE_1_4__OF_DestinationRoad_sequence_of
,
15273 dissect_gdd_IO_roadNumberIdentifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15274 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15275 1U, 999U, NULL
, false);
15283 dissect_gdd_IO_streetName(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15284 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15285 1U, 999U, NULL
, false);
15293 dissect_gdd_IO_streetNameText(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15294 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
15295 NO_BOUND
, NO_BOUND
, false);
15303 dissect_gdd_DistOrDuration_value(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15304 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15305 1U, 16384U, NULL
, false);
15313 dissect_gdd_DistOrDuration_Units(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15314 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15315 2U, 9U, NULL
, false);
15321 static const per_sequence_t gdd_DistanceOrDuration_sequence
[] = {
15322 { &hf_gdd_dodValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_DistOrDuration_value
},
15323 { &hf_gdd_unit_03
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_DistOrDuration_Units
},
15324 { NULL
, 0, 0, NULL
}
15328 dissect_gdd_DistanceOrDuration(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15329 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15330 ett_gdd_DistanceOrDuration
, gdd_DistanceOrDuration_sequence
);
15336 static const per_sequence_t gdd_DestinationInformationIO_sequence
[] = {
15337 { &hf_gdd_arrowDirection
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_IO_arrowDirection
},
15338 { &hf_gdd_destPlace
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_SEQUENCE_SIZE_1_4__OF_DestinationPlace
},
15339 { &hf_gdd_destRoad
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_SEQUENCE_SIZE_1_4__OF_DestinationRoad
},
15340 { &hf_gdd_roadNumberIdentifier
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_IO_roadNumberIdentifier
},
15341 { &hf_gdd_streetName
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_IO_streetName
},
15342 { &hf_gdd_streetNameText
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_IO_streetNameText
},
15343 { &hf_gdd_distanceToDivergingPoint
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_DistanceOrDuration
},
15344 { &hf_gdd_distanceToDestinationPlace
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_DistanceOrDuration
},
15345 { NULL
, 0, 0, NULL
}
15349 dissect_gdd_DestinationInformationIO(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15350 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15351 ett_gdd_DestinationInformationIO
, gdd_DestinationInformationIO_sequence
);
15357 static const per_sequence_t gdd_SEQUENCE_SIZE_1_8__OF_DestinationInformationIO_sequence_of
[1] = {
15358 { &hf_gdd_ioList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_DestinationInformationIO
},
15362 dissect_gdd_SEQUENCE_SIZE_1_8__OF_DestinationInformationIO(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15363 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
15364 ett_gdd_SEQUENCE_SIZE_1_8__OF_DestinationInformationIO
, gdd_SEQUENCE_SIZE_1_8__OF_DestinationInformationIO_sequence_of
,
15371 static const per_sequence_t gdd_InternationalSign_destinationInformation_sequence
[] = {
15372 { &hf_gdd_junctionDirection
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_DistinInfo_junctionDirection
},
15373 { &hf_gdd_roundaboutCwDirection
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_DistinInfo_roundaboutCwDirection
},
15374 { &hf_gdd_roundaboutCcwDirection
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_DistinInfo_roundaboutCcwDirection
},
15375 { &hf_gdd_ioList
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_SEQUENCE_SIZE_1_8__OF_DestinationInformationIO
},
15376 { NULL
, 0, 0, NULL
}
15380 dissect_gdd_InternationalSign_destinationInformation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15381 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15382 ett_gdd_InternationalSign_destinationInformation
, gdd_InternationalSign_destinationInformation_sequence
);
15388 static const per_sequence_t gdd_InternationalSign_section_sequence
[] = {
15389 { &hf_gdd_startingPointLength
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_Distance
},
15390 { &hf_gdd_continuityLength
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_Distance
},
15391 { NULL
, 0, 0, NULL
}
15395 dissect_gdd_InternationalSign_section(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15396 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15397 ett_gdd_InternationalSign_section
, gdd_InternationalSign_section_sequence
);
15405 dissect_gdd_InternationalSign_numberOfLane(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15406 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15407 0U, 99U, NULL
, false);
15413 static const value_string gdd_GddAttributes_item_vals
[] = {
15427 static const per_choice_t gdd_GddAttributes_item_choice
[] = {
15428 { 0, &hf_gdd_dtm
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_applicablePeriod
},
15429 { 1, &hf_gdd_edt
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_exemptedApplicablePeriod
},
15430 { 2, &hf_gdd_dfl
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_directionalFlowOfLane
},
15431 { 3, &hf_gdd_ved
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_applicableVehicleDimensions
},
15432 { 4, &hf_gdd_spe
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_speedLimits
},
15433 { 5, &hf_gdd_roi
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_rateOfIncline
},
15434 { 6, &hf_gdd_dbv
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_distanceBetweenVehicles
},
15435 { 7, &hf_gdd_ddd
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_destinationInformation
},
15436 { 8, &hf_gdd_set
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_section
},
15437 { 9, &hf_gdd_nol
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_numberOfLane
},
15438 { 0, NULL
, 0, NULL
}
15442 dissect_gdd_GddAttributes_item(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15443 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
15444 ett_gdd_GddAttributes_item
, gdd_GddAttributes_item_choice
,
15451 static const per_sequence_t gdd_GddAttributes_sequence_of
[1] = {
15452 { &hf_gdd_GddAttributes_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_GddAttributes_item
},
15456 dissect_gdd_GddAttributes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15457 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
15458 ett_gdd_GddAttributes
, gdd_GddAttributes_sequence_of
,
15465 static const per_sequence_t gdd_GddStructure_sequence
[] = {
15466 { &hf_gdd_pictogramCode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_Pictogram
},
15467 { &hf_gdd_attributes
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_gdd_GddAttributes
},
15468 { NULL
, 0, 0, NULL
}
15472 dissect_gdd_GddStructure(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15473 // GddStructure -> GddAttributes -> GddAttributes/_item -> InternationalSign-destinationInformation -> InternationalSign-destinationInformation/ioList -> DestinationInformationIO -> DestinationInformationIO/destPlace -> DestinationPlace -> GddStructure
15474 actx
->pinfo
->dissection_depth
+= 8;
15475 increment_dissection_depth(actx
->pinfo
);
15476 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15477 ett_gdd_GddStructure
, gdd_GddStructure_sequence
);
15479 actx
->pinfo
->dissection_depth
-= 8;
15480 decrement_dissection_depth(actx
->pinfo
);
15485 /* --- Module IVI --- --- --- */
15488 static const per_sequence_t ivi_IviIdentificationNumbers_sequence_of
[1] = {
15489 { &hf_ivi_IviIdentificationNumbers_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_IviIdentificationNumber
},
15493 dissect_ivi_IviIdentificationNumbers(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15494 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
15495 ett_ivi_IviIdentificationNumbers
, ivi_IviIdentificationNumbers_sequence_of
,
15502 static const value_string ivi_IviStatus_vals
[] = {
15505 { 2, "cancellation" },
15512 dissect_ivi_IviStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15513 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15514 0U, 7U, NULL
, false);
15520 static const per_sequence_t ivi_ConnectedDenms_sequence_of
[1] = {
15521 { &hf_ivi_ConnectedDenms_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_ActionID
},
15525 dissect_ivi_ConnectedDenms(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15526 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
15527 ett_ivi_ConnectedDenms
, ivi_ConnectedDenms_sequence_of
,
15534 static const per_sequence_t ivi_IviManagementContainer_sequence
[] = {
15535 { &hf_ivi_serviceProviderId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Provider
},
15536 { &hf_ivi_iviIdentificationNumber
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_IviIdentificationNumber
},
15537 { &hf_ivi_timeStamp
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_TimestampIts
},
15538 { &hf_ivi_validFrom
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_TimestampIts
},
15539 { &hf_ivi_validTo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_TimestampIts
},
15540 { &hf_ivi_connectedIviStructures
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_IviIdentificationNumbers
},
15541 { &hf_ivi_iviStatus
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_IviStatus
},
15542 { &hf_ivi_connectedDenms
, ASN1_NOT_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_ConnectedDenms
},
15543 { NULL
, 0, 0, NULL
}
15547 dissect_ivi_IviManagementContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15548 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15549 ett_ivi_IviManagementContainer
, ivi_IviManagementContainer_sequence
);
15557 dissect_ivi_Zid(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15558 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15559 1U, 32U, NULL
, true);
15567 dissect_ivi_INTEGER_0_255(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15568 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15569 0U, 255U, NULL
, false);
15575 static const per_sequence_t ivi_DeltaPosition_sequence
[] = {
15576 { &hf_ivi_deltaLatitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaLatitude
},
15577 { &hf_ivi_deltaLongitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaLongitude
},
15578 { NULL
, 0, 0, NULL
}
15582 dissect_ivi_DeltaPosition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15583 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15584 ett_ivi_DeltaPosition
, ivi_DeltaPosition_sequence
);
15590 static const per_sequence_t ivi_DeltaPositions_sequence_of
[1] = {
15591 { &hf_ivi_DeltaPositions_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_DeltaPosition
},
15595 dissect_ivi_DeltaPositions(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15596 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
15597 ett_ivi_DeltaPositions
, ivi_DeltaPositions_sequence_of
,
15604 static const per_sequence_t ivi_DeltaReferencePositions_sequence_of
[1] = {
15605 { &hf_ivi_DeltaReferencePositions_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaReferencePosition
},
15609 dissect_ivi_DeltaReferencePositions(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15610 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
15611 ett_ivi_DeltaReferencePositions
, ivi_DeltaReferencePositions_sequence_of
,
15618 static const per_sequence_t ivi_AbsolutePosition_sequence
[] = {
15619 { &hf_ivi_latitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Latitude
},
15620 { &hf_ivi_longitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Longitude
},
15621 { NULL
, 0, 0, NULL
}
15625 dissect_ivi_AbsolutePosition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15626 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15627 ett_ivi_AbsolutePosition
, ivi_AbsolutePosition_sequence
);
15633 static const per_sequence_t ivi_AbsolutePositions_sequence_of
[1] = {
15634 { &hf_ivi_AbsolutePositions_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_AbsolutePosition
},
15638 dissect_ivi_AbsolutePositions(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15639 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
15640 ett_ivi_AbsolutePositions
, ivi_AbsolutePositions_sequence_of
,
15647 static const per_sequence_t ivi_AbsolutePositionWAltitude_sequence
[] = {
15648 { &hf_ivi_latitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Latitude
},
15649 { &hf_ivi_longitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Longitude
},
15650 { &hf_ivi_altitude
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Altitude
},
15651 { NULL
, 0, 0, NULL
}
15655 dissect_ivi_AbsolutePositionWAltitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15656 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15657 ett_ivi_AbsolutePositionWAltitude
, ivi_AbsolutePositionWAltitude_sequence
);
15663 static const per_sequence_t ivi_AbsolutePositionsWAltitude_sequence_of
[1] = {
15664 { &hf_ivi_AbsolutePositionsWAltitude_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_AbsolutePositionWAltitude
},
15668 dissect_ivi_AbsolutePositionsWAltitude(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15669 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
15670 ett_ivi_AbsolutePositionsWAltitude
, ivi_AbsolutePositionsWAltitude_sequence_of
,
15677 static const value_string ivi_PolygonalLine_vals
[] = {
15678 { 0, "deltaPositions" },
15679 { 1, "deltaPositionsWithAltitude" },
15680 { 2, "absolutePositions" },
15681 { 3, "absolutePositionsWithAltitude" },
15685 static const per_choice_t ivi_PolygonalLine_choice
[] = {
15686 { 0, &hf_ivi_deltaPositions
, ASN1_EXTENSION_ROOT
, dissect_ivi_DeltaPositions
},
15687 { 1, &hf_ivi_deltaPositionsWithAltitude
, ASN1_EXTENSION_ROOT
, dissect_ivi_DeltaReferencePositions
},
15688 { 2, &hf_ivi_absolutePositions
, ASN1_EXTENSION_ROOT
, dissect_ivi_AbsolutePositions
},
15689 { 3, &hf_ivi_absolutePositionsWithAltitude
, ASN1_EXTENSION_ROOT
, dissect_ivi_AbsolutePositionsWAltitude
},
15690 { 0, NULL
, 0, NULL
}
15694 dissect_ivi_PolygonalLine(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15695 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
15696 ett_ivi_PolygonalLine
, ivi_PolygonalLine_choice
,
15705 dissect_ivi_IviLaneWidth(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15706 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15707 0U, 1023U, NULL
, false);
15713 static const per_sequence_t ivi_Segment_sequence
[] = {
15714 { &hf_ivi_line
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_PolygonalLine
},
15715 { &hf_ivi_laneWidth
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_IviLaneWidth
},
15716 { NULL
, 0, 0, NULL
}
15720 dissect_ivi_Segment(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15721 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15722 ett_ivi_Segment
, ivi_Segment_sequence
);
15730 dissect_ivi_INTEGER_M32768_32767(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15731 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15732 -32768, 32767U, NULL
, false);
15738 static const per_sequence_t ivi_ComputedSegment_sequence
[] = {
15739 { &hf_ivi_zoneId
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_Zid
},
15740 { &hf_ivi_laneNumber
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_LanePosition
},
15741 { &hf_ivi_laneWidth
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_IviLaneWidth
},
15742 { &hf_ivi_offsetDistance
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_INTEGER_M32768_32767
},
15743 { &hf_ivi_offsetPosition
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_DeltaReferencePosition
},
15744 { NULL
, 0, 0, NULL
}
15748 dissect_ivi_ComputedSegment(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15749 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15750 ett_ivi_ComputedSegment
, ivi_ComputedSegment_sequence
);
15756 static const value_string ivi_Zone_vals
[] = {
15759 { 2, "computedSegment" },
15763 static const per_choice_t ivi_Zone_choice
[] = {
15764 { 0, &hf_ivi_segment
, ASN1_EXTENSION_ROOT
, dissect_ivi_Segment
},
15765 { 1, &hf_ivi_area
, ASN1_EXTENSION_ROOT
, dissect_ivi_PolygonalLine
},
15766 { 2, &hf_ivi_computedSegment
, ASN1_EXTENSION_ROOT
, dissect_ivi_ComputedSegment
},
15767 { 0, NULL
, 0, NULL
}
15771 dissect_ivi_Zone(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15772 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
15773 ett_ivi_Zone
, ivi_Zone_choice
,
15780 static const per_sequence_t ivi_GlcPart_sequence
[] = {
15781 { &hf_ivi_zoneId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_Zid
},
15782 { &hf_ivi_laneNumber
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_LanePosition
},
15783 { &hf_ivi_zoneExtension
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_INTEGER_0_255
},
15784 { &hf_ivi_zoneHeading
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_HeadingValue
},
15785 { &hf_ivi_zone
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_Zone
},
15786 { NULL
, 0, 0, NULL
}
15790 dissect_ivi_GlcPart(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15791 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15792 ett_ivi_GlcPart
, ivi_GlcPart_sequence
);
15798 static const per_sequence_t ivi_GlcParts_sequence_of
[1] = {
15799 { &hf_ivi_GlcParts_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_GlcPart
},
15803 dissect_ivi_GlcParts(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15804 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
15805 ett_ivi_GlcParts
, ivi_GlcParts_sequence_of
,
15812 static const per_sequence_t ivi_GeographicLocationContainer_sequence
[] = {
15813 { &hf_ivi_referencePosition
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_ReferencePosition
},
15814 { &hf_ivi_referencePositionTime
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_TimestampIts
},
15815 { &hf_ivi_referencePositionHeading
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Heading
},
15816 { &hf_ivi_referencePositionSpeed
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Speed
},
15817 { &hf_ivi_parts
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_GlcParts
},
15818 { NULL
, 0, 0, NULL
}
15822 dissect_ivi_GeographicLocationContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15823 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15824 ett_ivi_GeographicLocationContainer
, ivi_GeographicLocationContainer_sequence
);
15830 static const per_sequence_t ivi_ZoneIds_sequence_of
[1] = {
15831 { &hf_ivi_ZoneIds_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_Zid
},
15835 dissect_ivi_ZoneIds(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15836 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
15837 ett_ivi_ZoneIds
, ivi_ZoneIds_sequence_of
,
15846 dissect_ivi_T_GicPartDetectionZoneIds(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15847 offset
= dissect_ivi_ZoneIds(tvb
, offset
, actx
, tree
, hf_index
);
15855 dissect_ivi_T_GicPartRelevanceZoneIds(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15856 offset
= dissect_ivi_ZoneIds(tvb
, offset
, actx
, tree
, hf_index
);
15862 static const value_string ivi_Direction_vals
[] = {
15863 { 0, "sameDirection" },
15864 { 1, "oppositeDirection" },
15865 { 2, "bothDirections" },
15866 { 3, "valueNotUsed" },
15872 dissect_ivi_Direction(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15873 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15874 0U, 3U, NULL
, false);
15882 dissect_ivi_T_GicPartDriverAwarenessZoneIds(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15883 offset
= dissect_ivi_ZoneIds(tvb
, offset
, actx
, tree
, hf_index
);
15889 static const per_sequence_t ivi_LanePositions_sequence_of
[1] = {
15890 { &hf_ivi_LanePositions_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_LanePosition
},
15894 dissect_ivi_LanePositions(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15895 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
15896 ett_ivi_LanePositions
, ivi_LanePositions_sequence_of
,
15903 static const value_string ivi_IviType_vals
[] = {
15904 { 0, "immediateDangerWarningMessages" },
15905 { 1, "regulatoryMessages" },
15906 { 2, "trafficRelatedInformationMessages" },
15907 { 3, "pollutionMessages" },
15908 { 4, "notTrafficRelatedInformationMessages" },
15914 dissect_ivi_IviType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15915 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15916 0U, 7U, NULL
, false);
15922 static const value_string ivi_IviPurpose_vals
[] = {
15924 { 1, "environmental" },
15925 { 2, "trafficOptimisation" },
15931 dissect_ivi_IviPurpose(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15932 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15933 0U, 3U, NULL
, false);
15939 static const value_string ivi_LaneStatus_vals
[] = {
15945 { 5, "provisionallyOpen" },
15946 { 6, "diverging" },
15952 dissect_ivi_LaneStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15953 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15954 0U, 7U, NULL
, true);
15960 static const value_string ivi_GoodsType_vals
[] = {
15961 { 0, "ammunition" },
15962 { 1, "chemicals" },
15966 { 5, "dangerous" },
15968 { 7, "liveStock" },
15969 { 8, "dangerousForPeople" },
15970 { 9, "dangerousForTheEnvironment" },
15971 { 10, "dangerousForWater" },
15972 { 11, "perishableProducts" },
15973 { 12, "pharmaceutical" },
15974 { 13, "vehicles" },
15980 dissect_ivi_GoodsType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15981 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
15982 0U, 15U, NULL
, true);
15988 static const per_sequence_t ivi_LoadType_sequence
[] = {
15989 { &hf_ivi_goodsType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_GoodsType
},
15990 { &hf_ivi_dangerousGoodsType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_DangerousGoodsBasic
},
15991 { &hf_ivi_specialTransportType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_SpecialTransportType
},
15992 { NULL
, 0, 0, NULL
}
15996 dissect_ivi_LoadType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
15997 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
15998 ett_ivi_LoadType
, ivi_LoadType_sequence
);
16004 static const value_string ivi_VehicleCharacteristicsFixValues_vals
[] = {
16005 { 0, "simpleVehicleType" },
16006 { 1, "euVehicleCategoryCode" },
16007 { 2, "iso3833VehicleType" },
16008 { 3, "euroAndCo2value" },
16009 { 4, "engineCharacteristics" },
16015 static const per_choice_t ivi_VehicleCharacteristicsFixValues_choice
[] = {
16016 { 0, &hf_ivi_simpleVehicleType
, ASN1_EXTENSION_ROOT
, dissect_its_StationType
},
16017 { 1, &hf_ivi_euVehicleCategoryCode
, ASN1_EXTENSION_ROOT
, dissect_its_EuVehicleCategoryCode
},
16018 { 2, &hf_ivi_iso3833VehicleType
, ASN1_EXTENSION_ROOT
, dissect_its_Iso3833VehicleType
},
16019 { 3, &hf_ivi_euroAndCo2value
, ASN1_EXTENSION_ROOT
, dissect_dsrc_app_EnvironmentalCharacteristics
},
16020 { 4, &hf_ivi_engineCharacteristics
, ASN1_EXTENSION_ROOT
, dissect_dsrc_app_EngineCharacteristics
},
16021 { 5, &hf_ivi_loadType
, ASN1_EXTENSION_ROOT
, dissect_ivi_LoadType
},
16022 { 6, &hf_ivi_usage
, ASN1_EXTENSION_ROOT
, dissect_its_VehicleRole
},
16023 { 0, NULL
, 0, NULL
}
16027 dissect_ivi_VehicleCharacteristicsFixValues(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16028 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
16029 ett_ivi_VehicleCharacteristicsFixValues
, ivi_VehicleCharacteristicsFixValues_choice
,
16036 static const per_sequence_t ivi_VehicleCharacteristicsFixValuesList_sequence_of
[1] = {
16037 { &hf_ivi_VehicleCharacteristicsFixValuesList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_VehicleCharacteristicsFixValues
},
16041 dissect_ivi_VehicleCharacteristicsFixValuesList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16042 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
16043 ett_ivi_VehicleCharacteristicsFixValuesList
, ivi_VehicleCharacteristicsFixValuesList_sequence_of
,
16052 dissect_ivi_T_TractorCharactEqualTo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16053 offset
= dissect_ivi_VehicleCharacteristicsFixValuesList(tvb
, offset
, actx
, tree
, hf_index
);
16061 dissect_ivi_T_TractorCharactNotEqualTo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16062 offset
= dissect_ivi_VehicleCharacteristicsFixValuesList(tvb
, offset
, actx
, tree
, hf_index
);
16068 static const value_string ivi_ComparisonOperator_vals
[] = {
16069 { 0, "greaterThan" },
16070 { 1, "greaterThanOrEqualTo" },
16072 { 3, "lessThanOrEqualTo" },
16078 dissect_ivi_ComparisonOperator(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16079 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16080 0U, 3U, NULL
, false);
16088 dissect_ivi_INTEGER_0_7(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16089 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16090 0U, 7U, NULL
, false);
16096 static const value_string ivi_T_limits_vals
[] = {
16097 { 0, "numberOfAxles" },
16098 { 1, "vehicleDimensions" },
16099 { 2, "vehicleWeightLimits" },
16100 { 3, "axleWeightLimits" },
16101 { 4, "passengerCapacity" },
16102 { 5, "exhaustEmissionValues" },
16103 { 6, "dieselEmissionValues" },
16104 { 7, "soundLevel" },
16108 static const per_choice_t ivi_T_limits_choice
[] = {
16109 { 0, &hf_ivi_numberOfAxles
, ASN1_EXTENSION_ROOT
, dissect_ivi_INTEGER_0_7
},
16110 { 1, &hf_ivi_vehicleDimensions
, ASN1_EXTENSION_ROOT
, dissect_dsrc_app_VehicleDimensions
},
16111 { 2, &hf_ivi_vehicleWeightLimits
, ASN1_EXTENSION_ROOT
, dissect_dsrc_app_VehicleWeightLimits
},
16112 { 3, &hf_ivi_axleWeightLimits
, ASN1_EXTENSION_ROOT
, dissect_dsrc_app_AxleWeightLimits
},
16113 { 4, &hf_ivi_passengerCapacity
, ASN1_EXTENSION_ROOT
, dissect_dsrc_app_PassengerCapacity
},
16114 { 5, &hf_ivi_exhaustEmissionValues
, ASN1_EXTENSION_ROOT
, dissect_dsrc_app_ExhaustEmissionValues
},
16115 { 6, &hf_ivi_dieselEmissionValues
, ASN1_EXTENSION_ROOT
, dissect_dsrc_app_DieselEmissionValues
},
16116 { 7, &hf_ivi_soundLevel
, ASN1_EXTENSION_ROOT
, dissect_dsrc_app_SoundLevel
},
16117 { 0, NULL
, 0, NULL
}
16121 dissect_ivi_T_limits(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16122 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
16123 ett_ivi_T_limits
, ivi_T_limits_choice
,
16130 static const per_sequence_t ivi_VehicleCharacteristicsRanges_sequence
[] = {
16131 { &hf_ivi_comparisonOperator
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_ComparisonOperator
},
16132 { &hf_ivi_limits
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_T_limits
},
16133 { NULL
, 0, 0, NULL
}
16137 dissect_ivi_VehicleCharacteristicsRanges(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16138 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
16139 ett_ivi_VehicleCharacteristicsRanges
, ivi_VehicleCharacteristicsRanges_sequence
);
16145 static const per_sequence_t ivi_VehicleCharacteristicsRangesList_sequence_of
[1] = {
16146 { &hf_ivi_VehicleCharacteristicsRangesList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_VehicleCharacteristicsRanges
},
16150 dissect_ivi_VehicleCharacteristicsRangesList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16151 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
16152 ett_ivi_VehicleCharacteristicsRangesList
, ivi_VehicleCharacteristicsRangesList_sequence_of
,
16159 static const per_sequence_t ivi_TractorCharacteristics_sequence
[] = {
16160 { &hf_ivi_toEqualTo
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_T_TractorCharactEqualTo
},
16161 { &hf_ivi_toNotEqualTo
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_T_TractorCharactNotEqualTo
},
16162 { &hf_ivi_ranges
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_VehicleCharacteristicsRangesList
},
16163 { NULL
, 0, 0, NULL
}
16167 dissect_ivi_TractorCharacteristics(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16168 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
16169 ett_ivi_TractorCharacteristics
, ivi_TractorCharacteristics_sequence
);
16175 static const per_sequence_t ivi_TrailerCharacteristicsFixValuesList_sequence_of
[1] = {
16176 { &hf_ivi_TrailerCharacteristicsFixValuesList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_VehicleCharacteristicsFixValues
},
16180 dissect_ivi_TrailerCharacteristicsFixValuesList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16181 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
16182 ett_ivi_TrailerCharacteristicsFixValuesList
, ivi_TrailerCharacteristicsFixValuesList_sequence_of
,
16191 dissect_ivi_T_TrailerCharactEqualTo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16192 offset
= dissect_ivi_TrailerCharacteristicsFixValuesList(tvb
, offset
, actx
, tree
, hf_index
);
16200 dissect_ivi_T_TrailerCharactNotEqualTo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16201 offset
= dissect_ivi_TrailerCharacteristicsFixValuesList(tvb
, offset
, actx
, tree
, hf_index
);
16207 static const per_sequence_t ivi_TrailerCharacteristicsRangesList_sequence_of
[1] = {
16208 { &hf_ivi_TrailerCharacteristicsRangesList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_VehicleCharacteristicsRanges
},
16212 dissect_ivi_TrailerCharacteristicsRangesList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16213 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
16214 ett_ivi_TrailerCharacteristicsRangesList
, ivi_TrailerCharacteristicsRangesList_sequence_of
,
16221 static const per_sequence_t ivi_TrailerCharacteristics_sequence
[] = {
16222 { &hf_ivi_teEqualTo
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_T_TrailerCharactEqualTo
},
16223 { &hf_ivi_teNotEqualTo
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_T_TrailerCharactNotEqualTo
},
16224 { &hf_ivi_ranges_01
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_TrailerCharacteristicsRangesList
},
16225 { NULL
, 0, 0, NULL
}
16229 dissect_ivi_TrailerCharacteristics(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16230 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
16231 ett_ivi_TrailerCharacteristics
, ivi_TrailerCharacteristics_sequence
);
16237 static const per_sequence_t ivi_TrailerCharacteristicsList_sequence_of
[1] = {
16238 { &hf_ivi_TrailerCharacteristicsList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_TrailerCharacteristics
},
16242 dissect_ivi_TrailerCharacteristicsList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16243 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
16244 ett_ivi_TrailerCharacteristicsList
, ivi_TrailerCharacteristicsList_sequence_of
,
16253 dissect_ivi_TrainCharacteristics(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16254 offset
= dissect_ivi_TractorCharacteristics(tvb
, offset
, actx
, tree
, hf_index
);
16260 static const per_sequence_t ivi_CompleteVehicleCharacteristics_sequence
[] = {
16261 { &hf_ivi_tractor
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_TractorCharacteristics
},
16262 { &hf_ivi_trailer
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_TrailerCharacteristicsList
},
16263 { &hf_ivi_train
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_TrainCharacteristics
},
16264 { NULL
, 0, 0, NULL
}
16268 dissect_ivi_CompleteVehicleCharacteristics(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16269 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
16270 ett_ivi_CompleteVehicleCharacteristics
, ivi_CompleteVehicleCharacteristics_sequence
);
16276 static const per_sequence_t ivi_VehicleCharacteristicsList_sequence_of
[1] = {
16277 { &hf_ivi_VehicleCharacteristicsList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_CompleteVehicleCharacteristics
},
16281 dissect_ivi_VehicleCharacteristicsList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16282 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
16283 ett_ivi_VehicleCharacteristicsList
, ivi_VehicleCharacteristicsList_sequence_of
,
16290 static const value_string ivi_DriverCharacteristics_vals
[] = {
16291 { 0, "unexperiencedDrivers" },
16292 { 1, "experiencedDrivers" },
16300 dissect_ivi_DriverCharacteristics(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16301 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16302 0U, 3U, NULL
, false);
16310 dissect_ivi_INTEGER_1_4_(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16311 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16312 1U, 4U, NULL
, true);
16320 dissect_ivi_INTEGER_1_64_(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16321 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16322 1U, 64U, NULL
, true);
16328 static const value_string ivi_VcClass_vals
[] = {
16342 dissect_ivi_VcClass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16343 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16344 0U, 7U, NULL
, false);
16352 dissect_ivi_INTEGER_1_64(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16353 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16354 1U, 64U, NULL
, false);
16360 static const value_string ivi_VcOption_vals
[] = {
16374 dissect_ivi_VcOption(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16375 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16376 0U, 7U, NULL
, false);
16382 static const per_sequence_t ivi_ValidityPeriods_sequence_of
[1] = {
16383 { &hf_ivi_ValidityPeriods_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_gdd_InternationalSign_applicablePeriod
},
16387 dissect_ivi_ValidityPeriods(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16388 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
16389 ett_ivi_ValidityPeriods
, ivi_ValidityPeriods_sequence_of
,
16398 dissect_ivi_INTEGER_0_65535(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16399 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16400 0U, 65535U, NULL
, false);
16406 static const value_string ivi_RSCUnit_vals
[] = {
16408 { 1, "milesperh" },
16409 { 2, "kilometer" },
16411 { 4, "decimeter" },
16412 { 5, "centimeter" },
16416 { 9, "minutesOfTime" },
16418 { 11, "hundredkg" },
16420 { 13, "rateOfIncline" },
16426 dissect_ivi_RSCUnit(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16427 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16428 0U, 15U, NULL
, false);
16434 static const per_sequence_t ivi_VcCode_sequence
[] = {
16435 { &hf_ivi_roadSignClass
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_VcClass
},
16436 { &hf_ivi_roadSignCode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_INTEGER_1_64
},
16437 { &hf_ivi_vcOption
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_VcOption
},
16438 { &hf_ivi_vcValidity
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_ValidityPeriods
},
16439 { &hf_ivi_vcValue
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_INTEGER_0_65535
},
16440 { &hf_ivi_unit
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_RSCUnit
},
16441 { NULL
, 0, 0, NULL
}
16445 dissect_ivi_VcCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16446 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
16447 ett_ivi_VcCode
, ivi_VcCode_sequence
);
16455 dissect_ivi_OCTET_STRING_SIZE_2(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16456 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
16457 2, 2, false, NULL
);
16463 static const value_string ivi_T_trafficSignPictogram_vals
[] = {
16464 { 0, "dangerWarning" },
16465 { 1, "regulatory" },
16466 { 2, "informative" },
16472 dissect_ivi_T_trafficSignPictogram(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16473 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
16474 3, NULL
, true, 0, NULL
);
16480 static const value_string ivi_T_publicFacilitiesPictogram_vals
[] = {
16481 { 0, "publicFacilities" },
16487 dissect_ivi_T_publicFacilitiesPictogram(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16488 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
16489 1, NULL
, true, 0, NULL
);
16495 static const value_string ivi_T_ambientOrRoadConditionPictogram_vals
[] = {
16496 { 0, "ambientCondition" },
16497 { 1, "roadCondition" },
16503 dissect_ivi_T_ambientOrRoadConditionPictogram(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16504 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
16505 2, NULL
, true, 0, NULL
);
16511 static const value_string ivi_T_serviceCategoryCode_vals
[] = {
16512 { 0, "trafficSignPictogram" },
16513 { 1, "publicFacilitiesPictogram" },
16514 { 2, "ambientOrRoadConditionPictogram" },
16518 static const per_choice_t ivi_T_serviceCategoryCode_choice
[] = {
16519 { 0, &hf_ivi_trafficSignPictogram
, ASN1_EXTENSION_ROOT
, dissect_ivi_T_trafficSignPictogram
},
16520 { 1, &hf_ivi_publicFacilitiesPictogram
, ASN1_EXTENSION_ROOT
, dissect_ivi_T_publicFacilitiesPictogram
},
16521 { 2, &hf_ivi_ambientOrRoadConditionPictogram
, ASN1_EXTENSION_ROOT
, dissect_ivi_T_ambientOrRoadConditionPictogram
},
16522 { 0, NULL
, 0, NULL
}
16526 dissect_ivi_T_serviceCategoryCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16527 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
16528 ett_ivi_T_serviceCategoryCode
, ivi_T_serviceCategoryCode_choice
,
16537 dissect_ivi_INTEGER_1_9(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16538 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16539 1U, 9U, NULL
, false);
16547 dissect_ivi_INTEGER_0_99(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16548 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16549 0U, 99U, NULL
, false);
16555 static const per_sequence_t ivi_T_pictogramCategoryCode_sequence
[] = {
16556 { &hf_ivi_nature
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_INTEGER_1_9
},
16557 { &hf_ivi_serialNumber
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_INTEGER_0_99
},
16558 { NULL
, 0, 0, NULL
}
16562 dissect_ivi_T_pictogramCategoryCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16563 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
16564 ett_ivi_T_pictogramCategoryCode
, ivi_T_pictogramCategoryCode_sequence
);
16570 static const per_sequence_t ivi_T_icPictogramCode_sequence
[] = {
16571 { &hf_ivi_countryCode
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_OCTET_STRING_SIZE_2
},
16572 { &hf_ivi_serviceCategoryCode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_T_serviceCategoryCode
},
16573 { &hf_ivi_pictogramCategoryCode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_T_pictogramCategoryCode
},
16574 { NULL
, 0, 0, NULL
}
16578 dissect_ivi_T_icPictogramCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16579 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
16580 ett_ivi_T_icPictogramCode
, ivi_T_icPictogramCode_sequence
);
16586 static const value_string ivi_ISO14823Attribute_vals
[] = {
16598 static const per_choice_t ivi_ISO14823Attribute_choice
[] = {
16599 { 0, &hf_ivi_dtm
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_applicablePeriod
},
16600 { 1, &hf_ivi_edt
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_exemptedApplicablePeriod
},
16601 { 2, &hf_ivi_dfl
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_directionalFlowOfLane
},
16602 { 3, &hf_ivi_ved
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_applicableVehicleDimensions
},
16603 { 4, &hf_ivi_spe
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_speedLimits
},
16604 { 5, &hf_ivi_roi
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_rateOfIncline
},
16605 { 6, &hf_ivi_dbv
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_distanceBetweenVehicles
},
16606 { 7, &hf_ivi_ddd
, ASN1_NO_EXTENSIONS
, dissect_gdd_InternationalSign_destinationInformation
},
16607 { 0, NULL
, 0, NULL
}
16611 dissect_ivi_ISO14823Attribute(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16612 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
16613 ett_ivi_ISO14823Attribute
, ivi_ISO14823Attribute_choice
,
16620 static const per_sequence_t ivi_ISO14823Attributes_sequence_of
[1] = {
16621 { &hf_ivi_ISO14823Attributes_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_ISO14823Attribute
},
16625 dissect_ivi_ISO14823Attributes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16626 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
16627 ett_ivi_ISO14823Attributes
, ivi_ISO14823Attributes_sequence_of
,
16634 static const per_sequence_t ivi_ISO14823Code_sequence
[] = {
16635 { &hf_ivi_icPictogramCode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_T_icPictogramCode
},
16636 { &hf_ivi_attributes
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_ISO14823Attributes
},
16637 { NULL
, 0, 0, NULL
}
16641 dissect_ivi_ISO14823Code(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16642 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
16643 ett_ivi_ISO14823Code
, ivi_ISO14823Code_sequence
);
16649 static const per_sequence_t ivi_AnyCatalogue_sequence
[] = {
16650 { &hf_ivi_owner
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_app_Provider
},
16651 { &hf_ivi_version
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_INTEGER_0_255
},
16652 { &hf_ivi_acPictogramCode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_INTEGER_0_65535
},
16653 { &hf_ivi_acValue
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_INTEGER_0_65535
},
16654 { &hf_ivi_unit
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_RSCUnit
},
16655 { &hf_ivi_attributes
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_ISO14823Attributes
},
16656 { NULL
, 0, 0, NULL
}
16660 dissect_ivi_AnyCatalogue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16661 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
16662 ett_ivi_AnyCatalogue
, ivi_AnyCatalogue_sequence
);
16668 static const value_string ivi_T_code_vals
[] = {
16669 { 0, "viennaConvention" },
16671 { 2, "itisCodes" },
16672 { 3, "anyCatalogue" },
16676 static const per_choice_t ivi_T_code_choice
[] = {
16677 { 0, &hf_ivi_viennaConvention
, ASN1_EXTENSION_ROOT
, dissect_ivi_VcCode
},
16678 { 1, &hf_ivi_iso14823
, ASN1_EXTENSION_ROOT
, dissect_ivi_ISO14823Code
},
16679 { 2, &hf_ivi_itisCodes
, ASN1_EXTENSION_ROOT
, dissect_ivi_INTEGER_0_65535
},
16680 { 3, &hf_ivi_anyCatalogue
, ASN1_EXTENSION_ROOT
, dissect_ivi_AnyCatalogue
},
16681 { 0, NULL
, 0, NULL
}
16685 dissect_ivi_T_code(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16686 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
16687 ett_ivi_T_code
, ivi_T_code_choice
,
16694 static const per_sequence_t ivi_RSCode_sequence
[] = {
16695 { &hf_ivi_rscLayoutComponentId
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_INTEGER_1_4_
},
16696 { &hf_ivi_code
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_T_code
},
16697 { NULL
, 0, 0, NULL
}
16701 dissect_ivi_RSCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16702 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
16703 ett_ivi_RSCode
, ivi_RSCode_sequence
);
16709 static const per_sequence_t ivi_RoadSignCodes_sequence_of
[1] = {
16710 { &hf_ivi_RoadSignCodes_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_RSCode
},
16714 dissect_ivi_RoadSignCodes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16715 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
16716 ett_ivi_RoadSignCodes
, ivi_RoadSignCodes_sequence_of
,
16725 dissect_ivi_T_language(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16726 tvbuff_t
*val_tvb
= NULL
;
16727 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
16728 10, 10, false, NULL
, 0, &val_tvb
, NULL
);
16730 append_country_code_fmt(actx
->created_item
, val_tvb
);
16738 dissect_ivi_UTF8String(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16739 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
16740 NO_BOUND
, NO_BOUND
, false);
16746 static const per_sequence_t ivi_Text_sequence
[] = {
16747 { &hf_ivi_tLayoutComponentId
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_INTEGER_1_4_
},
16748 { &hf_ivi_language
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_T_language
},
16749 { &hf_ivi_textContent
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_UTF8String
},
16750 { NULL
, 0, 0, NULL
}
16754 dissect_ivi_Text(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16755 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
16756 ett_ivi_Text
, ivi_Text_sequence
);
16762 static const per_sequence_t ivi_ConstraintTextLines1_sequence_of
[1] = {
16763 { &hf_ivi_ConstraintTextLines1_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_Text
},
16767 dissect_ivi_ConstraintTextLines1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16768 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
16769 ett_ivi_ConstraintTextLines1
, ivi_ConstraintTextLines1_sequence_of
,
16778 dissect_ivi_T_GicPartExtraText(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16779 offset
= dissect_ivi_ConstraintTextLines1(tvb
, offset
, actx
, tree
, hf_index
);
16785 static const per_sequence_t ivi_GicPart_sequence
[] = {
16786 { &hf_ivi_gpDetectionZoneIds
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_T_GicPartDetectionZoneIds
},
16787 { &hf_ivi_its_Rrid
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_VarLengthNumber
},
16788 { &hf_ivi_gpRelevanceZoneIds
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_T_GicPartRelevanceZoneIds
},
16789 { &hf_ivi_direction
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_Direction
},
16790 { &hf_ivi_gpDriverAwarenessZoneIds
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_T_GicPartDriverAwarenessZoneIds
},
16791 { &hf_ivi_minimumAwarenessTime
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_INTEGER_0_255
},
16792 { &hf_ivi_applicableLanes
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_LanePositions
},
16793 { &hf_ivi_iviType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_IviType
},
16794 { &hf_ivi_iviPurpose
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_IviPurpose
},
16795 { &hf_ivi_laneStatus
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_LaneStatus
},
16796 { &hf_ivi_vehicleCharacteristics
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_VehicleCharacteristicsList
},
16797 { &hf_ivi_driverCharacteristics
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_DriverCharacteristics
},
16798 { &hf_ivi_layoutId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_INTEGER_1_4_
},
16799 { &hf_ivi_preStoredlayoutId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_INTEGER_1_64_
},
16800 { &hf_ivi_roadSignCodes
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_RoadSignCodes
},
16801 { &hf_ivi_extraText
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_T_GicPartExtraText
},
16802 { NULL
, 0, 0, NULL
}
16806 dissect_ivi_GicPart(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16807 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
16808 ett_ivi_GicPart
, ivi_GicPart_sequence
);
16814 static const per_sequence_t ivi_GeneralIviContainer_sequence_of
[1] = {
16815 { &hf_ivi_GeneralIviContainer_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_GicPart
},
16819 dissect_ivi_GeneralIviContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16820 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
16821 ett_ivi_GeneralIviContainer
, ivi_GeneralIviContainer_sequence_of
,
16828 static const value_string ivi_LaneType_vals
[] = {
16831 { 2, "reversible" },
16832 { 3, "acceleration" },
16833 { 4, "deceleration" },
16834 { 5, "leftHandTurning" },
16835 { 6, "rightHandTurning" },
16836 { 7, "dedicatedVehicle" },
16841 { 12, "pedestrian" },
16842 { 13, "bikeLane" },
16844 { 15, "striping" },
16845 { 16, "trackedVehicle" },
16847 { 18, "emergency" },
16849 { 20, "minimumRiskManoeuvre" },
16855 dissect_ivi_LaneType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16856 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16857 0U, 31U, NULL
, false);
16863 static const value_string ivi_DefinitionAccuracy_vals
[] = {
16871 { 7, "unavailable" },
16877 dissect_ivi_DefinitionAccuracy(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16878 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16879 0U, 7U, NULL
, true);
16887 dissect_ivi_LaneMarkingStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16888 offset
= dissect_per_boolean(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
16894 static const value_string ivi_MarkingColour_vals
[] = {
16900 { 7, "unavailable" },
16906 dissect_ivi_MarkingColour(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16907 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16908 0U, 7U, NULL
, true);
16914 static const value_string ivi_LaneDelimitation_vals
[] = {
16915 { 0, "noDelimitation" },
16916 { 1, "lowLaneSeparator" },
16917 { 2, "highLaneSeparator" },
16921 { 6, "guardrail" },
16927 dissect_ivi_LaneDelimitation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16928 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16929 0U, 7U, NULL
, true);
16935 static const per_sequence_t ivi_LaneCharacteristics_sequence
[] = {
16936 { &hf_ivi_zoneDefinitionAccuracy
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_DefinitionAccuracy
},
16937 { &hf_ivi_existinglaneMarkingStatus
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_LaneMarkingStatus
},
16938 { &hf_ivi_newlaneMarkingColour
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_MarkingColour
},
16939 { &hf_ivi_laneDelimitationLeft
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_LaneDelimitation
},
16940 { &hf_ivi_laneDelimitationRight
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_LaneDelimitation
},
16941 { &hf_ivi_mergingWith
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_Zid
},
16942 { NULL
, 0, 0, NULL
}
16946 dissect_ivi_LaneCharacteristics(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16947 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
16948 ett_ivi_LaneCharacteristics
, ivi_LaneCharacteristics_sequence
);
16956 dissect_ivi_FrictionCoefficient(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16957 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16958 0U, 101U, NULL
, false);
16964 static const value_string ivi_MaterialType_vals
[] = {
16967 { 2, "cobblestone" },
16969 { 7, "unavailable" },
16975 dissect_ivi_MaterialType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16976 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16977 0U, 7U, NULL
, true);
16983 static const value_string ivi_WearLevel_vals
[] = {
16987 { 3, "hasPotholes" },
16988 { 7, "unavailable" },
16994 dissect_ivi_WearLevel(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
16995 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
16996 0U, 7U, NULL
, true);
17004 dissect_ivi_BankingAngle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17005 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
17006 -20, 21U, NULL
, false);
17012 static const per_sequence_t ivi_RoadSurfaceStaticCharacteristics_sequence
[] = {
17013 { &hf_ivi_frictionCoefficient
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_FrictionCoefficient
},
17014 { &hf_ivi_material
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_MaterialType
},
17015 { &hf_ivi_wear
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_WearLevel
},
17016 { &hf_ivi_avBankingAngle
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_BankingAngle
},
17017 { NULL
, 0, 0, NULL
}
17021 dissect_ivi_RoadSurfaceStaticCharacteristics(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17022 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17023 ett_ivi_RoadSurfaceStaticCharacteristics
, ivi_RoadSurfaceStaticCharacteristics_sequence
);
17029 static const value_string ivi_Condition_vals
[] = {
17033 { 3, "standingWater" },
17038 { 8, "unvailable" },
17044 dissect_ivi_Condition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17045 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
17046 0U, 15U, NULL
, true);
17054 dissect_ivi_Temperature(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17055 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
17056 -100, 151U, NULL
, false);
17064 dissect_ivi_Depth(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17065 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
17066 0U, 255U, NULL
, false);
17072 static const value_string ivi_TreatmentType_vals
[] = {
17075 { 2, "anti-icing" },
17077 { 7, "unavailable" },
17083 dissect_ivi_TreatmentType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17084 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
17085 0U, 7U, NULL
, false);
17091 static const per_sequence_t ivi_RoadSurfaceDynamicCharacteristics_sequence
[] = {
17092 { &hf_ivi_condition
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_Condition
},
17093 { &hf_ivi_temperature
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_Temperature
},
17094 { &hf_ivi_iceOrWaterDepth
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_Depth
},
17095 { &hf_ivi_treatment
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_TreatmentType
},
17096 { NULL
, 0, 0, NULL
}
17100 dissect_ivi_RoadSurfaceDynamicCharacteristics(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17101 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17102 ett_ivi_RoadSurfaceDynamicCharacteristics
, ivi_RoadSurfaceDynamicCharacteristics_sequence
);
17108 static const per_sequence_t ivi_LaneInformation_eag_1_sequence
[] = {
17109 { &hf_ivi_detectionZoneIds
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_ZoneIds
},
17110 { &hf_ivi_relevanceZoneIds
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_ZoneIds
},
17111 { &hf_ivi_laneCharacteristics
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_LaneCharacteristics
},
17112 { &hf_ivi_laneSurfaceStaticCharacteristics
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_RoadSurfaceStaticCharacteristics
},
17113 { &hf_ivi_laneSurfaceDynamicCharacteristics
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_RoadSurfaceDynamicCharacteristics
},
17114 { NULL
, 0, 0, NULL
}
17118 dissect_ivi_LaneInformation_eag_1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17119 offset
= dissect_per_sequence_eag(tvb
, offset
, actx
, tree
, ivi_LaneInformation_eag_1_sequence
);
17125 static const per_sequence_t ivi_LaneInformation_sequence
[] = {
17126 { &hf_ivi_laneNumber
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_LanePosition
},
17127 { &hf_ivi_direction
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_Direction
},
17128 { &hf_ivi_liValidity
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_gdd_InternationalSign_applicablePeriod
},
17129 { &hf_ivi_laneType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_LaneType
},
17130 { &hf_ivi_laneTypeQualifier
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_CompleteVehicleCharacteristics
},
17131 { &hf_ivi_laneStatus
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_LaneStatus
},
17132 { &hf_ivi_laneWidth
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_IviLaneWidth
},
17133 { &dummy_hf_ivi_eag_field
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_LaneInformation_eag_1
},
17134 { NULL
, 0, 0, NULL
}
17138 dissect_ivi_LaneInformation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17139 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17140 ett_ivi_LaneInformation
, ivi_LaneInformation_sequence
);
17146 static const per_sequence_t ivi_LaneConfiguration_sequence_of
[1] = {
17147 { &hf_ivi_LaneConfiguration_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_LaneInformation
},
17151 dissect_ivi_LaneConfiguration(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17152 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
17153 ett_ivi_LaneConfiguration
, ivi_LaneConfiguration_sequence_of
,
17160 static const per_sequence_t ivi_RccPart_sequence
[] = {
17161 { &hf_ivi_relevanceZoneIds
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_ZoneIds
},
17162 { &hf_ivi_roadType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_RoadType
},
17163 { &hf_ivi_laneConfiguration
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_LaneConfiguration
},
17164 { NULL
, 0, 0, NULL
}
17168 dissect_ivi_RccPart(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17169 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17170 ett_ivi_RccPart
, ivi_RccPart_sequence
);
17176 static const per_sequence_t ivi_RoadConfigurationContainer_sequence_of
[1] = {
17177 { &hf_ivi_RoadConfigurationContainer_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_RccPart
},
17181 dissect_ivi_RoadConfigurationContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17182 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
17183 ett_ivi_RoadConfigurationContainer
, ivi_RoadConfigurationContainer_sequence_of
,
17192 dissect_ivi_T_TcPartDetectionZoneIds(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17193 offset
= dissect_ivi_ZoneIds(tvb
, offset
, actx
, tree
, hf_index
);
17201 dissect_ivi_T_TcPartRelevanceZoneIds(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17202 offset
= dissect_ivi_ZoneIds(tvb
, offset
, actx
, tree
, hf_index
);
17210 dissect_ivi_T_TcPartDriverAwarenessZoneIds(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17211 offset
= dissect_ivi_ZoneIds(tvb
, offset
, actx
, tree
, hf_index
);
17217 static const per_sequence_t ivi_TextLines_sequence_of
[1] = {
17218 { &hf_ivi_TextLines_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_Text
},
17222 dissect_ivi_TextLines(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17223 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
17224 ett_ivi_TextLines
, ivi_TextLines_sequence_of
,
17233 dissect_ivi_T_TcPartText(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17234 offset
= dissect_ivi_TextLines(tvb
, offset
, actx
, tree
, hf_index
);
17242 dissect_ivi_OCTET_STRING(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17243 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
17244 NO_BOUND
, NO_BOUND
, false, NULL
);
17250 static const per_sequence_t ivi_TcPart_eag_1_sequence
[] = {
17251 { &hf_ivi_iviType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_IviType
},
17252 { &hf_ivi_laneStatus
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_LaneStatus
},
17253 { &hf_ivi_vehicleCharacteristics
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_VehicleCharacteristicsList
},
17254 { NULL
, 0, 0, NULL
}
17258 dissect_ivi_TcPart_eag_1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17259 offset
= dissect_per_sequence_eag(tvb
, offset
, actx
, tree
, ivi_TcPart_eag_1_sequence
);
17265 static const per_sequence_t ivi_TcPart_sequence
[] = {
17266 { &hf_ivi_tpDetectionZoneIds
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_T_TcPartDetectionZoneIds
},
17267 { &hf_ivi_tpRelevanceZoneIds
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_T_TcPartRelevanceZoneIds
},
17268 { &hf_ivi_direction
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_Direction
},
17269 { &hf_ivi_tpDriverAwarenessZoneIds
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_T_TcPartDriverAwarenessZoneIds
},
17270 { &hf_ivi_minimumAwarenessTime
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_INTEGER_0_255
},
17271 { &hf_ivi_applicableLanes
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_LanePositions
},
17272 { &hf_ivi_layoutId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_INTEGER_1_4_
},
17273 { &hf_ivi_preStoredlayoutId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_INTEGER_1_64_
},
17274 { &hf_ivi_text
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_T_TcPartText
},
17275 { &hf_ivi_data
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_OCTET_STRING
},
17276 { &dummy_hf_ivi_eag_field
, ASN1_NOT_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_TcPart_eag_1
},
17277 { NULL
, 0, 0, NULL
}
17281 dissect_ivi_TcPart(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17282 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17283 ett_ivi_TcPart
, ivi_TcPart_sequence
);
17289 static const per_sequence_t ivi_TextContainer_sequence_of
[1] = {
17290 { &hf_ivi_TextContainer_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_TcPart
},
17294 dissect_ivi_TextContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17295 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
17296 ett_ivi_TextContainer
, ivi_TextContainer_sequence_of
,
17305 dissect_ivi_INTEGER_10_73(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17306 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
17307 10U, 73U, NULL
, false);
17315 dissect_ivi_INTEGER_10_265(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17316 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
17317 10U, 265U, NULL
, false);
17325 dissect_ivi_INTEGER_1_8_(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17326 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
17327 1U, 8U, NULL
, true);
17333 static const value_string ivi_T_textScripting_vals
[] = {
17334 { 0, "horizontal" },
17341 dissect_ivi_T_textScripting(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17342 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
17343 0U, 1U, NULL
, false);
17349 static const per_sequence_t ivi_LayoutComponent_sequence
[] = {
17350 { &hf_ivi_lcLayoutComponentId
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_INTEGER_1_8_
},
17351 { &hf_ivi_height
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_INTEGER_10_73
},
17352 { &hf_ivi_width
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_INTEGER_10_265
},
17353 { &hf_ivi_x
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_INTEGER_10_265
},
17354 { &hf_ivi_y
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_INTEGER_10_73
},
17355 { &hf_ivi_textScripting
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_T_textScripting
},
17356 { NULL
, 0, 0, NULL
}
17360 dissect_ivi_LayoutComponent(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17361 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17362 ett_ivi_LayoutComponent
, ivi_LayoutComponent_sequence
);
17368 static const per_sequence_t ivi_LayoutComponents_sequence_of
[1] = {
17369 { &hf_ivi_LayoutComponents_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_LayoutComponent
},
17373 dissect_ivi_LayoutComponents(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17374 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
17375 ett_ivi_LayoutComponents
, ivi_LayoutComponents_sequence_of
,
17382 static const per_sequence_t ivi_LayoutContainer_sequence
[] = {
17383 { &hf_ivi_layoutId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_INTEGER_1_4_
},
17384 { &hf_ivi_height
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_INTEGER_10_73
},
17385 { &hf_ivi_width
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_INTEGER_10_265
},
17386 { &hf_ivi_layoutComponents
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_LayoutComponents
},
17387 { NULL
, 0, 0, NULL
}
17391 dissect_ivi_LayoutContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17392 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17393 ett_ivi_LayoutContainer
, ivi_LayoutContainer_sequence
);
17401 dissect_ivi_PriorityLevel(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17402 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
17403 0U, 2U, NULL
, false);
17411 dissect_ivi_SaeAutomationLevel(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17412 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
17413 0U, 5U, NULL
, false);
17419 static const per_sequence_t ivi_SaeAutomationLevels_sequence_of
[1] = {
17420 { &hf_ivi_SaeAutomationLevels_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_SaeAutomationLevel
},
17424 dissect_ivi_SaeAutomationLevels(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17425 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
17426 ett_ivi_SaeAutomationLevels
, ivi_SaeAutomationLevels_sequence_of
,
17435 dissect_ivi_GapBetweenVehicles(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17436 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
17437 0U, 255U, NULL
, false);
17443 static const per_sequence_t ivi_ConstraintTextLines2_sequence_of
[1] = {
17444 { &hf_ivi_ConstraintTextLines2_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_Text
},
17448 dissect_ivi_ConstraintTextLines2(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17449 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
17450 ett_ivi_ConstraintTextLines2
, ivi_ConstraintTextLines2_sequence_of
,
17457 static const per_sequence_t ivi_AutomatedVehicleRule_sequence
[] = {
17458 { &hf_ivi_priority
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_PriorityLevel
},
17459 { &hf_ivi_allowedSaeAutomationLevels
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_SaeAutomationLevels
},
17460 { &hf_ivi_minGapBetweenVehicles
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_GapBetweenVehicles
},
17461 { &hf_ivi_recGapBetweenVehicles
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_GapBetweenVehicles
},
17462 { &hf_ivi_automatedVehicleMaxSpeedLimit
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_SpeedValue
},
17463 { &hf_ivi_automatedVehicleMinSpeedLimit
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_SpeedValue
},
17464 { &hf_ivi_automatedVehicleSpeedRecommendation
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_SpeedValue
},
17465 { &hf_ivi_roadSignCodes
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_RoadSignCodes
},
17466 { &hf_ivi_extraText_01
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_ConstraintTextLines2
},
17467 { NULL
, 0, 0, NULL
}
17471 dissect_ivi_AutomatedVehicleRule(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17472 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17473 ett_ivi_AutomatedVehicleRule
, ivi_AutomatedVehicleRule_sequence
);
17479 static const per_sequence_t ivi_AutomatedVehicleRules_sequence_of
[1] = {
17480 { &hf_ivi_AutomatedVehicleRules_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_AutomatedVehicleRule
},
17484 dissect_ivi_AutomatedVehicleRules(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17485 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
17486 ett_ivi_AutomatedVehicleRules
, ivi_AutomatedVehicleRules_sequence_of
,
17495 dissect_ivi_MaxNoOfVehicles(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17496 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
17497 2U, 64U, NULL
, false);
17505 dissect_ivi_MaxLenghtOfPlatoon(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17506 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
17507 1U, 64U, NULL
, false);
17513 static const per_sequence_t ivi_PlatooningRule_sequence
[] = {
17514 { &hf_ivi_priority
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_PriorityLevel
},
17515 { &hf_ivi_allowedSaeAutomationLevels
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_SaeAutomationLevels
},
17516 { &hf_ivi_maxNoOfVehicles
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_MaxNoOfVehicles
},
17517 { &hf_ivi_maxLenghtOfPlatoon
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_MaxLenghtOfPlatoon
},
17518 { &hf_ivi_minGapBetweenVehicles
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_GapBetweenVehicles
},
17519 { &hf_ivi_platoonMaxSpeedLimit
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_SpeedValue
},
17520 { &hf_ivi_platoonMinSpeedLimit
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_SpeedValue
},
17521 { &hf_ivi_platoonSpeedRecommendation
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_SpeedValue
},
17522 { &hf_ivi_roadSignCodes
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_RoadSignCodes
},
17523 { &hf_ivi_extraText_01
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_ConstraintTextLines2
},
17524 { NULL
, 0, 0, NULL
}
17528 dissect_ivi_PlatooningRule(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17529 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17530 ett_ivi_PlatooningRule
, ivi_PlatooningRule_sequence
);
17536 static const per_sequence_t ivi_PlatooningRules_sequence_of
[1] = {
17537 { &hf_ivi_PlatooningRules_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_PlatooningRule
},
17541 dissect_ivi_PlatooningRules(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17542 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
17543 ett_ivi_PlatooningRules
, ivi_PlatooningRules_sequence_of
,
17550 static const per_sequence_t ivi_AvcPart_sequence
[] = {
17551 { &hf_ivi_detectionZoneIds
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_ZoneIds
},
17552 { &hf_ivi_relevanceZoneIds
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_ivi_ZoneIds
},
17553 { &hf_ivi_direction
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_Direction
},
17554 { &hf_ivi_applicableLanes
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_LanePositions
},
17555 { &hf_ivi_vehicleCharacteristics
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_VehicleCharacteristicsList
},
17556 { &hf_ivi_automatedVehicleRules
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_AutomatedVehicleRules
},
17557 { &hf_ivi_platooningRules
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_ivi_PlatooningRules
},
17558 { NULL
, 0, 0, NULL
}
17562 dissect_ivi_AvcPart(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17563 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17564 ett_ivi_AvcPart
, ivi_AvcPart_sequence
);
17570 static const per_sequence_t ivi_AutomatedVehicleContainer_sequence_of
[1] = {
17571 { &hf_ivi_AutomatedVehicleContainer_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_AvcPart
},
17575 dissect_ivi_AutomatedVehicleContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17576 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
17577 ett_ivi_AutomatedVehicleContainer
, ivi_AutomatedVehicleContainer_sequence_of
,
17584 static const value_string ivi_MapReference_vals
[] = {
17585 { 0, "roadsegment" },
17586 { 1, "intersection" },
17590 static const per_choice_t ivi_MapReference_choice
[] = {
17591 { 0, &hf_ivi_roadsegment
, ASN1_NO_EXTENSIONS
, dissect_dsrc_RoadSegmentReferenceID
},
17592 { 1, &hf_ivi_intersection
, ASN1_NO_EXTENSIONS
, dissect_dsrc_IntersectionReferenceID
},
17593 { 0, NULL
, 0, NULL
}
17597 dissect_ivi_MapReference(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17598 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
17599 ett_ivi_MapReference
, ivi_MapReference_choice
,
17606 static const per_sequence_t ivi_LaneIds_sequence_of
[1] = {
17607 { &hf_ivi_LaneIds_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_LaneID
},
17611 dissect_ivi_LaneIds(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17612 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
17613 ett_ivi_LaneIds
, ivi_LaneIds_sequence_of
,
17620 static const per_sequence_t ivi_MlcPart_sequence
[] = {
17621 { &hf_ivi_zoneId
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_Zid
},
17622 { &hf_ivi_laneIds
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_LaneIds
},
17623 { NULL
, 0, 0, NULL
}
17627 dissect_ivi_MlcPart(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17628 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17629 ett_ivi_MlcPart
, ivi_MlcPart_sequence
);
17635 static const per_sequence_t ivi_MlcParts_sequence_of
[1] = {
17636 { &hf_ivi_MlcParts_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_MlcPart
},
17640 dissect_ivi_MlcParts(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17641 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
17642 ett_ivi_MlcParts
, ivi_MlcParts_sequence_of
,
17649 static const per_sequence_t ivi_MapLocationContainer_sequence
[] = {
17650 { &hf_ivi_reference
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_MapReference
},
17651 { &hf_ivi_parts_01
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_MlcParts
},
17652 { NULL
, 0, 0, NULL
}
17656 dissect_ivi_MapLocationContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17657 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17658 ett_ivi_MapLocationContainer
, ivi_MapLocationContainer_sequence
);
17664 static const per_sequence_t ivi_RscPart_sequence
[] = {
17665 { &hf_ivi_detectionZoneIds
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_ZoneIds
},
17666 { &hf_ivi_relevanceZoneIds
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_ZoneIds
},
17667 { &hf_ivi_direction
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_Direction
},
17668 { &hf_ivi_roadSurfaceStaticCharacteristics
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_RoadSurfaceStaticCharacteristics
},
17669 { &hf_ivi_roadSurfaceDynamicCharacteristics
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_RoadSurfaceDynamicCharacteristics
},
17670 { NULL
, 0, 0, NULL
}
17674 dissect_ivi_RscPart(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17675 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17676 ett_ivi_RscPart
, ivi_RscPart_sequence
);
17682 static const per_sequence_t ivi_RoadSurfaceContainer_sequence_of
[1] = {
17683 { &hf_ivi_RoadSurfaceContainer_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_RscPart
},
17687 dissect_ivi_RoadSurfaceContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17688 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
17689 ett_ivi_RoadSurfaceContainer
, ivi_RoadSurfaceContainer_sequence_of
,
17696 static const value_string ivi_IviContainer_vals
[] = {
17708 static const per_choice_t ivi_IviContainer_choice
[] = {
17709 { 0, &hf_ivi_glc
, ASN1_EXTENSION_ROOT
, dissect_ivi_GeographicLocationContainer
},
17710 { 1, &hf_ivi_giv
, ASN1_EXTENSION_ROOT
, dissect_ivi_GeneralIviContainer
},
17711 { 2, &hf_ivi_rcc
, ASN1_EXTENSION_ROOT
, dissect_ivi_RoadConfigurationContainer
},
17712 { 3, &hf_ivi_tc
, ASN1_EXTENSION_ROOT
, dissect_ivi_TextContainer
},
17713 { 4, &hf_ivi_lac
, ASN1_EXTENSION_ROOT
, dissect_ivi_LayoutContainer
},
17714 { 5, &hf_ivi_avc
, ASN1_NOT_EXTENSION_ROOT
, dissect_ivi_AutomatedVehicleContainer
},
17715 { 6, &hf_ivi_mlc
, ASN1_NOT_EXTENSION_ROOT
, dissect_ivi_MapLocationContainer
},
17716 { 7, &hf_ivi_rsc
, ASN1_NOT_EXTENSION_ROOT
, dissect_ivi_RoadSurfaceContainer
},
17717 { 0, NULL
, 0, NULL
}
17721 dissect_ivi_IviContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17722 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
17723 ett_ivi_IviContainer
, ivi_IviContainer_choice
,
17730 static const per_sequence_t ivi_IviContainers_sequence_of
[1] = {
17731 { &hf_ivi_IviContainers_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_IviContainer
},
17735 dissect_ivi_IviContainers(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17736 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
17737 ett_ivi_IviContainers
, ivi_IviContainers_sequence_of
,
17744 static const per_sequence_t ivi_IviStructure_sequence
[] = {
17745 { &hf_ivi_mandatory
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_ivi_IviManagementContainer
},
17746 { &hf_ivi_optional
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_ivi_IviContainers
},
17747 { NULL
, 0, 0, NULL
}
17751 dissect_ivi_IviStructure(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17752 actx
->private_data
= (void*)wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
17753 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "IVIM");
17754 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "IVIM");
17755 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17756 ett_ivi_IviStructure
, ivi_IviStructure_sequence
);
17763 static int dissect_ivi_IviStructure_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
17765 asn1_ctx_t asn1_ctx
;
17766 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
17767 offset
= dissect_ivi_IviStructure(tvb
, offset
, &asn1_ctx
, tree
, hf_ivi_ivi_IviStructure_PDU
);
17768 offset
+= 7; offset
>>= 3;
17773 /* --- Module SPATEM-PDU-Descriptions --- --- --- */
17776 /* --- Module MAPEM-PDU-Descriptions --- --- --- */
17779 /* --- Module IVIM-PDU-Descriptions --- --- --- */
17782 /* --- Module SREM-PDU-Descriptions --- --- --- */
17785 /* --- Module SSEM-PDU-Descriptions --- --- --- */
17788 /* --- Module RTCMEM-PDU-Descriptions --- --- --- */
17791 /* --- Module CAMv1-PDU-Descriptions --- --- --- */
17796 dissect_camv1_GenerationDeltaTime(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17797 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
17798 0U, 65535U, NULL
, false);
17804 static const per_sequence_t camv1_BasicContainer_sequence
[] = {
17805 { &hf_camv1_stationType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_StationType
},
17806 { &hf_camv1_referencePosition
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_ReferencePosition
},
17807 { NULL
, 0, 0, NULL
}
17811 dissect_camv1_BasicContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17812 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17813 ett_camv1_BasicContainer
, camv1_BasicContainer_sequence
);
17819 static const per_sequence_t camv1_BasicVehicleContainerHighFrequency_sequence
[] = {
17820 { &hf_camv1_heading
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_Heading
},
17821 { &hf_camv1_speed
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_Speed
},
17822 { &hf_camv1_driveDirection
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_DriveDirection
},
17823 { &hf_camv1_vehicleLength
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_VehicleLength
},
17824 { &hf_camv1_vehicleWidth
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_VehicleWidth
},
17825 { &hf_camv1_longitudinalAcceleration
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_LongitudinalAcceleration
},
17826 { &hf_camv1_curvature
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_Curvature
},
17827 { &hf_camv1_curvatureCalculationMode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_CurvatureCalculationMode
},
17828 { &hf_camv1_yawRate
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_YawRate
},
17829 { &hf_camv1_accelerationControl
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_AccelerationControl
},
17830 { &hf_camv1_lanePosition
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_LanePosition
},
17831 { &hf_camv1_steeringWheelAngle
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_SteeringWheelAngle
},
17832 { &hf_camv1_lateralAcceleration
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_LateralAcceleration
},
17833 { &hf_camv1_verticalAcceleration
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_VerticalAcceleration
},
17834 { &hf_camv1_performanceClass
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_PerformanceClass
},
17835 { &hf_camv1_cenDsrcTollingZone
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_CenDsrcTollingZone
},
17836 { NULL
, 0, 0, NULL
}
17840 dissect_camv1_BasicVehicleContainerHighFrequency(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17841 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17842 ett_camv1_BasicVehicleContainerHighFrequency
, camv1_BasicVehicleContainerHighFrequency_sequence
);
17848 static const per_sequence_t camv1_RSUContainerHighFrequency_sequence
[] = {
17849 { &hf_camv1_protectedCommunicationZonesRSU
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_ProtectedCommunicationZonesRSU
},
17850 { NULL
, 0, 0, NULL
}
17854 dissect_camv1_RSUContainerHighFrequency(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17855 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17856 ett_camv1_RSUContainerHighFrequency
, camv1_RSUContainerHighFrequency_sequence
);
17862 static const value_string camv1_HighFrequencyContainer_vals
[] = {
17863 { 0, "basicVehicleContainerHighFrequency" },
17864 { 1, "rsuContainerHighFrequency" },
17868 static const per_choice_t camv1_HighFrequencyContainer_choice
[] = {
17869 { 0, &hf_camv1_basicVehicleContainerHighFrequency
, ASN1_EXTENSION_ROOT
, dissect_camv1_BasicVehicleContainerHighFrequency
},
17870 { 1, &hf_camv1_rsuContainerHighFrequency
, ASN1_EXTENSION_ROOT
, dissect_camv1_RSUContainerHighFrequency
},
17871 { 0, NULL
, 0, NULL
}
17875 dissect_camv1_HighFrequencyContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17876 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
17877 ett_camv1_HighFrequencyContainer
, camv1_HighFrequencyContainer_choice
,
17884 static const per_sequence_t camv1_BasicVehicleContainerLowFrequency_sequence
[] = {
17885 { &hf_camv1_vehicleRole
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_VehicleRole
},
17886 { &hf_camv1_exteriorLights
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_ExteriorLights
},
17887 { &hf_camv1_pathHistory
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_PathHistory
},
17888 { NULL
, 0, 0, NULL
}
17892 dissect_camv1_BasicVehicleContainerLowFrequency(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17893 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17894 ett_camv1_BasicVehicleContainerLowFrequency
, camv1_BasicVehicleContainerLowFrequency_sequence
);
17900 static const value_string camv1_LowFrequencyContainer_vals
[] = {
17901 { 0, "basicVehicleContainerLowFrequency" },
17905 static const per_choice_t camv1_LowFrequencyContainer_choice
[] = {
17906 { 0, &hf_camv1_basicVehicleContainerLowFrequency
, ASN1_EXTENSION_ROOT
, dissect_camv1_BasicVehicleContainerLowFrequency
},
17907 { 0, NULL
, 0, NULL
}
17911 dissect_camv1_LowFrequencyContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17912 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
17913 ett_camv1_LowFrequencyContainer
, camv1_LowFrequencyContainer_choice
,
17920 static const per_sequence_t camv1_PublicTransportContainer_sequence
[] = {
17921 { &hf_camv1_embarkationStatus
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_EmbarkationStatus
},
17922 { &hf_camv1_ptActivation
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_PtActivation
},
17923 { NULL
, 0, 0, NULL
}
17927 dissect_camv1_PublicTransportContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17928 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17929 ett_camv1_PublicTransportContainer
, camv1_PublicTransportContainer_sequence
);
17935 static const per_sequence_t camv1_SpecialTransportContainer_sequence
[] = {
17936 { &hf_camv1_specialTransportType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_SpecialTransportType
},
17937 { &hf_camv1_lightBarSirenInUse
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_LightBarSirenInUse
},
17938 { NULL
, 0, 0, NULL
}
17942 dissect_camv1_SpecialTransportContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17943 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17944 ett_camv1_SpecialTransportContainer
, camv1_SpecialTransportContainer_sequence
);
17950 static const per_sequence_t camv1_DangerousGoodsContainer_sequence
[] = {
17951 { &hf_camv1_dangerousGoodsBasic
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_DangerousGoodsBasic
},
17952 { NULL
, 0, 0, NULL
}
17956 dissect_camv1_DangerousGoodsContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17957 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17958 ett_camv1_DangerousGoodsContainer
, camv1_DangerousGoodsContainer_sequence
);
17964 static const per_sequence_t camv1_RoadWorksContainerBasic_sequence
[] = {
17965 { &hf_camv1_roadworksSubCauseCode
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_RoadworksSubCauseCode
},
17966 { &hf_camv1_lightBarSirenInUse
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_LightBarSirenInUse
},
17967 { &hf_camv1_closedLanes
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_ClosedLanes
},
17968 { NULL
, 0, 0, NULL
}
17972 dissect_camv1_RoadWorksContainerBasic(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17973 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17974 ett_camv1_RoadWorksContainerBasic
, camv1_RoadWorksContainerBasic_sequence
);
17980 static const per_sequence_t camv1_RescueContainer_sequence
[] = {
17981 { &hf_camv1_lightBarSirenInUse
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_LightBarSirenInUse
},
17982 { NULL
, 0, 0, NULL
}
17986 dissect_camv1_RescueContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
17987 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
17988 ett_camv1_RescueContainer
, camv1_RescueContainer_sequence
);
17994 static const per_sequence_t camv1_EmergencyContainer_sequence
[] = {
17995 { &hf_camv1_lightBarSirenInUse
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_LightBarSirenInUse
},
17996 { &hf_camv1_incidentIndication
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_CauseCode
},
17997 { &hf_camv1_emergencyPriority
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_EmergencyPriority
},
17998 { NULL
, 0, 0, NULL
}
18002 dissect_camv1_EmergencyContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18003 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18004 ett_camv1_EmergencyContainer
, camv1_EmergencyContainer_sequence
);
18010 static const per_sequence_t camv1_SafetyCarContainer_sequence
[] = {
18011 { &hf_camv1_lightBarSirenInUse
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_LightBarSirenInUse
},
18012 { &hf_camv1_incidentIndication
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_CauseCode
},
18013 { &hf_camv1_trafficRule
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_TrafficRule
},
18014 { &hf_camv1_speedLimit
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_SpeedLimit
},
18015 { NULL
, 0, 0, NULL
}
18019 dissect_camv1_SafetyCarContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18020 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18021 ett_camv1_SafetyCarContainer
, camv1_SafetyCarContainer_sequence
);
18027 static const value_string camv1_SpecialVehicleContainer_vals
[] = {
18028 { 0, "publicTransportContainer" },
18029 { 1, "specialTransportContainer" },
18030 { 2, "dangerousGoodsContainer" },
18031 { 3, "roadWorksContainerBasic" },
18032 { 4, "rescueContainer" },
18033 { 5, "emergencyContainer" },
18034 { 6, "safetyCarContainer" },
18038 static const per_choice_t camv1_SpecialVehicleContainer_choice
[] = {
18039 { 0, &hf_camv1_publicTransportContainer
, ASN1_EXTENSION_ROOT
, dissect_camv1_PublicTransportContainer
},
18040 { 1, &hf_camv1_specialTransportContainer
, ASN1_EXTENSION_ROOT
, dissect_camv1_SpecialTransportContainer
},
18041 { 2, &hf_camv1_dangerousGoodsContainer
, ASN1_EXTENSION_ROOT
, dissect_camv1_DangerousGoodsContainer
},
18042 { 3, &hf_camv1_roadWorksContainerBasic
, ASN1_EXTENSION_ROOT
, dissect_camv1_RoadWorksContainerBasic
},
18043 { 4, &hf_camv1_rescueContainer
, ASN1_EXTENSION_ROOT
, dissect_camv1_RescueContainer
},
18044 { 5, &hf_camv1_emergencyContainer
, ASN1_EXTENSION_ROOT
, dissect_camv1_EmergencyContainer
},
18045 { 6, &hf_camv1_safetyCarContainer
, ASN1_EXTENSION_ROOT
, dissect_camv1_SafetyCarContainer
},
18046 { 0, NULL
, 0, NULL
}
18050 dissect_camv1_SpecialVehicleContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18051 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
18052 ett_camv1_SpecialVehicleContainer
, camv1_SpecialVehicleContainer_choice
,
18059 static const per_sequence_t camv1_CamParameters_sequence
[] = {
18060 { &hf_camv1_basicContainer
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_camv1_BasicContainer
},
18061 { &hf_camv1_highFrequencyContainer
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_camv1_HighFrequencyContainer
},
18062 { &hf_camv1_lowFrequencyContainer
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_camv1_LowFrequencyContainer
},
18063 { &hf_camv1_specialVehicleContainer
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_camv1_SpecialVehicleContainer
},
18064 { NULL
, 0, 0, NULL
}
18068 dissect_camv1_CamParameters(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18069 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18070 ett_camv1_CamParameters
, camv1_CamParameters_sequence
);
18076 static const per_sequence_t camv1_CoopAwarenessV1_sequence
[] = {
18077 { &hf_camv1_generationDeltaTime
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_camv1_GenerationDeltaTime
},
18078 { &hf_camv1_camParameters
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_camv1_CamParameters
},
18079 { NULL
, 0, 0, NULL
}
18083 dissect_camv1_CoopAwarenessV1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18084 actx
->private_data
= (void*)wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
18085 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "CAMv1");
18086 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "CAMv1");
18087 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18088 ett_camv1_CoopAwarenessV1
, camv1_CoopAwarenessV1_sequence
);
18095 static int dissect_camv1_CoopAwarenessV1_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
18097 asn1_ctx_t asn1_ctx
;
18098 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
18099 offset
= dissect_camv1_CoopAwarenessV1(tvb
, offset
, &asn1_ctx
, tree
, hf_camv1_camv1_CoopAwarenessV1_PDU
);
18100 offset
+= 7; offset
>>= 3;
18105 /* --- Module CAM-PDU-Descriptions --- --- --- */
18108 static const per_sequence_t cam_BasicVehicleContainerHighFrequency_sequence
[] = {
18109 { &hf_cam_heading
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Heading
},
18110 { &hf_cam_speed
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Speed
},
18111 { &hf_cam_driveDirection
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_DriveDirection
},
18112 { &hf_cam_vehicleLength
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_VehicleLength
},
18113 { &hf_cam_vehicleWidth
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_VehicleWidth
},
18114 { &hf_cam_longitudinalAcceleration
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_AccelerationComponent
},
18115 { &hf_cam_curvature
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Curvature
},
18116 { &hf_cam_curvatureCalculationMode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_CurvatureCalculationMode
},
18117 { &hf_cam_yawRate
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_YawRate
},
18118 { &hf_cam_accelerationControl
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_AccelerationControl
},
18119 { &hf_cam_lanePosition
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_LanePosition
},
18120 { &hf_cam_steeringWheelAngle
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_SteeringWheelAngle
},
18121 { &hf_cam_lateralAcceleration
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_AccelerationComponent
},
18122 { &hf_cam_verticalAcceleration
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_AccelerationComponent
},
18123 { &hf_cam_performanceClass
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_PerformanceClass
},
18124 { &hf_cam_cenDsrcTollingZone
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CenDsrcTollingZone
},
18125 { NULL
, 0, 0, NULL
}
18129 dissect_cam_BasicVehicleContainerHighFrequency(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18130 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18131 ett_cam_BasicVehicleContainerHighFrequency
, cam_BasicVehicleContainerHighFrequency_sequence
);
18137 static const per_sequence_t cam_RSUContainerHighFrequency_sequence
[] = {
18138 { &hf_cam_protectedCommunicationZonesRSU
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ProtectedCommunicationZonesRSU
},
18139 { NULL
, 0, 0, NULL
}
18143 dissect_cam_RSUContainerHighFrequency(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18144 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18145 ett_cam_RSUContainerHighFrequency
, cam_RSUContainerHighFrequency_sequence
);
18151 static const value_string cam_HighFrequencyContainer_vals
[] = {
18152 { 0, "basicVehicleContainerHighFrequency" },
18153 { 1, "rsuContainerHighFrequency" },
18157 static const per_choice_t cam_HighFrequencyContainer_choice
[] = {
18158 { 0, &hf_cam_basicVehicleContainerHighFrequency
, ASN1_EXTENSION_ROOT
, dissect_cam_BasicVehicleContainerHighFrequency
},
18159 { 1, &hf_cam_rsuContainerHighFrequency
, ASN1_EXTENSION_ROOT
, dissect_cam_RSUContainerHighFrequency
},
18160 { 0, NULL
, 0, NULL
}
18164 dissect_cam_HighFrequencyContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18165 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
18166 ett_cam_HighFrequencyContainer
, cam_HighFrequencyContainer_choice
,
18173 static const per_sequence_t cam_BasicVehicleContainerLowFrequency_sequence
[] = {
18174 { &hf_cam_vehicleRole
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_VehicleRole
},
18175 { &hf_cam_exteriorLights
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_ExteriorLights
},
18176 { &hf_cam_pathHistory
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Path
},
18177 { NULL
, 0, 0, NULL
}
18181 dissect_cam_BasicVehicleContainerLowFrequency(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18182 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18183 ett_cam_BasicVehicleContainerLowFrequency
, cam_BasicVehicleContainerLowFrequency_sequence
);
18189 static const value_string cam_LowFrequencyContainer_vals
[] = {
18190 { 0, "basicVehicleContainerLowFrequency" },
18194 static const per_choice_t cam_LowFrequencyContainer_choice
[] = {
18195 { 0, &hf_cam_basicVehicleContainerLowFrequency
, ASN1_EXTENSION_ROOT
, dissect_cam_BasicVehicleContainerLowFrequency
},
18196 { 0, NULL
, 0, NULL
}
18200 dissect_cam_LowFrequencyContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18201 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
18202 ett_cam_LowFrequencyContainer
, cam_LowFrequencyContainer_choice
,
18209 static const per_sequence_t cam_PublicTransportContainer_sequence
[] = {
18210 { &hf_cam_embarkationStatus
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_EmbarkationStatus
},
18211 { &hf_cam_ptActivation
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_PtActivation
},
18212 { NULL
, 0, 0, NULL
}
18216 dissect_cam_PublicTransportContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18217 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18218 ett_cam_PublicTransportContainer
, cam_PublicTransportContainer_sequence
);
18224 static const per_sequence_t cam_SpecialTransportContainer_sequence
[] = {
18225 { &hf_cam_specialTransportType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_SpecialTransportType
},
18226 { &hf_cam_lightBarSirenInUse
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_LightBarSirenInUse
},
18227 { NULL
, 0, 0, NULL
}
18231 dissect_cam_SpecialTransportContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18232 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18233 ett_cam_SpecialTransportContainer
, cam_SpecialTransportContainer_sequence
);
18239 static const per_sequence_t cam_DangerousGoodsContainer_sequence
[] = {
18240 { &hf_cam_dangerousGoodsBasic
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_DangerousGoodsBasic
},
18241 { NULL
, 0, 0, NULL
}
18245 dissect_cam_DangerousGoodsContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18246 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18247 ett_cam_DangerousGoodsContainer
, cam_DangerousGoodsContainer_sequence
);
18253 static const per_sequence_t cam_RoadWorksContainerBasic_sequence
[] = {
18254 { &hf_cam_roadworksSubCauseCode
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_RoadworksSubCauseCode
},
18255 { &hf_cam_lightBarSirenInUse
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_LightBarSirenInUse
},
18256 { &hf_cam_closedLanes
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_ClosedLanes
},
18257 { NULL
, 0, 0, NULL
}
18261 dissect_cam_RoadWorksContainerBasic(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18262 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18263 ett_cam_RoadWorksContainerBasic
, cam_RoadWorksContainerBasic_sequence
);
18269 static const per_sequence_t cam_RescueContainer_sequence
[] = {
18270 { &hf_cam_lightBarSirenInUse
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_LightBarSirenInUse
},
18271 { NULL
, 0, 0, NULL
}
18275 dissect_cam_RescueContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18276 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18277 ett_cam_RescueContainer
, cam_RescueContainer_sequence
);
18283 static const per_sequence_t cam_EmergencyContainer_sequence
[] = {
18284 { &hf_cam_lightBarSirenInUse
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_LightBarSirenInUse
},
18285 { &hf_cam_incidentIndication
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CauseCodeV2
},
18286 { &hf_cam_emergencyPriority
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_EmergencyPriority
},
18287 { NULL
, 0, 0, NULL
}
18291 dissect_cam_EmergencyContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18292 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18293 ett_cam_EmergencyContainer
, cam_EmergencyContainer_sequence
);
18299 static const per_sequence_t cam_SafetyCarContainer_sequence
[] = {
18300 { &hf_cam_lightBarSirenInUse
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_LightBarSirenInUse
},
18301 { &hf_cam_incidentIndication
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CauseCodeV2
},
18302 { &hf_cam_trafficRule
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_TrafficRule
},
18303 { &hf_cam_speedLimit
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_SpeedLimit
},
18304 { NULL
, 0, 0, NULL
}
18308 dissect_cam_SafetyCarContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18309 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18310 ett_cam_SafetyCarContainer
, cam_SafetyCarContainer_sequence
);
18316 static const value_string cam_SpecialVehicleContainer_vals
[] = {
18317 { 0, "publicTransportContainer" },
18318 { 1, "specialTransportContainer" },
18319 { 2, "dangerousGoodsContainer" },
18320 { 3, "roadWorksContainerBasic" },
18321 { 4, "rescueContainer" },
18322 { 5, "emergencyContainer" },
18323 { 6, "safetyCarContainer" },
18327 static const per_choice_t cam_SpecialVehicleContainer_choice
[] = {
18328 { 0, &hf_cam_publicTransportContainer
, ASN1_EXTENSION_ROOT
, dissect_cam_PublicTransportContainer
},
18329 { 1, &hf_cam_specialTransportContainer
, ASN1_EXTENSION_ROOT
, dissect_cam_SpecialTransportContainer
},
18330 { 2, &hf_cam_dangerousGoodsContainer
, ASN1_EXTENSION_ROOT
, dissect_cam_DangerousGoodsContainer
},
18331 { 3, &hf_cam_roadWorksContainerBasic
, ASN1_EXTENSION_ROOT
, dissect_cam_RoadWorksContainerBasic
},
18332 { 4, &hf_cam_rescueContainer
, ASN1_EXTENSION_ROOT
, dissect_cam_RescueContainer
},
18333 { 5, &hf_cam_emergencyContainer
, ASN1_EXTENSION_ROOT
, dissect_cam_EmergencyContainer
},
18334 { 6, &hf_cam_safetyCarContainer
, ASN1_EXTENSION_ROOT
, dissect_cam_SafetyCarContainer
},
18335 { 0, NULL
, 0, NULL
}
18339 dissect_cam_SpecialVehicleContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18340 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
18341 ett_cam_SpecialVehicleContainer
, cam_SpecialVehicleContainer_choice
,
18348 static const per_sequence_t cam_CamParameters_sequence
[] = {
18349 { &hf_cam_basicContainer
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_BasicContainer
},
18350 { &hf_cam_highFrequencyContainer
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cam_HighFrequencyContainer
},
18351 { &hf_cam_lowFrequencyContainer
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cam_LowFrequencyContainer
},
18352 { &hf_cam_specialVehicleContainer
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cam_SpecialVehicleContainer
},
18353 { NULL
, 0, 0, NULL
}
18357 dissect_cam_CamParameters(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18358 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18359 ett_cam_CamParameters
, cam_CamParameters_sequence
);
18365 static const per_sequence_t cam_CamPayload_sequence
[] = {
18366 { &hf_cam_generationDeltaTime
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_GenerationDeltaTime
},
18367 { &hf_cam_camParameters
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cam_CamParameters
},
18368 { NULL
, 0, 0, NULL
}
18372 dissect_cam_CamPayload(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18373 actx
->private_data
= (void*)wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
18374 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "CAM");
18375 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "CAM");
18376 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18377 ett_cam_CamPayload
, cam_CamPayload_sequence
);
18384 static int dissect_cam_CamPayload_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
18386 asn1_ctx_t asn1_ctx
;
18387 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
18388 offset
= dissect_cam_CamPayload(tvb
, offset
, &asn1_ctx
, tree
, hf_cam_cam_CamPayload_PDU
);
18389 offset
+= 7; offset
>>= 3;
18394 /* --- Module DENMv1-PDU-Descriptions --- --- --- */
18397 static const value_string denmv1_Termination_vals
[] = {
18398 { 0, "isCancellation" },
18399 { 1, "isNegation" },
18405 dissect_denmv1_Termination(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18406 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
18407 2, NULL
, false, 0, NULL
);
18413 static const per_sequence_t denmv1_ManagementContainer_sequence
[] = {
18414 { &hf_denmv1_actionID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_ActionID
},
18415 { &hf_denmv1_detectionTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_TimestampIts
},
18416 { &hf_denmv1_referenceTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_TimestampIts
},
18417 { &hf_denmv1_termination
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_denmv1_Termination
},
18418 { &hf_denmv1_eventPosition
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_ReferencePosition
},
18419 { &hf_denmv1_relevanceDistance
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_RelevanceDistance
},
18420 { &hf_denmv1_relevanceTrafficDirection
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_RelevanceTrafficDirection
},
18421 { &hf_denmv1_validityDuration
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_ValidityDuration
},
18422 { &hf_denmv1_transmissionInterval
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_TransmissionInterval
},
18423 { &hf_denmv1_stationType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_StationType
},
18424 { NULL
, 0, 0, NULL
}
18428 dissect_denmv1_ManagementContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18429 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18430 ett_denmv1_ManagementContainer
, denmv1_ManagementContainer_sequence
);
18436 static const per_sequence_t denmv1_SituationContainer_sequence
[] = {
18437 { &hf_denmv1_informationQuality
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_InformationQuality
},
18438 { &hf_denmv1_eventType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_CauseCode
},
18439 { &hf_denmv1_linkedCause
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_CauseCode
},
18440 { &hf_denmv1_eventHistory
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_EventHistory
},
18441 { NULL
, 0, 0, NULL
}
18445 dissect_denmv1_SituationContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18446 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18447 ett_denmv1_SituationContainer
, denmv1_SituationContainer_sequence
);
18453 static const per_sequence_t denmv1_LocationContainer_sequence
[] = {
18454 { &hf_denmv1_eventSpeed
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_Speed
},
18455 { &hf_denmv1_eventPositionHeading
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_Heading
},
18456 { &hf_denmv1_traces
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_Traces
},
18457 { &hf_denmv1_roadType
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_RoadType
},
18458 { NULL
, 0, 0, NULL
}
18462 dissect_denmv1_LocationContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18463 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18464 ett_denmv1_LocationContainer
, denmv1_LocationContainer_sequence
);
18470 static const per_sequence_t denmv1_ImpactReductionContainer_sequence
[] = {
18471 { &hf_denmv1_heightLonCarrLeft
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_HeightLonCarr
},
18472 { &hf_denmv1_heightLonCarrRight
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_HeightLonCarr
},
18473 { &hf_denmv1_posLonCarrLeft
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_PosLonCarr
},
18474 { &hf_denmv1_posLonCarrRight
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_PosLonCarr
},
18475 { &hf_denmv1_positionOfPillars
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_PositionOfPillars
},
18476 { &hf_denmv1_posCentMass
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_PosCentMass
},
18477 { &hf_denmv1_wheelBaseVehicle
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_WheelBaseVehicle
},
18478 { &hf_denmv1_turningRadius
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_TurningRadius
},
18479 { &hf_denmv1_posFrontAx
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_PosFrontAx
},
18480 { &hf_denmv1_positionOfOccupants
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_PositionOfOccupants
},
18481 { &hf_denmv1_vehicleMass
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_VehicleMass
},
18482 { &hf_denmv1_requestResponseIndication
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_RequestResponseIndication
},
18483 { NULL
, 0, 0, NULL
}
18487 dissect_denmv1_ImpactReductionContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18488 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18489 ett_denmv1_ImpactReductionContainer
, denmv1_ImpactReductionContainer_sequence
);
18495 static const per_sequence_t denmv1_ReferenceDenms_sequence_of
[1] = {
18496 { &hf_denmv1_ReferenceDenms_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_ActionID
},
18500 dissect_denmv1_ReferenceDenms(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18501 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
18502 ett_denmv1_ReferenceDenms
, denmv1_ReferenceDenms_sequence_of
,
18509 static const per_sequence_t denmv1_RoadWorksContainerExtended_sequence
[] = {
18510 { &hf_denmv1_lightBarSirenInUse
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_LightBarSirenInUse
},
18511 { &hf_denmv1_closedLanes
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_ClosedLanes
},
18512 { &hf_denmv1_restriction
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_RestrictedTypes
},
18513 { &hf_denmv1_speedLimit
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_SpeedLimit
},
18514 { &hf_denmv1_incidentIndication
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_CauseCode
},
18515 { &hf_denmv1_recommendedPath
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_ItineraryPath
},
18516 { &hf_denmv1_startingPointSpeedLimit
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_DeltaReferencePosition
},
18517 { &hf_denmv1_trafficFlowRule
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_TrafficRule
},
18518 { &hf_denmv1_referenceDenms
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_denmv1_ReferenceDenms
},
18519 { NULL
, 0, 0, NULL
}
18523 dissect_denmv1_RoadWorksContainerExtended(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18524 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18525 ett_denmv1_RoadWorksContainerExtended
, denmv1_RoadWorksContainerExtended_sequence
);
18531 static const per_sequence_t denmv1_StationaryVehicleContainer_sequence
[] = {
18532 { &hf_denmv1_stationarySince
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_StationarySince
},
18533 { &hf_denmv1_stationaryCause
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_CauseCode
},
18534 { &hf_denmv1_carryingDangerousGoods
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_DangerousGoodsExtended
},
18535 { &hf_denmv1_numberOfOccupants
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_NumberOfOccupants
},
18536 { &hf_denmv1_vehicleIdentification
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_VehicleIdentification
},
18537 { &hf_denmv1_energyStorageType
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_itsv1_EnergyStorageType
},
18538 { NULL
, 0, 0, NULL
}
18542 dissect_denmv1_StationaryVehicleContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18543 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18544 ett_denmv1_StationaryVehicleContainer
, denmv1_StationaryVehicleContainer_sequence
);
18550 static const per_sequence_t denmv1_AlacarteContainer_sequence
[] = {
18551 { &hf_denmv1_lanePosition
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_LanePosition
},
18552 { &hf_denmv1_impactReduction
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_denmv1_ImpactReductionContainer
},
18553 { &hf_denmv1_externalTemperature
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_Temperature
},
18554 { &hf_denmv1_roadWorks
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_denmv1_RoadWorksContainerExtended
},
18555 { &hf_denmv1_positioningSolution
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_PositioningSolutionType
},
18556 { &hf_denmv1_stationaryVehicle
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_denmv1_StationaryVehicleContainer
},
18557 { NULL
, 0, 0, NULL
}
18561 dissect_denmv1_AlacarteContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18562 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18563 ett_denmv1_AlacarteContainer
, denmv1_AlacarteContainer_sequence
);
18569 static const per_sequence_t denmv1_DecentralizedEnvironmentalNotificationMessageV1_sequence
[] = {
18570 { &hf_denmv1_management
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_denmv1_ManagementContainer
},
18571 { &hf_denmv1_situation
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_denmv1_SituationContainer
},
18572 { &hf_denmv1_location
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_denmv1_LocationContainer
},
18573 { &hf_denmv1_alacarte
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_denmv1_AlacarteContainer
},
18574 { NULL
, 0, 0, NULL
}
18578 dissect_denmv1_DecentralizedEnvironmentalNotificationMessageV1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18579 actx
->private_data
= (void*)wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
18580 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "DENMv1");
18581 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "DENMv1");
18582 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18583 ett_denmv1_DecentralizedEnvironmentalNotificationMessageV1
, denmv1_DecentralizedEnvironmentalNotificationMessageV1_sequence
);
18590 static int dissect_denmv1_DecentralizedEnvironmentalNotificationMessageV1_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
18592 asn1_ctx_t asn1_ctx
;
18593 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
18594 offset
= dissect_denmv1_DecentralizedEnvironmentalNotificationMessageV1(tvb
, offset
, &asn1_ctx
, tree
, hf_denmv1_denmv1_DecentralizedEnvironmentalNotificationMessageV1_PDU
);
18595 offset
+= 7; offset
>>= 3;
18600 /* --- Module DENM-PDU-Description --- --- --- */
18603 static const value_string denm_Termination_vals
[] = {
18604 { 0, "isCancellation" },
18605 { 1, "isNegation" },
18611 dissect_denm_Termination(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18612 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
18613 2, NULL
, false, 0, NULL
);
18619 static const per_sequence_t denm_ManagementContainer_sequence
[] = {
18620 { &hf_denm_actionId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_ActionId
},
18621 { &hf_denm_detectionTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_TimestampIts
},
18622 { &hf_denm_referenceTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_TimestampIts
},
18623 { &hf_denm_termination
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_denm_Termination
},
18624 { &hf_denm_eventPosition
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_ReferencePosition
},
18625 { &hf_denm_awarenessDistance
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_StandardLength3b
},
18626 { &hf_denm_awarenessTrafficDirection
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_TrafficDirection
},
18627 { &hf_denm_validityDuration
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_DeltaTimeSecond
},
18628 { &hf_denm_transmissionInterval
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_DeltaTimeMilliSecondPositive
},
18629 { &hf_denm_stationType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_StationType
},
18630 { NULL
, 0, 0, NULL
}
18634 dissect_denm_ManagementContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18635 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18636 ett_denm_ManagementContainer
, denm_ManagementContainer_sequence
);
18642 static const per_sequence_t denm_SituationContainer_sequence
[] = {
18643 { &hf_denm_informationQuality
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_InformationQuality
},
18644 { &hf_denm_eventType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_CauseCodeV2
},
18645 { &hf_denm_linkedCause
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_CauseCodeV2
},
18646 { &hf_denm_eventZone
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_EventZone
},
18647 { NULL
, 0, 0, NULL
}
18651 dissect_denm_SituationContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18652 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18653 ett_denm_SituationContainer
, denm_SituationContainer_sequence
);
18659 static const per_sequence_t denm_LocationContainer_sequence
[] = {
18660 { &hf_denm_eventSpeed
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Speed
},
18661 { &hf_denm_eventPositionHeading
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Wgs84Angle
},
18662 { &hf_denm_traces
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Traces
},
18663 { &hf_denm_roadType
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_RoadType
},
18664 { NULL
, 0, 0, NULL
}
18668 dissect_denm_LocationContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18669 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18670 ett_denm_LocationContainer
, denm_LocationContainer_sequence
);
18676 static const per_sequence_t denm_ImpactReductionContainer_sequence
[] = {
18677 { &hf_denm_heightLonCarrLeft
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_HeightLonCarr
},
18678 { &hf_denm_heightLonCarrRight
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_HeightLonCarr
},
18679 { &hf_denm_posLonCarrLeft
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_PosLonCarr
},
18680 { &hf_denm_posLonCarrRight
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_PosLonCarr
},
18681 { &hf_denm_positionOfPillars
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_PositionOfPillars
},
18682 { &hf_denm_posCentMass
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_PosCentMass
},
18683 { &hf_denm_wheelBaseVehicle
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_WheelBaseVehicle
},
18684 { &hf_denm_turningRadius
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_TurningRadius
},
18685 { &hf_denm_posFrontAx
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_PosFrontAx
},
18686 { &hf_denm_positionOfOccupants
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_PositionOfOccupants
},
18687 { &hf_denm_vehicleMass
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_VehicleMass
},
18688 { &hf_denm_requestResponseIndication
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_RequestResponseIndication
},
18689 { NULL
, 0, 0, NULL
}
18693 dissect_denm_ImpactReductionContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18694 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18695 ett_denm_ImpactReductionContainer
, denm_ImpactReductionContainer_sequence
);
18701 static const per_sequence_t denm_RoadWorksContainerExtended_sequence
[] = {
18702 { &hf_denm_lightBarSirenInUse
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_LightBarSirenInUse
},
18703 { &hf_denm_closedLanes
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_ClosedLanes
},
18704 { &hf_denm_restriction
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_RestrictedTypes
},
18705 { &hf_denm_speedLimit
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_SpeedLimit
},
18706 { &hf_denm_incidentIndication
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CauseCodeV2
},
18707 { &hf_denm_recommendedPath
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_ItineraryPath
},
18708 { &hf_denm_startingPointSpeedLimit
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_DeltaReferencePosition
},
18709 { &hf_denm_trafficFlowRule
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_TrafficRule
},
18710 { &hf_denm_referenceDenms
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_ActionIdList
},
18711 { NULL
, 0, 0, NULL
}
18715 dissect_denm_RoadWorksContainerExtended(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18716 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18717 ett_denm_RoadWorksContainerExtended
, denm_RoadWorksContainerExtended_sequence
);
18723 static const per_sequence_t denm_StationaryVehicleContainer_sequence
[] = {
18724 { &hf_denm_stationarySince
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_StationarySince
},
18725 { &hf_denm_stationaryCause
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_CauseCodeV2
},
18726 { &hf_denm_carryingDangerousGoods
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_DangerousGoodsExtended
},
18727 { &hf_denm_numberOfOccupants
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_NumberOfOccupants
},
18728 { &hf_denm_vehicleIdentification
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_VehicleIdentification
},
18729 { &hf_denm_energyStorageType
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_its_EnergyStorageType
},
18730 { NULL
, 0, 0, NULL
}
18734 dissect_denm_StationaryVehicleContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18735 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18736 ett_denm_StationaryVehicleContainer
, denm_StationaryVehicleContainer_sequence
);
18742 static const per_sequence_t denm_AlacarteContainer_sequence
[] = {
18743 { &hf_denm_lanePosition
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_LanePosition
},
18744 { &hf_denm_impactReduction
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_denm_ImpactReductionContainer
},
18745 { &hf_denm_externalTemperature
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Temperature
},
18746 { &hf_denm_roadWorks
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_denm_RoadWorksContainerExtended
},
18747 { &hf_denm_positioningSolution
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_PositioningSolutionType
},
18748 { &hf_denm_stationaryVehicle
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_denm_StationaryVehicleContainer
},
18749 { NULL
, 0, 0, NULL
}
18753 dissect_denm_AlacarteContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18754 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18755 ett_denm_AlacarteContainer
, denm_AlacarteContainer_sequence
);
18761 static const per_sequence_t denm_DenmPayload_sequence
[] = {
18762 { &hf_denm_management
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_denm_ManagementContainer
},
18763 { &hf_denm_situation
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_denm_SituationContainer
},
18764 { &hf_denm_location
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_denm_LocationContainer
},
18765 { &hf_denm_alacarte
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_denm_AlacarteContainer
},
18766 { NULL
, 0, 0, NULL
}
18770 dissect_denm_DenmPayload(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18771 actx
->private_data
= (void*)wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
18772 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "DENM");
18773 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "DENM");
18774 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18775 ett_denm_DenmPayload
, denm_DenmPayload_sequence
);
18782 static int dissect_denm_DenmPayload_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
18784 asn1_ctx_t asn1_ctx
;
18785 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
18786 offset
= dissect_denm_DenmPayload(tvb
, offset
, &asn1_ctx
, tree
, hf_denm_denm_DenmPayload_PDU
);
18787 offset
+= 7; offset
>>= 3;
18792 /* --- Module TIS-TPG-Transactions-Descriptions --- --- --- */
18795 static const value_string tistpg_UNVehicleClassifcation_vals
[] = {
18797 { 1, "categoryL1" },
18798 { 2, "categoryL2" },
18799 { 3, "categoryL3" },
18800 { 4, "categoryL4" },
18801 { 5, "categoryL5" },
18802 { 6, "categoryL6" },
18803 { 7, "categoryL7" },
18804 { 8, "categoryL8" },
18810 dissect_tistpg_UNVehicleClassifcation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18811 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
18812 0U, 63U, NULL
, false);
18820 dissect_tistpg_CustomerContract(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18821 offset
= dissect_per_IA5String(tvb
, offset
, actx
, tree
, hf_index
,
18829 static int * const tistpg_TisProfile_bits
[] = {
18830 &hf_tistpg_TisProfile_reserved
,
18831 &hf_tistpg_TisProfile_profileOne
,
18832 &hf_tistpg_TisProfile_profileTwo
,
18833 &hf_tistpg_TisProfile_profileThree
,
18838 dissect_tistpg_TisProfile(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18839 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
18840 8, 8, false, tistpg_TisProfile_bits
, 4, NULL
, NULL
);
18846 static const per_sequence_t tistpg_TisTpgDRM_Management_sequence
[] = {
18847 { &hf_tistpg_generationTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_TimestampIts
},
18848 { &hf_tistpg_vehicleType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_UNVehicleClassifcation
},
18849 { &hf_tistpg_costumerContract
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_CustomerContract
},
18850 { &hf_tistpg_tisProfile
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TisProfile
},
18851 { NULL
, 0, 0, NULL
}
18855 dissect_tistpg_TisTpgDRM_Management(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18856 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18857 ett_tistpg_TisTpgDRM_Management
, tistpg_TisTpgDRM_Management_sequence
);
18863 static const per_sequence_t tistpg_TisTpgDRM_Situation_sequence
[] = {
18864 { &hf_tistpg_causeCode
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_CauseCode
},
18865 { NULL
, 0, 0, NULL
}
18869 dissect_tistpg_TisTpgDRM_Situation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18870 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18871 ett_tistpg_TisTpgDRM_Situation
, tistpg_TisTpgDRM_Situation_sequence
);
18879 dissect_tistpg_SearchRange(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18880 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
18881 0U, 255U, NULL
, false);
18887 static const value_string tistpg_SearchCondition_vals
[] = {
18890 { 2, "paylessRoad" },
18896 dissect_tistpg_SearchCondition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18897 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
18898 0U, 7U, NULL
, false);
18904 static const per_sequence_t tistpg_TisTpgDRM_Location_sequence
[] = {
18905 { &hf_tistpg_vehiclePosition
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_ReferencePosition
},
18906 { &hf_tistpg_vehicleSpeed
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Speed
},
18907 { &hf_tistpg_vehicleHeading
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Heading
},
18908 { &hf_tistpg_requestedPosition
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ReferencePosition
},
18909 { &hf_tistpg_searchRange
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_SearchRange
},
18910 { &hf_tistpg_searchCondition
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_SearchCondition
},
18911 { NULL
, 0, 0, NULL
}
18915 dissect_tistpg_TisTpgDRM_Location(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18916 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18917 ett_tistpg_TisTpgDRM_Location
, tistpg_TisTpgDRM_Location_sequence
);
18923 static const per_sequence_t tistpg_TisTpgDRM_sequence
[] = {
18924 { &hf_tistpg_drmManagement
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TisTpgDRM_Management
},
18925 { &hf_tistpg_drmSituation
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TisTpgDRM_Situation
},
18926 { &hf_tistpg_drmLocation
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TisTpgDRM_Location
},
18927 { NULL
, 0, 0, NULL
}
18931 dissect_tistpg_TisTpgDRM(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18932 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18933 ett_tistpg_TisTpgDRM
, tistpg_TisTpgDRM_sequence
);
18941 dissect_tistpg_TotalTpgStations(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18942 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
18943 0U, 65535U, NULL
, false);
18949 static const per_sequence_t tistpg_TisTpgSNM_Management_sequence
[] = {
18950 { &hf_tistpg_generationTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_TimestampIts
},
18951 { &hf_tistpg_totalTpgStations
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TotalTpgStations
},
18952 { NULL
, 0, 0, NULL
}
18956 dissect_tistpg_TisTpgSNM_Management(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18957 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
18958 ett_tistpg_TisTpgSNM_Management
, tistpg_TisTpgSNM_Management_sequence
);
18964 static int * const tistpg_TpgAutomation_bits
[] = {
18965 &hf_tistpg_TpgAutomation_fullAutomated
,
18966 &hf_tistpg_TpgAutomation_semiAutomated
,
18967 &hf_tistpg_TpgAutomation_manual
,
18968 &hf_tistpg_TpgAutomation_reserved
,
18973 dissect_tistpg_TpgAutomation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18974 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
18975 4, 4, false, tistpg_TpgAutomation_bits
, 4, NULL
, NULL
);
18983 dissect_tistpg_TpgNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18984 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
18985 1U, 65535U, NULL
, false);
18993 dissect_tistpg_TpgProvider(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
18994 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
19003 dissect_tistpg_Accessibility(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19004 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
19013 dissect_tistpg_UTF8String_SIZE_1_128(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19014 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
19023 dissect_tistpg_BookingInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19024 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
19025 NO_BOUND
, NO_BOUND
, false);
19033 dissect_tistpg_AvailableTpgNumber(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19034 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
19035 1U, 65535U, NULL
, false);
19043 dissect_tistpg_CancellationCondition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19044 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
19051 static const per_sequence_t tistpg_TpgStationData_sequence
[] = {
19052 { &hf_tistpg_tpgStationID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_StationID
},
19053 { &hf_tistpg_tpgAutomationLevel
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TpgAutomation
},
19054 { &hf_tistpg_tpgNumber
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TpgNumber
},
19055 { &hf_tistpg_tpgProvider
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TpgProvider
},
19056 { &hf_tistpg_tpgLocation
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_ReferencePosition
},
19057 { &hf_tistpg_accessibility
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_Accessibility
},
19058 { &hf_tistpg_address
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_UTF8String_SIZE_1_128
},
19059 { &hf_tistpg_phoneNumber
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_PhoneNumber
},
19060 { &hf_tistpg_digitalMap
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_DigitalMap
},
19061 { &hf_tistpg_openingDaysHours
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_OpeningDaysHours
},
19062 { &hf_tistpg_bookingInfo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_BookingInfo
},
19063 { &hf_tistpg_availableTpgNumber
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_AvailableTpgNumber
},
19064 { &hf_tistpg_cancellationCondition
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_CancellationCondition
},
19065 { NULL
, 0, 0, NULL
}
19069 dissect_tistpg_TpgStationData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19070 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19071 ett_tistpg_TpgStationData
, tistpg_TpgStationData_sequence
);
19077 static const per_sequence_t tistpg_TpgNotifContainer_sequence_of
[1] = {
19078 { &hf_tistpg_TpgNotifContainer_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TpgStationData
},
19082 dissect_tistpg_TpgNotifContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19083 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
19084 ett_tistpg_TpgNotifContainer
, tistpg_TpgNotifContainer_sequence_of
,
19091 static const per_sequence_t tistpg_TisTpgSNM_sequence
[] = {
19092 { &hf_tistpg_snmManagement
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TisTpgSNM_Management
},
19093 { &hf_tistpg_tpgContainer
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TpgNotifContainer
},
19094 { NULL
, 0, 0, NULL
}
19098 dissect_tistpg_TisTpgSNM(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19099 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19100 ett_tistpg_TisTpgSNM
, tistpg_TisTpgSNM_sequence
);
19106 static const value_string tistpg_ReservationStatus_vals
[] = {
19107 { 0, "reservationOK" },
19108 { 1, "noReservationService" },
19109 { 2, "noTpmsAvailable" },
19115 dissect_tistpg_ReservationStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19116 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
19117 3, NULL
, true, 0, NULL
);
19125 dissect_tistpg_ReservationID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19126 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
19133 static const per_sequence_t tistpg_TisTpgTRM_Management_sequence
[] = {
19134 { &hf_tistpg_generationTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_TimestampIts
},
19135 { &hf_tistpg_vehicleType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_UNVehicleClassifcation
},
19136 { &hf_tistpg_tpgStationID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_StationID
},
19137 { &hf_tistpg_reservationStatus
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_ReservationStatus
},
19138 { &hf_tistpg_costumercontract
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_CustomerContract
},
19139 { &hf_tistpg_reservationID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_ReservationID
},
19140 { NULL
, 0, 0, NULL
}
19144 dissect_tistpg_TisTpgTRM_Management(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19145 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19146 ett_tistpg_TisTpgTRM_Management
, tistpg_TisTpgTRM_Management_sequence
);
19154 dissect_tistpg_PairingID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19155 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
19156 0U, 9999U, NULL
, false);
19162 static const per_sequence_t tistpg_TisTpgTRM_Situation_sequence
[] = {
19163 { &hf_tistpg_estArrivalTime
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_TimestampIts
},
19164 { &hf_tistpg_proposedPairingID
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_tistpg_PairingID
},
19165 { NULL
, 0, 0, NULL
}
19169 dissect_tistpg_TisTpgTRM_Situation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19170 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19171 ett_tistpg_TisTpgTRM_Situation
, tistpg_TisTpgTRM_Situation_sequence
);
19177 static const per_sequence_t tistpg_TisTpgTRM_Location_sequence
[] = {
19178 { &hf_tistpg_vehiclePosition
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_ReferencePosition
},
19179 { &hf_tistpg_vehicleSpeed
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Speed
},
19180 { &hf_tistpg_vehicleHeading
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Heading
},
19181 { NULL
, 0, 0, NULL
}
19185 dissect_tistpg_TisTpgTRM_Location(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19186 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19187 ett_tistpg_TisTpgTRM_Location
, tistpg_TisTpgTRM_Location_sequence
);
19193 static const per_sequence_t tistpg_TisTpgTRM_sequence
[] = {
19194 { &hf_tistpg_trmManagement
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TisTpgTRM_Management
},
19195 { &hf_tistpg_trmSituation
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_TisTpgTRM_Situation
},
19196 { &hf_tistpg_trmLocation
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_TisTpgTRM_Location
},
19197 { NULL
, 0, 0, NULL
}
19201 dissect_tistpg_TisTpgTRM(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19202 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19203 ett_tistpg_TisTpgTRM
, tistpg_TisTpgTRM_sequence
);
19211 dissect_tistpg_INTEGER_1_65535(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19212 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
19213 1U, 65535U, NULL
, false);
19219 static const per_sequence_t tistpg_TisTpgTCM_Management_sequence
[] = {
19220 { &hf_tistpg_generationTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_TimestampIts
},
19221 { &hf_tistpg_tpgStationID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_StationID
},
19222 { &hf_tistpg_reservationStatus
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_ReservationStatus
},
19223 { &hf_tistpg_reservedTpg
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_INTEGER_1_65535
},
19224 { &hf_tistpg_costumercontract
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_CustomerContract
},
19225 { &hf_tistpg_reservationID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_ReservationID
},
19226 { &hf_tistpg_tpgAutomationLevel
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_TpgAutomation
},
19227 { NULL
, 0, 0, NULL
}
19231 dissect_tistpg_TisTpgTCM_Management(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19232 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19233 ett_tistpg_TisTpgTCM_Management
, tistpg_TisTpgTCM_Management_sequence
);
19239 static const per_sequence_t tistpg_TisTpgTCM_Situation_sequence
[] = {
19240 { &hf_tistpg_pairingID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_PairingID
},
19241 { &hf_tistpg_reservationTimeLimit
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_TimestampIts
},
19242 { &hf_tistpg_cancellationCondition
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_CancellationCondition
},
19243 { NULL
, 0, 0, NULL
}
19247 dissect_tistpg_TisTpgTCM_Situation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19248 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19249 ett_tistpg_TisTpgTCM_Situation
, tistpg_TisTpgTCM_Situation_sequence
);
19255 static const per_sequence_t tistpg_TisTpgTCM_Location_sequence
[] = {
19256 { &hf_tistpg_tpgLocation
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ReferencePosition
},
19257 { &hf_tistpg_address
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_UTF8String_SIZE_1_128
},
19258 { NULL
, 0, 0, NULL
}
19262 dissect_tistpg_TisTpgTCM_Location(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19263 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19264 ett_tistpg_TisTpgTCM_Location
, tistpg_TisTpgTCM_Location_sequence
);
19270 static const per_sequence_t tistpg_TisTpgTCM_sequence
[] = {
19271 { &hf_tistpg_tcmManagement
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TisTpgTCM_Management
},
19272 { &hf_tistpg_tcmSituation
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_TisTpgTCM_Situation
},
19273 { &hf_tistpg_tcmLocation
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_TisTpgTCM_Location
},
19274 { NULL
, 0, 0, NULL
}
19278 dissect_tistpg_TisTpgTCM(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19279 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19280 ett_tistpg_TisTpgTCM
, tistpg_TisTpgTCM_sequence
);
19286 static const value_string tistpg_FillingStatus_vals
[] = {
19287 { 0, "requestVehicleData" },
19288 { 1, "sendVehicleData" },
19290 { 3, "fillingProcessFailed" },
19291 { 4, "fillingProcessCompleted" },
19297 dissect_tistpg_FillingStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19298 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
19299 0U, 7U, NULL
, false);
19305 static const per_sequence_t tistpg_TisTpgVDRM_Management_sequence
[] = {
19306 { &hf_tistpg_generationTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_TimestampIts
},
19307 { &hf_tistpg_fillingStatus
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_FillingStatus
},
19308 { &hf_tistpg_automationLevel
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TpgAutomation
},
19309 { &hf_tistpg_pairingID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_PairingID
},
19310 { NULL
, 0, 0, NULL
}
19314 dissect_tistpg_TisTpgVDRM_Management(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19315 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19316 ett_tistpg_TisTpgVDRM_Management
, tistpg_TisTpgVDRM_Management_sequence
);
19322 static const per_sequence_t tistpg_TisTpgVDRM_sequence
[] = {
19323 { &hf_tistpg_vdrmManagement
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TisTpgVDRM_Management
},
19324 { NULL
, 0, 0, NULL
}
19328 dissect_tistpg_TisTpgVDRM(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19329 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19330 ett_tistpg_TisTpgVDRM
, tistpg_TisTpgVDRM_sequence
);
19338 dissect_tistpg_Language(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19339 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
19340 10, 10, false, NULL
, 0, NULL
, NULL
);
19346 static const value_string tistpg_TyreTempCondition_vals
[] = {
19347 { 0, "pressure-cold" },
19348 { 1, "pressure-warm" },
19349 { 2, "unavailable" },
19355 dissect_tistpg_TyreTempCondition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19356 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
19357 3, NULL
, true, 0, NULL
);
19363 static const per_sequence_t tistpg_TisTpgVDPM_Management_sequence
[] = {
19364 { &hf_tistpg_generationTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_TimestampIts
},
19365 { &hf_tistpg_tisProfile
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_TisProfile
},
19366 { &hf_tistpg_language
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_Language
},
19367 { &hf_tistpg_vehicleType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_UNVehicleClassifcation
},
19368 { &hf_tistpg_tyreTempCondition
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TyreTempCondition
},
19369 { &hf_tistpg_fillingStatus
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_FillingStatus
},
19370 { &hf_tistpg_pairingID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_PairingID
},
19371 { NULL
, 0, 0, NULL
}
19375 dissect_tistpg_TisTpgVDPM_Management(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19376 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19377 ett_tistpg_TisTpgVDPM_Management
, tistpg_TisTpgVDPM_Management_sequence
);
19385 dissect_tistpg_TyreSetVariantID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19386 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
19387 0U, 15U, NULL
, false);
19395 dissect_tistpg_TyreSidewallInformation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19396 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
19397 60, 60, false, NULL
, 0, NULL
, NULL
);
19405 dissect_tistpg_PressureConfiguration(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19406 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
19407 9, 9, false, NULL
, 0, NULL
, NULL
);
19413 static const value_string tistpg_AxlePlacardPressure_vals
[] = {
19421 dissect_tistpg_AxlePlacardPressure(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19422 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
19423 0U, 255U, NULL
, false);
19429 static const per_sequence_t tistpg_PressureVariant_sequence
[] = {
19430 { &hf_tistpg_pressureConfiguration
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_tistpg_PressureConfiguration
},
19431 { &hf_tistpg_frontAxlePressure
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_tistpg_AxlePlacardPressure
},
19432 { &hf_tistpg_rearAxlePressure
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_tistpg_AxlePlacardPressure
},
19433 { NULL
, 0, 0, NULL
}
19437 dissect_tistpg_PressureVariant(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19438 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19439 ett_tistpg_PressureVariant
, tistpg_PressureVariant_sequence
);
19445 static const per_sequence_t tistpg_PressureVariantsList_sequence_of
[1] = {
19446 { &hf_tistpg_PressureVariantsList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_tistpg_PressureVariant
},
19450 dissect_tistpg_PressureVariantsList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19451 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
19452 ett_tistpg_PressureVariantsList
, tistpg_PressureVariantsList_sequence_of
,
19459 static const per_sequence_t tistpg_TyreSetVariant_sequence
[] = {
19460 { &hf_tistpg_variantID
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TyreSetVariantID
},
19461 { &hf_tistpg_frontAxleDimension
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_tistpg_TyreSidewallInformation
},
19462 { &hf_tistpg_rearAxleDimension
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_tistpg_TyreSidewallInformation
},
19463 { &hf_tistpg_pressureVariantsList
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_tistpg_PressureVariantsList
},
19464 { NULL
, 0, 0, NULL
}
19468 dissect_tistpg_TyreSetVariant(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19469 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19470 ett_tistpg_TyreSetVariant
, tistpg_TyreSetVariant_sequence
);
19476 static const per_sequence_t tistpg_PlacardTable_sequence_of
[1] = {
19477 { &hf_tistpg_PlacardTable_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TyreSetVariant
},
19481 dissect_tistpg_PlacardTable(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19482 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
19483 ett_tistpg_PlacardTable
, tistpg_PlacardTable_sequence_of
,
19490 static const value_string tistpg_TyrePressure_vals
[] = {
19492 { 1, "lessThanOneBar" },
19494 { 3, "oneBarPlusTwoAndHalfKPa" },
19495 { 254, "inflation" },
19496 { 255, "overflow" },
19502 dissect_tistpg_TyrePressure(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19503 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
19504 0U, 255U, NULL
, false);
19512 dissect_tistpg_NULL(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19513 offset
= dissect_per_null(tvb
, offset
, actx
, tree
, hf_index
);
19519 static const value_string tistpg_T_currentTyrePressure_vals
[] = {
19520 { 0, "tyrePressureValue" },
19521 { 1, "unavailable" },
19525 static const per_choice_t tistpg_T_currentTyrePressure_choice
[] = {
19526 { 0, &hf_tistpg_tyrePressureValue
, ASN1_NO_EXTENSIONS
, dissect_tistpg_TyrePressure
},
19527 { 1, &hf_tistpg_unavailable
, ASN1_NO_EXTENSIONS
, dissect_tistpg_NULL
},
19528 { 0, NULL
, 0, NULL
}
19532 dissect_tistpg_T_currentTyrePressure(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19533 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
19534 ett_tistpg_T_currentTyrePressure
, tistpg_T_currentTyrePressure_choice
,
19541 static const value_string tistpg_T_tyreSidewallInformation_vals
[] = {
19542 { 0, "tyreSidewallInformationValue" },
19543 { 1, "unavailable" },
19547 static const per_choice_t tistpg_T_tyreSidewallInformation_choice
[] = {
19548 { 0, &hf_tistpg_tyreSidewallInformationValue
, ASN1_NO_EXTENSIONS
, dissect_tistpg_TyreSidewallInformation
},
19549 { 1, &hf_tistpg_unavailable
, ASN1_NO_EXTENSIONS
, dissect_tistpg_NULL
},
19550 { 0, NULL
, 0, NULL
}
19554 dissect_tistpg_T_tyreSidewallInformation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19555 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
19556 ett_tistpg_T_tyreSidewallInformation
, tistpg_T_tyreSidewallInformation_choice
,
19563 static const value_string tistpg_TyreAirTemperature_vals
[] = {
19565 { 1, "lessThanMinus50Celsius" },
19566 { 2, "minus50Celsius" },
19567 { 3, "minus49Celsius" },
19568 { 52, "zeroCelsius" },
19569 { 240, "overflowThreshold1" },
19570 { 241, "overflowThreshold2" },
19571 { 242, "overflowThreshold3" },
19572 { 243, "overflowThreshold4" },
19573 { 244, "overflowThreshold5" },
19574 { 245, "overflowThreshold6" },
19575 { 246, "overflowThreshold7" },
19576 { 247, "overflowThreshold8" },
19577 { 248, "overflowThreshold9" },
19578 { 249, "overflowThreshold10" },
19579 { 250, "overflowThreshold11" },
19580 { 251, "overflowThreshold12" },
19581 { 252, "overflowThreshold13" },
19582 { 253, "overflowThreshold14" },
19583 { 254, "overflowThreshold15" },
19584 { 255, "overflowThreshold16" },
19590 dissect_tistpg_TyreAirTemperature(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19591 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
19592 0U, 255U, NULL
, false);
19598 static const value_string tistpg_T_currentInsideAirTemperature_vals
[] = {
19599 { 0, "tyreAirTemperatureValue" },
19600 { 1, "unavailable" },
19604 static const per_choice_t tistpg_T_currentInsideAirTemperature_choice
[] = {
19605 { 0, &hf_tistpg_tyreAirTemperatureValue
, ASN1_NO_EXTENSIONS
, dissect_tistpg_TyreAirTemperature
},
19606 { 1, &hf_tistpg_unavailable
, ASN1_NO_EXTENSIONS
, dissect_tistpg_NULL
},
19607 { 0, NULL
, 0, NULL
}
19611 dissect_tistpg_T_currentInsideAirTemperature(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19612 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
19613 ett_tistpg_T_currentInsideAirTemperature
, tistpg_T_currentInsideAirTemperature_choice
,
19620 static const value_string tistpg_T_recommendedTyrePressure_vals
[] = {
19621 { 0, "axlePlacardPressureValue" },
19622 { 1, "unavailable" },
19626 static const per_choice_t tistpg_T_recommendedTyrePressure_choice
[] = {
19627 { 0, &hf_tistpg_axlePlacardPressureValue
, ASN1_NO_EXTENSIONS
, dissect_tistpg_AxlePlacardPressure
},
19628 { 1, &hf_tistpg_unavailable
, ASN1_NO_EXTENSIONS
, dissect_tistpg_NULL
},
19629 { 0, NULL
, 0, NULL
}
19633 dissect_tistpg_T_recommendedTyrePressure(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19634 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
19635 ett_tistpg_T_recommendedTyrePressure
, tistpg_T_recommendedTyrePressure_choice
,
19644 dissect_tistpg_TIN(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19645 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
19646 64, 64, false, NULL
, 0, NULL
, NULL
);
19652 static const value_string tistpg_T_tin_vals
[] = {
19654 { 1, "unavailable" },
19658 static const per_choice_t tistpg_T_tin_choice
[] = {
19659 { 0, &hf_tistpg_tinValue
, ASN1_NO_EXTENSIONS
, dissect_tistpg_TIN
},
19660 { 1, &hf_tistpg_unavailable
, ASN1_NO_EXTENSIONS
, dissect_tistpg_NULL
},
19661 { 0, NULL
, 0, NULL
}
19665 dissect_tistpg_T_tin(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19666 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
19667 ett_tistpg_T_tin
, tistpg_T_tin_choice
,
19674 static const value_string tistpg_SensorState_vals
[] = {
19675 { 65534, "malfunction" },
19676 { 65535, "unavailable" },
19682 dissect_tistpg_SensorState(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19683 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
19684 0U, 65535U, NULL
, false);
19690 static const value_string tistpg_T_sensorState_vals
[] = {
19691 { 0, "sensorStateValue" },
19692 { 1, "unavailable" },
19696 static const per_choice_t tistpg_T_sensorState_choice
[] = {
19697 { 0, &hf_tistpg_sensorStateValue
, ASN1_NO_EXTENSIONS
, dissect_tistpg_SensorState
},
19698 { 1, &hf_tistpg_unavailable
, ASN1_NO_EXTENSIONS
, dissect_tistpg_NULL
},
19699 { 0, NULL
, 0, NULL
}
19703 dissect_tistpg_T_sensorState(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19704 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
19705 ett_tistpg_T_sensorState
, tistpg_T_sensorState_choice
,
19712 static const per_sequence_t tistpg_TyreData_sequence
[] = {
19713 { &hf_tistpg_currentTyrePressure
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_T_currentTyrePressure
},
19714 { &hf_tistpg_tyreSidewallInformation
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_T_tyreSidewallInformation
},
19715 { &hf_tistpg_currentInsideAirTemperature
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_T_currentInsideAirTemperature
},
19716 { &hf_tistpg_recommendedTyrePressure
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_T_recommendedTyrePressure
},
19717 { &hf_tistpg_tin
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_T_tin
},
19718 { &hf_tistpg_sensorState
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_T_sensorState
},
19719 { NULL
, 0, 0, NULL
}
19723 dissect_tistpg_TyreData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19724 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19725 ett_tistpg_TyreData
, tistpg_TyreData_sequence
);
19731 static const per_sequence_t tistpg_VehicleSpecificData_sequence
[] = {
19732 { &hf_tistpg_currentVehicleConfiguration
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_PressureConfiguration
},
19733 { &hf_tistpg_frontLeftTyreData
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TyreData
},
19734 { &hf_tistpg_frontRightTyreData
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TyreData
},
19735 { &hf_tistpg_rearLeftTyreData
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TyreData
},
19736 { &hf_tistpg_rearRightTyreData
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TyreData
},
19737 { &hf_tistpg_spareTyreData
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TyreData
},
19738 { NULL
, 0, 0, NULL
}
19742 dissect_tistpg_VehicleSpecificData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19743 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19744 ett_tistpg_VehicleSpecificData
, tistpg_VehicleSpecificData_sequence
);
19750 static const per_sequence_t tistpg_TisTpgVDPM_sequence
[] = {
19751 { &hf_tistpg_vdpmManagement
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TisTpgVDPM_Management
},
19752 { &hf_tistpg_placardTable
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_PlacardTable
},
19753 { &hf_tistpg_vehicleSpecificData
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_VehicleSpecificData
},
19754 { NULL
, 0, 0, NULL
}
19758 dissect_tistpg_TisTpgVDPM(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19759 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19760 ett_tistpg_TisTpgVDPM
, tistpg_TisTpgVDPM_sequence
);
19766 static const value_string tistpg_NumberOfAppliedPressure_vals
[] = {
19767 { 1, "oneAppliedPressure" },
19768 { 2, "twoAppliedPressure" },
19774 dissect_tistpg_NumberOfAppliedPressure(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19775 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
19776 1U, 5U, NULL
, false);
19782 static const value_string tistpg_AppliedTyrePressure_vals
[] = {
19783 { 0, "tyrePressureValue" },
19784 { 1, "unavailable" },
19788 static const per_choice_t tistpg_AppliedTyrePressure_choice
[] = {
19789 { 0, &hf_tistpg_tyrePressureValue
, ASN1_NO_EXTENSIONS
, dissect_tistpg_TyrePressure
},
19790 { 1, &hf_tistpg_unavailable
, ASN1_NO_EXTENSIONS
, dissect_tistpg_NULL
},
19791 { 0, NULL
, 0, NULL
}
19795 dissect_tistpg_AppliedTyrePressure(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19796 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
19797 ett_tistpg_AppliedTyrePressure
, tistpg_AppliedTyrePressure_choice
,
19804 static const per_sequence_t tistpg_AppliedTyrePressures_sequence_of
[1] = {
19805 { &hf_tistpg_AppliedTyrePressures_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_tistpg_AppliedTyrePressure
},
19809 dissect_tistpg_AppliedTyrePressures(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19810 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
19811 ett_tistpg_AppliedTyrePressures
, tistpg_AppliedTyrePressures_sequence_of
,
19818 static const per_sequence_t tistpg_TisTpgEOFM_Management_sequence
[] = {
19819 { &hf_tistpg_generationTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_TimestampIts
},
19820 { &hf_tistpg_fillingStatus
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_FillingStatus
},
19821 { &hf_tistpg_numberOfAppliedPressure
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_NumberOfAppliedPressure
},
19822 { &hf_tistpg_appliedTyrePressures
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_AppliedTyrePressures
},
19823 { &hf_tistpg_pairingID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_tistpg_PairingID
},
19824 { NULL
, 0, 0, NULL
}
19828 dissect_tistpg_TisTpgEOFM_Management(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19829 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19830 ett_tistpg_TisTpgEOFM_Management
, tistpg_TisTpgEOFM_Management_sequence
);
19836 static const per_sequence_t tistpg_TisTpgEOFM_sequence
[] = {
19837 { &hf_tistpg_eofmManagement
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_tistpg_TisTpgEOFM_Management
},
19838 { NULL
, 0, 0, NULL
}
19842 dissect_tistpg_TisTpgEOFM(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19843 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19844 ett_tistpg_TisTpgEOFM
, tistpg_TisTpgEOFM_sequence
);
19850 static const value_string tistpg_TisTpgTransaction_vals
[] = {
19861 static const per_choice_t tistpg_TisTpgTransaction_choice
[] = {
19862 { 0, &hf_tistpg_drm
, ASN1_NO_EXTENSIONS
, dissect_tistpg_TisTpgDRM
},
19863 { 1, &hf_tistpg_snm
, ASN1_NO_EXTENSIONS
, dissect_tistpg_TisTpgSNM
},
19864 { 2, &hf_tistpg_trm
, ASN1_NO_EXTENSIONS
, dissect_tistpg_TisTpgTRM
},
19865 { 3, &hf_tistpg_tcm
, ASN1_NO_EXTENSIONS
, dissect_tistpg_TisTpgTCM
},
19866 { 4, &hf_tistpg_vdrm
, ASN1_NO_EXTENSIONS
, dissect_tistpg_TisTpgVDRM
},
19867 { 5, &hf_tistpg_vdpm
, ASN1_NO_EXTENSIONS
, dissect_tistpg_TisTpgVDPM
},
19868 { 6, &hf_tistpg_eofm
, ASN1_NO_EXTENSIONS
, dissect_tistpg_TisTpgEOFM
},
19869 { 0, NULL
, 0, NULL
}
19873 dissect_tistpg_TisTpgTransaction(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19874 actx
->private_data
= (void*)wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
19875 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "TISTPG");
19876 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "TISTPG");
19877 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
19878 ett_tistpg_TisTpgTransaction
, tistpg_TisTpgTransaction_choice
,
19886 static int dissect_tistpg_TisTpgTransaction_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
19888 asn1_ctx_t asn1_ctx
;
19889 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
19890 offset
= dissect_tistpg_TisTpgTransaction(tvb
, offset
, &asn1_ctx
, tree
, hf_tistpg_tistpg_TisTpgTransaction_PDU
);
19891 offset
+= 7; offset
>>= 3;
19896 /* --- Module EVCSN-PDU-Descriptions --- --- --- */
19901 dissect_evcsn_POIType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19902 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
19903 0U, 65535U, NULL
, false);
19911 dissect_evcsn_BOOLEAN(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19912 offset
= dissect_per_boolean(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
19918 static const per_sequence_t evcsn_ItsPOIHeader_sequence
[] = {
19919 { &hf_evcsn_poiType
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evcsn_POIType
},
19920 { &hf_evcsn_timeStamp
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_TimestampIts
},
19921 { &hf_evcsn_relayCapable
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evcsn_BOOLEAN
},
19922 { NULL
, 0, 0, NULL
}
19926 dissect_evcsn_ItsPOIHeader(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19927 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
19928 ett_evcsn_ItsPOIHeader
, evcsn_ItsPOIHeader_sequence
);
19936 dissect_evcsn_NumberStations(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19937 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
19938 1U, 256U, NULL
, false);
19946 dissect_evcsn_UTF8String_SIZE_1_32(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19947 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
19956 dissect_evcsn_UTF8String(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19957 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
19958 NO_BOUND
, NO_BOUND
, false);
19966 dissect_evcsn_NumericString_SIZE_1_16(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19967 offset
= dissect_per_NumericString(tvb
, offset
, actx
, tree
, hf_index
,
19975 static int * const evcsn_ChargingSpotType_bits
[] = {
19976 &hf_evcsn_ChargingSpotType_standardChargeMode1
,
19977 &hf_evcsn_ChargingSpotType_standardChargeMode2
,
19978 &hf_evcsn_ChargingSpotType_standardOrFastChargeMode3
,
19979 &hf_evcsn_ChargingSpotType_fastChargeWithExternalCharger
,
19980 &hf_evcsn_ChargingSpotType_spare_bit4
,
19981 &hf_evcsn_ChargingSpotType_spare_bit5
,
19982 &hf_evcsn_ChargingSpotType_spare_bit6
,
19983 &hf_evcsn_ChargingSpotType_spare_bit7
,
19984 &hf_evcsn_ChargingSpotType_quickDrop
,
19985 &hf_evcsn_ChargingSpotType_spare_bit9
,
19986 &hf_evcsn_ChargingSpotType_spare_bit10
,
19987 &hf_evcsn_ChargingSpotType_spare_bit11
,
19988 &hf_evcsn_ChargingSpotType_inductiveChargeWhileStationary
,
19989 &hf_evcsn_ChargingSpotType_spare_bit13
,
19990 &hf_evcsn_ChargingSpotType_inductiveChargeWhileDriving
,
19995 dissect_evcsn_ChargingSpotType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
19996 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
19997 NO_BOUND
, NO_BOUND
, false, evcsn_ChargingSpotType_bits
, 15, NULL
, NULL
);
20005 dissect_evcsn_TypeOfReceptacle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20006 tvbuff_t
*parameter_tvb
= NULL
;
20008 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
20009 NO_BOUND
, NO_BOUND
, false, NULL
, 0, ¶meter_tvb
, &len
);
20011 /* TODO Provide values?
20012 * See ETSI TS 101 556-1 V1.1.1 Annex B Description for data elements
20013 * Table B.2: Coding of the type of receptacle field
20015 * Code Charging Standard plug / Type of Nb of Maximum Maximum
20016 * spot type cable current phases Voltage Current
20017 * -------------------------------------------------------------------------
20018 * 0000 Socket IEC 62196-2 type 1 AC Single 240V 16A
20019 * 0001 Socket IEC 62196-2 type 1 AC Single 240V 32A
20020 * 0010 Socket IEC 62196-2 type 1 AC Single 240V 80A
20021 * 0011 Socket IEC 62196-2 type 1 AC Single 120V 12A
20022 * 0100 Socket IEC 62196-2 type 1 AC Single 120V 16A
20023 * 0101 Socket Standard Household AC Single 250V 16A
20024 * 0110 Socket Standard Household AC Single 480V 16A
20025 * 0111 Socket IEC 62196-2 type 2 AC Single 230V 16A
20026 * 1000 Socket IEC 62196-2 type 2 AC Single 250V 32A
20027 * 1001 Socket IEC 62196-2 type 2 AC Single 480V 32A
20028 * 1010 Socket IEC 62196-2 type 2 AC Single 400V 32/250A
20029 * 1011 Socket IEC 62196-2 type 3A AC Single 250V 32A
20030 * 1100 Socket IEC 62196-2 type 3B AC Single 480V 32A
20031 * 1101 Socket Reserved for Future AC Single 1000V 400A
20033 * 1110 Cable for Reserved
20035 * 1111 Cable for Reserved
20045 dissect_evcsn_INTEGER_0_1400(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20046 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
20047 0U, 1400U, NULL
, false);
20053 static const per_sequence_t evcsn_SpotAvailability_sequence
[] = {
20054 { &hf_evcsn_maxWaitingTimeMinutes
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evcsn_INTEGER_0_1400
},
20055 { &hf_evcsn_blocking
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evcsn_BOOLEAN
},
20056 { NULL
, 0, 0, NULL
}
20060 dissect_evcsn_SpotAvailability(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20061 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20062 ett_evcsn_SpotAvailability
, evcsn_SpotAvailability_sequence
);
20068 static const per_sequence_t evcsn_ParkingPlacesData_sequence_of
[1] = {
20069 { &hf_evcsn_ParkingPlacesData_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evcsn_SpotAvailability
},
20073 dissect_evcsn_ParkingPlacesData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20074 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
20075 ett_evcsn_ParkingPlacesData
, evcsn_ParkingPlacesData_sequence_of
,
20082 static const per_sequence_t evcsn_ItsChargingSpotDataElements_sequence
[] = {
20083 { &hf_evcsn_type
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evcsn_ChargingSpotType
},
20084 { &hf_evcsn_evEquipmentID
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_evcsn_UTF8String
},
20085 { &hf_evcsn_typeOfReceptacle
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evcsn_TypeOfReceptacle
},
20086 { &hf_evcsn_energyAvailability
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evcsn_UTF8String
},
20087 { &hf_evcsn_parkingPlacesData
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_evcsn_ParkingPlacesData
},
20088 { NULL
, 0, 0, NULL
}
20092 dissect_evcsn_ItsChargingSpotDataElements(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20093 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20094 ett_evcsn_ItsChargingSpotDataElements
, evcsn_ItsChargingSpotDataElements_sequence
);
20100 static const per_sequence_t evcsn_ItsChargingSpots_sequence_of
[1] = {
20101 { &hf_evcsn_ItsChargingSpots_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evcsn_ItsChargingSpotDataElements
},
20105 dissect_evcsn_ItsChargingSpots(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20106 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
20107 ett_evcsn_ItsChargingSpots
, evcsn_ItsChargingSpots_sequence_of
,
20114 static const per_sequence_t evcsn_ItsChargingStationData_sequence
[] = {
20115 { &hf_evcsn_chargingStationID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_StationID
},
20116 { &hf_evcsn_utilityDistributorId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evcsn_UTF8String_SIZE_1_32
},
20117 { &hf_evcsn_providerID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evcsn_UTF8String_SIZE_1_32
},
20118 { &hf_evcsn_chargingStationLocation
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_ReferencePosition
},
20119 { &hf_evcsn_address
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evcsn_UTF8String
},
20120 { &hf_evcsn_phoneNumber
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evcsn_NumericString_SIZE_1_16
},
20121 { &hf_evcsn_accessibility
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evcsn_UTF8String_SIZE_1_32
},
20122 { &hf_evcsn_digitalMap
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_DigitalMap
},
20123 { &hf_evcsn_openingDaysHours
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evcsn_UTF8String
},
20124 { &hf_evcsn_pricing
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evcsn_UTF8String
},
20125 { &hf_evcsn_bookingContactInfo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evcsn_UTF8String
},
20126 { &hf_evcsn_payment
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evcsn_UTF8String
},
20127 { &hf_evcsn_chargingSpotsAvailable
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evcsn_ItsChargingSpots
},
20128 { NULL
, 0, 0, NULL
}
20132 dissect_evcsn_ItsChargingStationData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20133 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20134 ett_evcsn_ItsChargingStationData
, evcsn_ItsChargingStationData_sequence
);
20140 static const per_sequence_t evcsn_SEQUENCE_SIZE_1_256_OF_ItsChargingStationData_sequence_of
[1] = {
20141 { &hf_evcsn_chargingStationsData_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evcsn_ItsChargingStationData
},
20145 dissect_evcsn_SEQUENCE_SIZE_1_256_OF_ItsChargingStationData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20146 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
20147 ett_evcsn_SEQUENCE_SIZE_1_256_OF_ItsChargingStationData
, evcsn_SEQUENCE_SIZE_1_256_OF_ItsChargingStationData_sequence_of
,
20154 static const per_sequence_t evcsn_ItsEVCSNData_sequence
[] = {
20155 { &hf_evcsn_totalNumberOfStations
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evcsn_NumberStations
},
20156 { &hf_evcsn_chargingStationsData
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evcsn_SEQUENCE_SIZE_1_256_OF_ItsChargingStationData
},
20157 { NULL
, 0, 0, NULL
}
20161 dissect_evcsn_ItsEVCSNData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20162 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20163 ett_evcsn_ItsEVCSNData
, evcsn_ItsEVCSNData_sequence
);
20169 static const per_sequence_t evcsn_EVChargingSpotNotificationPOIMessage_sequence
[] = {
20170 { &hf_evcsn_poiHeader
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evcsn_ItsPOIHeader
},
20171 { &hf_evcsn_evcsnData
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evcsn_ItsEVCSNData
},
20172 { NULL
, 0, 0, NULL
}
20176 dissect_evcsn_EVChargingSpotNotificationPOIMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20177 actx
->private_data
= (void*)wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
20178 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "EVCSN");
20179 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "EVCSN");
20180 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20181 ett_evcsn_EVChargingSpotNotificationPOIMessage
, evcsn_EVChargingSpotNotificationPOIMessage_sequence
);
20188 static int dissect_evcsn_EVChargingSpotNotificationPOIMessage_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
20190 asn1_ctx_t asn1_ctx
;
20191 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
20192 offset
= dissect_evcsn_EVChargingSpotNotificationPOIMessage(tvb
, offset
, &asn1_ctx
, tree
, hf_evcsn_evcsn_EVChargingSpotNotificationPOIMessage_PDU
);
20193 offset
+= 7; offset
>>= 3;
20198 /* --- Module EV-RechargingSpotReservation-PDU-Descriptions --- --- --- */
20203 dissect_evrsr_EVSE_ID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20204 offset
= dissect_per_octet_string(tvb
, offset
, actx
, tree
, hf_index
,
20205 1, 32, false, NULL
);
20211 static const value_string evrsr_TimestampUTC_vals
[] = {
20212 { 0, "utcStartOf2013" },
20213 { 1, "oneSecondAfterUTCStartOf2013" },
20219 dissect_evrsr_TimestampUTC(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20220 offset
= dissect_per_integer(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
20226 static const value_string evrsr_RechargingMode_vals
[] = {
20231 { 8, "quickDrop" },
20232 { 12, "inductiveChargingWhileStationary" },
20233 { 14, "inductiveChargingWhileDriving" },
20239 dissect_evrsr_RechargingMode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20240 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
20241 0U, 15U, NULL
, false);
20247 static const value_string evrsr_PowerSource_vals
[] = {
20248 { 0, "notApplicable" },
20259 dissect_evrsr_PowerSource(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20260 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
20261 0U, 7U, NULL
, false);
20267 static const per_sequence_t evrsr_RechargingType_sequence
[] = {
20268 { &hf_evrsr_rechargingMode
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evrsr_RechargingMode
},
20269 { &hf_evrsr_powerSource
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_evrsr_PowerSource
},
20270 { NULL
, 0, 0, NULL
}
20274 dissect_evrsr_RechargingType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20275 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20276 ett_evrsr_RechargingType
, evrsr_RechargingType_sequence
);
20284 dissect_evrsr_BatteryType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20285 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
20292 static const per_sequence_t evrsr_PreReservationRequestMessage_sequence
[] = {
20293 { &hf_evrsr_evse_ID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_EVSE_ID
},
20294 { &hf_evrsr_arrivalTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_TimestampUTC
},
20295 { &hf_evrsr_departureTime
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evrsr_TimestampUTC
},
20296 { &hf_evrsr_rechargingType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_RechargingType
},
20297 { &hf_evrsr_batteryType
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evrsr_BatteryType
},
20298 { NULL
, 0, 0, NULL
}
20302 dissect_evrsr_PreReservationRequestMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20303 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20304 ett_evrsr_PreReservationRequestMessage
, evrsr_PreReservationRequestMessage_sequence
);
20312 dissect_evrsr_Reservation_ID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20313 offset
= dissect_per_VisibleString(tvb
, offset
, actx
, tree
, hf_index
,
20323 dissect_evrsr_PreReservation_ID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20324 offset
= dissect_evrsr_Reservation_ID(tvb
, offset
, actx
, tree
, hf_index
);
20330 static const value_string evrsr_AvailabilityStatus_vals
[] = {
20331 { 0, "available" },
20332 { 1, "no-free-capacity" },
20338 dissect_evrsr_AvailabilityStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20339 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
20340 2, NULL
, false, 0, NULL
);
20346 static int * const evrsr_SupportedPaymentTypes_bits
[] = {
20347 &hf_evrsr_SupportedPaymentTypes_contract
,
20348 &hf_evrsr_SupportedPaymentTypes_externalIdentification
,
20353 dissect_evrsr_SupportedPaymentTypes(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20354 offset
= dissect_per_bit_string(tvb
, offset
, actx
, tree
, hf_index
,
20355 2, 2, false, evrsr_SupportedPaymentTypes_bits
, 2, NULL
, NULL
);
20361 static const per_sequence_t evrsr_PreReservationResponseMessage_sequence
[] = {
20362 { &hf_evrsr_preReservation_ID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_PreReservation_ID
},
20363 { &hf_evrsr_availabilityStatus
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_AvailabilityStatus
},
20364 { &hf_evrsr_preReservationExpirationTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_TimestampUTC
},
20365 { &hf_evrsr_supportedPaymentTypes
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_SupportedPaymentTypes
},
20366 { NULL
, 0, 0, NULL
}
20370 dissect_evrsr_PreReservationResponseMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20371 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20372 ett_evrsr_PreReservationResponseMessage
, evrsr_PreReservationResponseMessage_sequence
);
20378 static const value_string evrsr_EAmount_vals
[] = {
20385 dissect_evrsr_EAmount(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20386 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
20387 1U, 500000U, NULL
, false);
20393 static const value_string evrsr_PaymentType_vals
[] = {
20395 { 1, "externalIdentification" },
20401 dissect_evrsr_PaymentType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20402 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
20403 2, NULL
, false, 0, NULL
);
20411 dissect_evrsr_ContractID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20412 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
20421 dissect_evrsr_ExternalIdentificationMeans(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20422 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
20429 static const value_string evrsr_Payment_ID_vals
[] = {
20430 { 0, "contractID" },
20431 { 1, "externalIdentificationMeans" },
20435 static const per_choice_t evrsr_Payment_ID_choice
[] = {
20436 { 0, &hf_evrsr_contractID
, ASN1_NO_EXTENSIONS
, dissect_evrsr_ContractID
},
20437 { 1, &hf_evrsr_externalIdentificationMeans
, ASN1_NO_EXTENSIONS
, dissect_evrsr_ExternalIdentificationMeans
},
20438 { 0, NULL
, 0, NULL
}
20442 dissect_evrsr_Payment_ID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20443 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
20444 ett_evrsr_Payment_ID
, evrsr_Payment_ID_choice
,
20453 dissect_evrsr_Pairing_ID(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20454 offset
= dissect_per_VisibleString(tvb
, offset
, actx
, tree
, hf_index
,
20462 static const per_sequence_t evrsr_ReservationRequestMessage_sequence
[] = {
20463 { &hf_evrsr_currentTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_TimestampUTC
},
20464 { &hf_evrsr_preReservation_ID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_PreReservation_ID
},
20465 { &hf_evrsr_arrivalTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_TimestampUTC
},
20466 { &hf_evrsr_departureTime
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evrsr_TimestampUTC
},
20467 { &hf_evrsr_eAmount
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_EAmount
},
20468 { &hf_evrsr_eAmountMin
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_EAmount
},
20469 { &hf_evrsr_paymentType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_PaymentType
},
20470 { &hf_evrsr_payment_ID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_Payment_ID
},
20471 { &hf_evrsr_secondPayment_ID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evrsr_Payment_ID
},
20472 { &hf_evrsr_pairing_ID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evrsr_Pairing_ID
},
20473 { NULL
, 0, 0, NULL
}
20477 dissect_evrsr_ReservationRequestMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20478 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20479 ett_evrsr_ReservationRequestMessage
, evrsr_ReservationRequestMessage_sequence
);
20485 static const value_string evrsr_ReservationResponseCode_vals
[] = {
20487 { 1, "invalid-EVSE-ID" },
20488 { 2, "payment-type-not-supported" },
20489 { 3, "payment-error" },
20490 { 4, "authentication-error" },
20491 { 5, "insufficient-power-availability" },
20497 dissect_evrsr_ReservationResponseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20498 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
20499 6, NULL
, false, 0, NULL
);
20507 dissect_evrsr_Reservation_Password(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20508 offset
= dissect_per_VisibleString(tvb
, offset
, actx
, tree
, hf_index
,
20518 dissect_evrsr_StationDetails(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20519 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
20528 dissect_evrsr_ChargingSpotLabel(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20529 offset
= dissect_per_UTF8String(tvb
, offset
, actx
, tree
, hf_index
,
20536 static const per_sequence_t evrsr_ReservationResponseMessage_sequence
[] = {
20537 { &hf_evrsr_reservationResponseCode
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_ReservationResponseCode
},
20538 { &hf_evrsr_reservation_ID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evrsr_Reservation_ID
},
20539 { &hf_evrsr_reservation_Password
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evrsr_Reservation_Password
},
20540 { &hf_evrsr_stationDetails
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evrsr_StationDetails
},
20541 { &hf_evrsr_chargingSpotLabel
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evrsr_ChargingSpotLabel
},
20542 { &hf_evrsr_expirationTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_TimestampUTC
},
20543 { &hf_evrsr_freeCancelTimeLimit
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evrsr_TimestampUTC
},
20544 { NULL
, 0, 0, NULL
}
20548 dissect_evrsr_ReservationResponseMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20549 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20550 ett_evrsr_ReservationResponseMessage
, evrsr_ReservationResponseMessage_sequence
);
20556 static const per_sequence_t evrsr_CancellationRequestMessage_sequence
[] = {
20557 { &hf_evrsr_reservation_ID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_Reservation_ID
},
20558 { &hf_evrsr_reservation_Password
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_Reservation_Password
},
20559 { &hf_evrsr_currentTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_TimestampUTC
},
20560 { NULL
, 0, 0, NULL
}
20564 dissect_evrsr_CancellationRequestMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20565 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20566 ett_evrsr_CancellationRequestMessage
, evrsr_CancellationRequestMessage_sequence
);
20572 static const value_string evrsr_CancellationResponseCode_vals
[] = {
20574 { 1, "unknown-Reservation-ID" },
20575 { 2, "mismatching-Reservation-Password" },
20581 dissect_evrsr_CancellationResponseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20582 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
20583 3, NULL
, false, 0, NULL
);
20589 static const per_sequence_t evrsr_CancellationResponseMessage_sequence
[] = {
20590 { &hf_evrsr_reservation_ID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_Reservation_ID
},
20591 { &hf_evrsr_cancellationResponseCode
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_CancellationResponseCode
},
20592 { NULL
, 0, 0, NULL
}
20596 dissect_evrsr_CancellationResponseMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20597 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20598 ett_evrsr_CancellationResponseMessage
, evrsr_CancellationResponseMessage_sequence
);
20604 static const per_sequence_t evrsr_UpdateRequestMessage_sequence
[] = {
20605 { &hf_evrsr_reservation_ID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_Reservation_ID
},
20606 { &hf_evrsr_reservation_Password
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_Reservation_Password
},
20607 { &hf_evrsr_updatedArrivalTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_TimestampUTC
},
20608 { &hf_evrsr_updatedDepartureTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_TimestampUTC
},
20609 { NULL
, 0, 0, NULL
}
20613 dissect_evrsr_UpdateRequestMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20614 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20615 ett_evrsr_UpdateRequestMessage
, evrsr_UpdateRequestMessage_sequence
);
20621 static const value_string evrsr_UpdateResponseCode_vals
[] = {
20623 { 1, "unknown-Reservation-ID" },
20624 { 2, "mismatching-Reservation-Password" },
20625 { 3, "invalid-Arrival-Time" },
20626 { 4, "invalid-Departure-Time" },
20632 dissect_evrsr_UpdateResponseCode(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20633 offset
= dissect_per_enumerated(tvb
, offset
, actx
, tree
, hf_index
,
20634 5, NULL
, false, 0, NULL
);
20640 static const per_sequence_t evrsr_UpdateResponseMessage_sequence
[] = {
20641 { &hf_evrsr_reservation_ID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_Reservation_ID
},
20642 { &hf_evrsr_updateResponseCode
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_evrsr_UpdateResponseCode
},
20643 { &hf_evrsr_chargingSpotLabel
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_evrsr_ChargingSpotLabel
},
20644 { NULL
, 0, 0, NULL
}
20648 dissect_evrsr_UpdateResponseMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20649 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20650 ett_evrsr_UpdateResponseMessage
, evrsr_UpdateResponseMessage_sequence
);
20656 static const value_string evrsr_EV_RSR_MessageBody_vals
[] = {
20657 { 0, "preReservationRequestMessage" },
20658 { 1, "preReservationResponseMessage" },
20659 { 2, "reservationRequestMessage" },
20660 { 3, "reservationResponseMessage" },
20661 { 4, "cancellationRequestMessage" },
20662 { 5, "cancellationResponseMessage" },
20663 { 6, "updateRequestMessage" },
20664 { 7, "updateResponseMessage" },
20668 static const per_choice_t evrsr_EV_RSR_MessageBody_choice
[] = {
20669 { 0, &hf_evrsr_preReservationRequestMessage
, ASN1_EXTENSION_ROOT
, dissect_evrsr_PreReservationRequestMessage
},
20670 { 1, &hf_evrsr_preReservationResponseMessage
, ASN1_EXTENSION_ROOT
, dissect_evrsr_PreReservationResponseMessage
},
20671 { 2, &hf_evrsr_reservationRequestMessage
, ASN1_EXTENSION_ROOT
, dissect_evrsr_ReservationRequestMessage
},
20672 { 3, &hf_evrsr_reservationResponseMessage
, ASN1_EXTENSION_ROOT
, dissect_evrsr_ReservationResponseMessage
},
20673 { 4, &hf_evrsr_cancellationRequestMessage
, ASN1_EXTENSION_ROOT
, dissect_evrsr_CancellationRequestMessage
},
20674 { 5, &hf_evrsr_cancellationResponseMessage
, ASN1_EXTENSION_ROOT
, dissect_evrsr_CancellationResponseMessage
},
20675 { 6, &hf_evrsr_updateRequestMessage
, ASN1_EXTENSION_ROOT
, dissect_evrsr_UpdateRequestMessage
},
20676 { 7, &hf_evrsr_updateResponseMessage
, ASN1_EXTENSION_ROOT
, dissect_evrsr_UpdateResponseMessage
},
20677 { 0, NULL
, 0, NULL
}
20681 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_
) {
20682 actx
->private_data
= (void*)wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
20683 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "EV-RSR");
20684 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "EV-RSR");
20685 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
20686 ett_evrsr_EV_RSR_MessageBody
, evrsr_EV_RSR_MessageBody_choice
,
20694 static int dissect_evrsr_EV_RSR_MessageBody_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
20696 asn1_ctx_t asn1_ctx
;
20697 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
20698 offset
= dissect_evrsr_EV_RSR_MessageBody(tvb
, offset
, &asn1_ctx
, tree
, hf_evrsr_evrsr_EV_RSR_MessageBody_PDU
);
20699 offset
+= 7; offset
>>= 3;
20704 /* --- Module CPM-OriginatingStationContainers --- --- --- */
20707 static const per_sequence_t cpm_TrailerDataSet_sequence_of
[1] = {
20708 { &hf_cpm_TrailerDataSet_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_TrailerData
},
20712 dissect_cpm_TrailerDataSet(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20713 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
20714 ett_cpm_TrailerDataSet
, cpm_TrailerDataSet_sequence_of
,
20721 static const per_sequence_t cpm_OriginatingVehicleContainer_sequence
[] = {
20722 { &hf_cpm_orientationAngle
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Wgs84Angle
},
20723 { &hf_cpm_pitchAngle
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_CartesianAngle
},
20724 { &hf_cpm_rollAngle
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_CartesianAngle
},
20725 { &hf_cpm_trailerDataSet
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpm_TrailerDataSet
},
20726 { NULL
, 0, 0, NULL
}
20730 dissect_cpm_OriginatingVehicleContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20731 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20732 ett_cpm_OriginatingVehicleContainer
, cpm_OriginatingVehicleContainer_sequence
);
20738 static const per_sequence_t cpm_OriginatingRsuContainer_sequence
[] = {
20739 { &hf_cpm_mapReference
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_MapReference
},
20740 { NULL
, 0, 0, NULL
}
20744 dissect_cpm_OriginatingRsuContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20745 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20746 ett_cpm_OriginatingRsuContainer
, cpm_OriginatingRsuContainer_sequence
);
20753 static int dissect_cpm_OriginatingVehicleContainer_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
20755 asn1_ctx_t asn1_ctx
;
20756 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
20757 offset
= dissect_cpm_OriginatingVehicleContainer(tvb
, offset
, &asn1_ctx
, tree
, hf_cpm_cpm_OriginatingVehicleContainer_PDU
);
20758 offset
+= 7; offset
>>= 3;
20761 static int dissect_cpm_OriginatingRsuContainer_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
20763 asn1_ctx_t asn1_ctx
;
20764 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
20765 offset
= dissect_cpm_OriginatingRsuContainer(tvb
, offset
, &asn1_ctx
, tree
, hf_cpm_cpm_OriginatingRsuContainer_PDU
);
20766 offset
+= 7; offset
>>= 3;
20771 /* --- Module CPM-PDU-Descriptionsv1 --- --- --- */
20776 dissect_cpmv1_VehicleHeight(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20777 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
20778 0U, 127U, NULL
, false);
20786 dissect_cpmv1_GenerationDeltaTime(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20787 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
20788 0U, 65535U, NULL
, false);
20796 dissect_cpmv1_SegmentCount(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20797 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
20798 1U, 127U, NULL
, false);
20804 static const per_sequence_t cpmv1_PerceivedObjectContainerSegmentInfo_sequence
[] = {
20805 { &hf_cpmv1_totalMsgSegments
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_SegmentCount
},
20806 { &hf_cpmv1_thisSegmentNum
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_SegmentCount
},
20807 { NULL
, 0, 0, NULL
}
20811 dissect_cpmv1_PerceivedObjectContainerSegmentInfo(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20812 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20813 ett_cpmv1_PerceivedObjectContainerSegmentInfo
, cpmv1_PerceivedObjectContainerSegmentInfo_sequence
);
20819 static const per_sequence_t cpmv1_CpmManagementContainer_sequence
[] = {
20820 { &hf_cpmv1_stationType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_StationType
},
20821 { &hf_cpmv1_perceivedObjectContainerSegmentInfo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_PerceivedObjectContainerSegmentInfo
},
20822 { &hf_cpmv1_referencePosition
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_ReferencePosition
},
20823 { NULL
, 0, 0, NULL
}
20827 dissect_cpmv1_CpmManagementContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20828 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20829 ett_cpmv1_CpmManagementContainer
, cpmv1_CpmManagementContainer_sequence
);
20835 static const value_string cpmv1_WGS84AngleValue_vals
[] = {
20836 { 0, "wgs84North" },
20837 { 900, "wgs84East" },
20838 { 1800, "wgs84South" },
20839 { 2700, "wgs84West" },
20840 { 3601, "unavailable" },
20846 dissect_cpmv1_WGS84AngleValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20847 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
20848 0U, 3601U, NULL
, false);
20856 dissect_cpmv1_AngleConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20857 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
20858 1U, 127U, NULL
, false);
20864 static const per_sequence_t cpmv1_WGS84Angle_sequence
[] = {
20865 { &hf_cpmv1_value_03
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_WGS84AngleValue
},
20866 { &hf_cpmv1_confidence_02
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_AngleConfidence
},
20867 { NULL
, 0, 0, NULL
}
20871 dissect_cpmv1_WGS84Angle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20872 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20873 ett_cpmv1_WGS84Angle
, cpmv1_WGS84Angle_sequence
);
20881 dissect_cpmv1_CartesianAngleValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20882 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
20883 0U, 3601U, NULL
, false);
20889 static const per_sequence_t cpmv1_CartesianAngle_sequence
[] = {
20890 { &hf_cpmv1_value_02
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_CartesianAngleValue
},
20891 { &hf_cpmv1_confidence_02
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_AngleConfidence
},
20892 { NULL
, 0, 0, NULL
}
20896 dissect_cpmv1_CartesianAngle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20897 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20898 ett_cpmv1_CartesianAngle
, cpmv1_CartesianAngle_sequence
);
20906 dissect_cpmv1_RefPointId(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20907 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
20908 0U, 255U, NULL
, false);
20914 static const value_string cpmv1_HitchPointOffset_vals
[] = {
20915 { 1, "zeroPointOneMeter" },
20916 { 10, "oneMeter" },
20922 dissect_cpmv1_HitchPointOffset(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20923 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
20924 0U, 100U, NULL
, false);
20930 static const value_string cpmv1_FrontOverhang_vals
[] = {
20931 { 1, "zeroPointOneMeter" },
20932 { 10, "oneMeter" },
20938 dissect_cpmv1_FrontOverhang(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20939 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
20940 0U, 50U, NULL
, false);
20946 static const value_string cpmv1_RearOverhang_vals
[] = {
20947 { 1, "zeroPointOneMeter" },
20948 { 10, "oneMeter" },
20954 dissect_cpmv1_RearOverhang(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20955 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
20956 0U, 150U, NULL
, false);
20962 static const per_sequence_t cpmv1_TrailerData_sequence
[] = {
20963 { &hf_cpmv1_refPointId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_RefPointId
},
20964 { &hf_cpmv1_hitchPointOffset
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_HitchPointOffset
},
20965 { &hf_cpmv1_frontOverhang
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_FrontOverhang
},
20966 { &hf_cpmv1_rearOverhang
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_RearOverhang
},
20967 { &hf_cpmv1_trailerWidth
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_VehicleWidth
},
20968 { &hf_cpmv1_hitchAngle
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_CartesianAngle
},
20969 { NULL
, 0, 0, NULL
}
20973 dissect_cpmv1_TrailerData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20974 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
20975 ett_cpmv1_TrailerData
, cpmv1_TrailerData_sequence
);
20981 static const per_sequence_t cpmv1_TrailerDataContainer_sequence_of
[1] = {
20982 { &hf_cpmv1_TrailerDataContainer_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_TrailerData
},
20986 dissect_cpmv1_TrailerDataContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
20987 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
20988 ett_cpmv1_TrailerDataContainer
, cpmv1_TrailerDataContainer_sequence_of
,
20995 static const per_sequence_t cpmv1_OriginatingVehicleContainerV1_sequence
[] = {
20996 { &hf_cpmv1_heading
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_Heading
},
20997 { &hf_cpmv1_speed
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_Speed
},
20998 { &hf_cpmv1_vehicleOrientationAngle
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_WGS84Angle
},
20999 { &hf_cpmv1_driveDirection
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_DriveDirection
},
21000 { &hf_cpmv1_longitudinalAcceleration
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_LongitudinalAcceleration
},
21001 { &hf_cpmv1_lateralAcceleration
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_LateralAcceleration
},
21002 { &hf_cpmv1_verticalAcceleration
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_VerticalAcceleration
},
21003 { &hf_cpmv1_yawRate
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_YawRate
},
21004 { &hf_cpmv1_pitchAnglev1
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_CartesianAngle
},
21005 { &hf_cpmv1_rollAnglev1
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_CartesianAngle
},
21006 { &hf_cpmv1_vehicleLengthv1
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_VehicleLength
},
21007 { &hf_cpmv1_vehicleWidthv1
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_VehicleWidth
},
21008 { &hf_cpmv1_vehicleHeightv1
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_VehicleHeight
},
21009 { &hf_cpmv1_trailerDataContainerv1
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_TrailerDataContainer
},
21010 { NULL
, 0, 0, NULL
}
21014 dissect_cpmv1_OriginatingVehicleContainerV1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21015 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21016 ett_cpmv1_OriginatingVehicleContainerV1
, cpmv1_OriginatingVehicleContainerV1_sequence
);
21022 static const value_string cpmv1_OriginatingRSUContainer_vals
[] = {
21023 { 0, "intersectionReferenceId" },
21024 { 1, "roadSegmentReferenceId" },
21028 static const per_choice_t cpmv1_OriginatingRSUContainer_choice
[] = {
21029 { 0, &hf_cpmv1_intersectionReferenceId
, ASN1_EXTENSION_ROOT
, dissect_dsrc_IntersectionReferenceID
},
21030 { 1, &hf_cpmv1_roadSegmentReferenceId
, ASN1_EXTENSION_ROOT
, dissect_dsrc_RoadSegmentReferenceID
},
21031 { 0, NULL
, 0, NULL
}
21035 dissect_cpmv1_OriginatingRSUContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21036 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
21037 ett_cpmv1_OriginatingRSUContainer
, cpmv1_OriginatingRSUContainer_choice
,
21044 static const value_string cpmv1_StationDataContainer_vals
[] = {
21045 { 0, "originatingVehicleContainer" },
21046 { 1, "originatingRSUContainer" },
21050 static const per_choice_t cpmv1_StationDataContainer_choice
[] = {
21051 { 0, &hf_cpmv1_originatingVehicleContainer
, ASN1_EXTENSION_ROOT
, dissect_cpmv1_OriginatingVehicleContainerV1
},
21052 { 1, &hf_cpmv1_originatingRSUContainer
, ASN1_EXTENSION_ROOT
, dissect_cpmv1_OriginatingRSUContainer
},
21053 { 0, NULL
, 0, NULL
}
21057 dissect_cpmv1_StationDataContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21058 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
21059 ett_cpmv1_StationDataContainer
, cpmv1_StationDataContainer_choice
,
21068 dissect_cpmv1_Identifier(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21069 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21070 0U, 255U, NULL
, false);
21076 static const value_string cpmv1_SensorType_vals
[] = {
21077 { 0, "undefined" },
21080 { 3, "monovideo" },
21081 { 4, "stereovision" },
21082 { 5, "nightvision" },
21083 { 6, "ultrasonic" },
21086 { 9, "inductionloop" },
21087 { 10, "sphericalCamera" },
21088 { 11, "itssaggregation" },
21094 dissect_cpmv1_SensorType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21095 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21096 0U, 15U, NULL
, false);
21102 static const value_string cpmv1_XSensorOffset_vals
[] = {
21103 { -1, "negativeZeroPointZeroOneMeter" },
21104 { -100, "negativeOneMeter" },
21110 dissect_cpmv1_XSensorOffset(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21111 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21112 -5000, 0U, NULL
, false);
21118 static const value_string cpmv1_YSensorOffset_vals
[] = {
21119 { 1, "zeroPointZeroOneMeter" },
21120 { 100, "oneMeter" },
21126 dissect_cpmv1_YSensorOffset(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21127 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21128 -1000, 1000U, NULL
, false);
21134 static const value_string cpmv1_ZSensorOffset_vals
[] = {
21135 { 1, "zeroPointZeroOneMeter" },
21136 { 100, "oneMeter" },
21142 dissect_cpmv1_ZSensorOffset(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21143 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21144 0U, 1000U, NULL
, false);
21150 static const value_string cpmv1_Range_vals
[] = {
21151 { 1, "zeroPointOneMeter" },
21152 { 10, "oneMeter" },
21158 dissect_cpmv1_Range(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21159 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21160 0U, 10000U, NULL
, false);
21166 static const per_sequence_t cpmv1_VehicleSensorProperties_sequence
[] = {
21167 { &hf_cpmv1_range
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_Range
},
21168 { &hf_cpmv1_horizontalOpeningAngleStart
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_CartesianAngleValue
},
21169 { &hf_cpmv1_horizontalOpeningAngleEnd
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_CartesianAngleValue
},
21170 { &hf_cpmv1_verticalOpeningAngleStart
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_CartesianAngleValue
},
21171 { &hf_cpmv1_verticalOpeningAngleEnd
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_CartesianAngleValue
},
21172 { NULL
, 0, 0, NULL
}
21176 dissect_cpmv1_VehicleSensorProperties(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21177 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21178 ett_cpmv1_VehicleSensorProperties
, cpmv1_VehicleSensorProperties_sequence
);
21184 static const per_sequence_t cpmv1_VehicleSensorPropertyList_sequence_of
[1] = {
21185 { &hf_cpmv1_VehicleSensorPropertyList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_VehicleSensorProperties
},
21189 dissect_cpmv1_VehicleSensorPropertyList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21190 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
21191 ett_cpmv1_VehicleSensorPropertyList
, cpmv1_VehicleSensorPropertyList_sequence_of
,
21198 static const per_sequence_t cpmv1_VehicleSensor_sequence
[] = {
21199 { &hf_cpmv1_refPointId
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_RefPointId
},
21200 { &hf_cpmv1_xSensorOffset
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_XSensorOffset
},
21201 { &hf_cpmv1_ySensorOffset
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_YSensorOffset
},
21202 { &hf_cpmv1_zSensorOffset
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_ZSensorOffset
},
21203 { &hf_cpmv1_vehicleSensorPropertyList
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_VehicleSensorPropertyList
},
21204 { NULL
, 0, 0, NULL
}
21208 dissect_cpmv1_VehicleSensor(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21209 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21210 ett_cpmv1_VehicleSensor
, cpmv1_VehicleSensor_sequence
);
21216 static const value_string cpmv1_NodeOffsetPointZ_vals
[] = {
21226 static const per_choice_t cpmv1_NodeOffsetPointZ_choice
[] = {
21227 { 0, &hf_cpmv1_node_Z1
, ASN1_NO_EXTENSIONS
, dissect_dsrc_Offset_B10
},
21228 { 1, &hf_cpmv1_node_Z2
, ASN1_NO_EXTENSIONS
, dissect_dsrc_Offset_B11
},
21229 { 2, &hf_cpmv1_node_Z3
, ASN1_NO_EXTENSIONS
, dissect_dsrc_Offset_B12
},
21230 { 3, &hf_cpmv1_node_Z4
, ASN1_NO_EXTENSIONS
, dissect_dsrc_Offset_B13
},
21231 { 4, &hf_cpmv1_node_Z5
, ASN1_NO_EXTENSIONS
, dissect_dsrc_Offset_B14
},
21232 { 5, &hf_cpmv1_node_Z6
, ASN1_NO_EXTENSIONS
, dissect_dsrc_Offset_B16
},
21233 { 0, NULL
, 0, NULL
}
21237 dissect_cpmv1_NodeOffsetPointZ(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21238 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
21239 ett_cpmv1_NodeOffsetPointZ
, cpmv1_NodeOffsetPointZ_choice
,
21246 static const per_sequence_t cpmv1_OffsetPoint_sequence
[] = {
21247 { &hf_cpmv1_nodeOffsetPointxy
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_dsrc_NodeOffsetPointXY
},
21248 { &hf_cpmv1_nodeOffsetPointZ
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_cpmv1_NodeOffsetPointZ
},
21249 { NULL
, 0, 0, NULL
}
21253 dissect_cpmv1_OffsetPoint(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21254 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21255 ett_cpmv1_OffsetPoint
, cpmv1_OffsetPoint_sequence
);
21261 static const value_string cpmv1_SensorHeight_vals
[] = {
21262 { 1, "zeroPointZeroOneMeter" },
21268 dissect_cpmv1_SensorHeight(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21269 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21270 -5000, 5000U, NULL
, false);
21276 static const per_sequence_t cpmv1_AreaRadial_sequence
[] = {
21277 { &hf_cpmv1_range
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_Range
},
21278 { &hf_cpmv1_stationaryHorizontalOpeningAngleStart
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_WGS84AngleValue
},
21279 { &hf_cpmv1_stationaryHorizontalOpeningAngleEnd
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_WGS84AngleValue
},
21280 { &hf_cpmv1_verticalOpeningAngleStart
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_CartesianAngleValue
},
21281 { &hf_cpmv1_verticalOpeningAngleEnd
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_CartesianAngleValue
},
21282 { &hf_cpmv1_sensorPositionOffset
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_OffsetPoint
},
21283 { &hf_cpmv1_sensorHeight
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_SensorHeight
},
21284 { NULL
, 0, 0, NULL
}
21288 dissect_cpmv1_AreaRadial(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21289 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21290 ett_cpmv1_AreaRadial
, cpmv1_AreaRadial_sequence
);
21296 static const per_sequence_t cpmv1_PolyPointList_sequence_of
[1] = {
21297 { &hf_cpmv1_PolyPointList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_OffsetPoint
},
21301 dissect_cpmv1_PolyPointList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21302 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
21303 ett_cpmv1_PolyPointList
, cpmv1_PolyPointList_sequence_of
,
21310 static const per_sequence_t cpmv1_AreaPolygon_sequence
[] = {
21311 { &hf_cpmv1_polyPointList
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_PolyPointList
},
21312 { NULL
, 0, 0, NULL
}
21316 dissect_cpmv1_AreaPolygon(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21317 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21318 ett_cpmv1_AreaPolygon
, cpmv1_AreaPolygon_sequence
);
21324 static const value_string cpmv1_Radius_vals
[] = {
21325 { 1, "zeroPointOneMeter" },
21326 { 10, "oneMeter" },
21332 dissect_cpmv1_Radius(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21333 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21334 0U, 10000U, NULL
, false);
21340 static const per_sequence_t cpmv1_AreaCircular_sequence
[] = {
21341 { &hf_cpmv1_nodeCenterPoint
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_cpmv1_OffsetPoint
},
21342 { &hf_cpmv1_radius
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_Radius
},
21343 { NULL
, 0, 0, NULL
}
21347 dissect_cpmv1_AreaCircular(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21348 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21349 ett_cpmv1_AreaCircular
, cpmv1_AreaCircular_sequence
);
21355 static const value_string cpmv1_SemiRangeLength_vals
[] = {
21356 { 1, "zeroPointOneMeter" },
21357 { 10, "oneMeter" },
21363 dissect_cpmv1_SemiRangeLength(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21364 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21365 0U, 10000U, NULL
, false);
21371 static const per_sequence_t cpmv1_AreaEllipse_sequence
[] = {
21372 { &hf_cpmv1_nodeCenterPoint
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_cpmv1_OffsetPoint
},
21373 { &hf_cpmv1_semiMinorRangeLength
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_SemiRangeLength
},
21374 { &hf_cpmv1_semiMajorRangeLength
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_SemiRangeLength
},
21375 { &hf_cpmv1_semiMajorRangeOrientation
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_WGS84AngleValue
},
21376 { &hf_cpmv1_semiHeight
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_cpmv1_SemiRangeLength
},
21377 { NULL
, 0, 0, NULL
}
21381 dissect_cpmv1_AreaEllipse(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21382 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21383 ett_cpmv1_AreaEllipse
, cpmv1_AreaEllipse_sequence
);
21389 static const per_sequence_t cpmv1_AreaRectangle_sequence
[] = {
21390 { &hf_cpmv1_nodeCenterPoint
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_cpmv1_OffsetPoint
},
21391 { &hf_cpmv1_semiMajorRangeLength
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_SemiRangeLength
},
21392 { &hf_cpmv1_semiMinorRangeLength
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_SemiRangeLength
},
21393 { &hf_cpmv1_semiMajorRangeOrientation
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_WGS84AngleValue
},
21394 { &hf_cpmv1_semiHeight
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_cpmv1_SemiRangeLength
},
21395 { NULL
, 0, 0, NULL
}
21399 dissect_cpmv1_AreaRectangle(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21400 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21401 ett_cpmv1_AreaRectangle
, cpmv1_AreaRectangle_sequence
);
21407 static const value_string cpmv1_DetectionArea_vals
[] = {
21408 { 0, "vehicleSensor" },
21409 { 1, "stationarySensorRadial" },
21410 { 2, "stationarySensorPolygon" },
21411 { 3, "stationarySensorCircular" },
21412 { 4, "stationarySensorEllipse" },
21413 { 5, "stationarySensorRectangle" },
21417 static const per_choice_t cpmv1_DetectionArea_choice
[] = {
21418 { 0, &hf_cpmv1_vehicleSensor
, ASN1_EXTENSION_ROOT
, dissect_cpmv1_VehicleSensor
},
21419 { 1, &hf_cpmv1_stationarySensorRadial
, ASN1_EXTENSION_ROOT
, dissect_cpmv1_AreaRadial
},
21420 { 2, &hf_cpmv1_stationarySensorPolygon
, ASN1_EXTENSION_ROOT
, dissect_cpmv1_AreaPolygon
},
21421 { 3, &hf_cpmv1_stationarySensorCircular
, ASN1_EXTENSION_ROOT
, dissect_cpmv1_AreaCircular
},
21422 { 4, &hf_cpmv1_stationarySensorEllipse
, ASN1_EXTENSION_ROOT
, dissect_cpmv1_AreaEllipse
},
21423 { 5, &hf_cpmv1_stationarySensorRectangle
, ASN1_EXTENSION_ROOT
, dissect_cpmv1_AreaRectangle
},
21424 { 0, NULL
, 0, NULL
}
21428 dissect_cpmv1_DetectionArea(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21429 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
21430 ett_cpmv1_DetectionArea
, cpmv1_DetectionArea_choice
,
21439 dissect_cpmv1_FreeSpaceConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21440 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21441 0U, 101U, NULL
, false);
21447 static const per_sequence_t cpmv1_SensorInformationv1_sequence
[] = {
21448 { &hf_cpmv1_sensorID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_Identifier
},
21449 { &hf_cpmv1_type
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_SensorType
},
21450 { &hf_cpmv1_detectionArea
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_DetectionArea
},
21451 { &hf_cpmv1_freeSpaceConfidence
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_FreeSpaceConfidence
},
21452 { NULL
, 0, 0, NULL
}
21456 dissect_cpmv1_SensorInformationv1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21457 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21458 ett_cpmv1_SensorInformationv1
, cpmv1_SensorInformationv1_sequence
);
21464 static const per_sequence_t cpmv1_SensorInformationContainerv1_sequence_of
[1] = {
21465 { &hf_cpmv1_SensorInformationContainerv1_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_SensorInformationv1
},
21469 dissect_cpmv1_SensorInformationContainerv1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21470 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
21471 ett_cpmv1_SensorInformationContainerv1
, cpmv1_SensorInformationContainerv1_sequence_of
,
21478 static const per_sequence_t cpmv1_SensorIdList_sequence_of
[1] = {
21479 { &hf_cpmv1_SensorIdList_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_Identifier
},
21483 dissect_cpmv1_SensorIdList(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21484 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
21485 ett_cpmv1_SensorIdList
, cpmv1_SensorIdList_sequence_of
,
21494 dissect_cpmv1_TimeOfMeasurement(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21495 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21496 -1500, 1500U, NULL
, false);
21502 static const value_string cpmv1_ObjectAge_vals
[] = {
21503 { 1, "oneMiliSec" },
21509 dissect_cpmv1_ObjectAge(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21510 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21511 0U, 1500U, NULL
, false);
21519 dissect_cpmv1_ObjectConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21520 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21521 0U, 101U, NULL
, false);
21529 dissect_cpmv1_DistanceValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21530 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21531 -132768, 132767U, NULL
, false);
21539 dissect_cpmv1_DistanceConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21540 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21541 0U, 102U, NULL
, false);
21547 static const per_sequence_t cpmv1_ObjectDistanceWithConfidence_sequence
[] = {
21548 { &hf_cpmv1_value
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_DistanceValue
},
21549 { &hf_cpmv1_confidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_DistanceConfidence
},
21550 { NULL
, 0, 0, NULL
}
21554 dissect_cpmv1_ObjectDistanceWithConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21555 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21556 ett_cpmv1_ObjectDistanceWithConfidence
, cpmv1_ObjectDistanceWithConfidence_sequence
);
21564 dissect_cpmv1_SpeedValueExtended(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21565 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21566 -16383, 16383U, NULL
, false);
21572 static const per_sequence_t cpmv1_SpeedExtended_sequence
[] = {
21573 { &hf_cpmv1_value_04
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_SpeedValueExtended
},
21574 { &hf_cpmv1_confidence_03
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_itsv1_SpeedConfidence
},
21575 { NULL
, 0, 0, NULL
}
21579 dissect_cpmv1_SpeedExtended(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21580 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21581 ett_cpmv1_SpeedExtended
, cpmv1_SpeedExtended_sequence
);
21589 dissect_cpmv1_ObjectDimensionValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21590 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21591 0U, 1023U, NULL
, false);
21599 dissect_cpmv1_ObjectDimensionConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21600 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21601 0U, 102U, NULL
, false);
21607 static const per_sequence_t cpmv1_ObjectDimension_sequence
[] = {
21608 { &hf_cpmv1_value_01
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_ObjectDimensionValue
},
21609 { &hf_cpmv1_confidence_01
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_ObjectDimensionConfidence
},
21610 { NULL
, 0, 0, NULL
}
21614 dissect_cpmv1_ObjectDimension(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21615 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21616 ett_cpmv1_ObjectDimension
, cpmv1_ObjectDimension_sequence
);
21622 static const value_string cpmv1_ObjectRefPoint_vals
[] = {
21624 { 1, "bottomLeft" },
21627 { 4, "bottomMid" },
21629 { 6, "bottomRight" },
21637 dissect_cpmv1_ObjectRefPoint(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21638 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21639 0U, 8U, NULL
, false);
21645 static const value_string cpmv1_DynamicStatus_vals
[] = {
21647 { 1, "hasBeenDynamic" },
21654 dissect_cpmv1_DynamicStatus(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21655 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21656 0U, 2U, NULL
, false);
21664 dissect_cpmv1_ClassConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21665 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21666 0U, 101U, NULL
, false);
21672 static const value_string cpmv1_VehicleSubclassType_vals
[] = {
21675 { 2, "motorcycle" },
21676 { 3, "passengerCar" },
21678 { 5, "lightTruck" },
21679 { 6, "heavyTruck" },
21681 { 8, "specialVehicles" },
21683 { 10, "emergencyVehicle" },
21684 { 11, "agricultural" },
21690 dissect_cpmv1_VehicleSubclassType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21691 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21692 0U, 255U, NULL
, false);
21698 static const per_sequence_t cpmv1_VehicleSubclass_sequence
[] = {
21699 { &hf_cpmv1_type_01
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_cpmv1_VehicleSubclassType
},
21700 { &hf_cpmv1_confidence_04
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_cpmv1_ClassConfidence
},
21701 { NULL
, 0, 0, NULL
}
21705 dissect_cpmv1_VehicleSubclass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21706 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21707 ett_cpmv1_VehicleSubclass
, cpmv1_VehicleSubclass_sequence
);
21713 static const value_string cpmv1_PersonSubclassType_vals
[] = {
21715 { 1, "pedestrian" },
21716 { 2, "personInWheelchair" },
21718 { 4, "personWithStroller" },
21719 { 5, "personOnSkates" },
21720 { 6, "personGroup" },
21726 dissect_cpmv1_PersonSubclassType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21727 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21728 0U, 255U, NULL
, false);
21734 static const per_sequence_t cpmv1_PersonSubclass_sequence
[] = {
21735 { &hf_cpmv1_type_02
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_cpmv1_PersonSubclassType
},
21736 { &hf_cpmv1_confidence_04
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_cpmv1_ClassConfidence
},
21737 { NULL
, 0, 0, NULL
}
21741 dissect_cpmv1_PersonSubclass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21742 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21743 ett_cpmv1_PersonSubclass
, cpmv1_PersonSubclass_sequence
);
21749 static const value_string cpmv1_AnimalSubclassType_vals
[] = {
21756 dissect_cpmv1_AnimalSubclassType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21757 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21758 0U, 255U, NULL
, false);
21764 static const per_sequence_t cpmv1_AnimalSubclass_sequence
[] = {
21765 { &hf_cpmv1_type_03
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_cpmv1_AnimalSubclassType
},
21766 { &hf_cpmv1_confidence_04
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_cpmv1_ClassConfidence
},
21767 { NULL
, 0, 0, NULL
}
21771 dissect_cpmv1_AnimalSubclass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21772 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21773 ett_cpmv1_AnimalSubclass
, cpmv1_AnimalSubclass_sequence
);
21779 static const value_string cpmv1_OtherSublassType_vals
[] = {
21781 { 1, "roadSideUnit" },
21787 dissect_cpmv1_OtherSublassType(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21788 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21789 0U, 255U, NULL
, false);
21795 static const per_sequence_t cpmv1_OtherSubclass_sequence
[] = {
21796 { &hf_cpmv1_type_04
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_cpmv1_OtherSublassType
},
21797 { &hf_cpmv1_confidence_04
, ASN1_NO_EXTENSIONS
, ASN1_OPTIONAL
, dissect_cpmv1_ClassConfidence
},
21798 { NULL
, 0, 0, NULL
}
21802 dissect_cpmv1_OtherSubclass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21803 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21804 ett_cpmv1_OtherSubclass
, cpmv1_OtherSubclass_sequence
);
21810 static const value_string cpmv1_T_class_vals
[] = {
21818 static const per_choice_t cpmv1_T_class_choice
[] = {
21819 { 0, &hf_cpmv1_vehicle
, ASN1_NO_EXTENSIONS
, dissect_cpmv1_VehicleSubclass
},
21820 { 1, &hf_cpmv1_person
, ASN1_NO_EXTENSIONS
, dissect_cpmv1_PersonSubclass
},
21821 { 2, &hf_cpmv1_animal
, ASN1_NO_EXTENSIONS
, dissect_cpmv1_AnimalSubclass
},
21822 { 3, &hf_cpmv1_other
, ASN1_NO_EXTENSIONS
, dissect_cpmv1_OtherSubclass
},
21823 { 0, NULL
, 0, NULL
}
21827 dissect_cpmv1_T_class(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21828 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
21829 ett_cpmv1_T_class
, cpmv1_T_class_choice
,
21836 static const per_sequence_t cpmv1_ObjectClass_sequence
[] = {
21837 { &hf_cpmv1_confidence_04
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_ClassConfidence
},
21838 { &hf_cpmv1_class
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_T_class
},
21839 { NULL
, 0, 0, NULL
}
21843 dissect_cpmv1_ObjectClass(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21844 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21845 ett_cpmv1_ObjectClass
, cpmv1_ObjectClass_sequence
);
21851 static const per_sequence_t cpmv1_ObjectClassDescription_sequence_of
[1] = {
21852 { &hf_cpmv1_ObjectClassDescription_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_ObjectClass
},
21856 dissect_cpmv1_ObjectClassDescription(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21857 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
21858 ett_cpmv1_ObjectClassDescription
, cpmv1_ObjectClassDescription_sequence_of
,
21865 static const value_string cpmv1_LongitudinalLanePositionValue_vals
[] = {
21866 { 1, "zeroPointOneMeter" },
21872 dissect_cpmv1_LongitudinalLanePositionValue(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21873 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21874 0U, 32767U, NULL
, false);
21880 static const value_string cpmv1_LongitudinalLanePositionConfidence_vals
[] = {
21881 { 1, "zeroPointZeroOneMeter" },
21882 { 100, "oneMeter" },
21883 { 101, "outOfRange" },
21884 { 102, "unavailable" },
21890 dissect_cpmv1_LongitudinalLanePositionConfidence(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21891 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
21892 0U, 102U, NULL
, false);
21898 static const per_sequence_t cpmv1_LongitudinalLanePosition_sequence
[] = {
21899 { &hf_cpmv1_longitudinalLanePositionValue
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_LongitudinalLanePositionValue
},
21900 { &hf_cpmv1_longitudinalLanePositionConfidence
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_LongitudinalLanePositionConfidence
},
21901 { NULL
, 0, 0, NULL
}
21905 dissect_cpmv1_LongitudinalLanePosition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21906 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21907 ett_cpmv1_LongitudinalLanePosition
, cpmv1_LongitudinalLanePosition_sequence
);
21913 static const per_sequence_t cpmv1_MatchedPosition_sequence
[] = {
21914 { &hf_cpmv1_laneID
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_dsrc_LaneID
},
21915 { &hf_cpmv1_longitudinalLanePosition
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_LongitudinalLanePosition
},
21916 { NULL
, 0, 0, NULL
}
21920 dissect_cpmv1_MatchedPosition(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21921 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21922 ett_cpmv1_MatchedPosition
, cpmv1_MatchedPosition_sequence
);
21928 static const per_sequence_t cpmv1_PerceivedObjectv1_sequence
[] = {
21929 { &hf_cpmv1_objectID
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_Identifier
},
21930 { &hf_cpmv1_sensorIDList
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_SensorIdList
},
21931 { &hf_cpmv1_timeOfMeasurement
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_TimeOfMeasurement
},
21932 { &hf_cpmv1_objectAge
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_ObjectAge
},
21933 { &hf_cpmv1_objectConfidence
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_ObjectConfidence
},
21934 { &hf_cpmv1_xDistance
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_ObjectDistanceWithConfidence
},
21935 { &hf_cpmv1_yDistance
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_ObjectDistanceWithConfidence
},
21936 { &hf_cpmv1_zDistance
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_ObjectDistanceWithConfidence
},
21937 { &hf_cpmv1_xSpeed
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_SpeedExtended
},
21938 { &hf_cpmv1_ySpeed
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_SpeedExtended
},
21939 { &hf_cpmv1_zSpeed
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_SpeedExtended
},
21940 { &hf_cpmv1_xAcceleration
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_LongitudinalAcceleration
},
21941 { &hf_cpmv1_yAcceleration
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_LateralAcceleration
},
21942 { &hf_cpmv1_zAcceleration
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_itsv1_VerticalAcceleration
},
21943 { &hf_cpmv1_yawAngle
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_CartesianAngle
},
21944 { &hf_cpmv1_planarObjectDimension1
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_ObjectDimension
},
21945 { &hf_cpmv1_planarObjectDimension2
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_ObjectDimension
},
21946 { &hf_cpmv1_verticalObjectDimension
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_ObjectDimension
},
21947 { &hf_cpmv1_objectRefPoint
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_ObjectRefPoint
},
21948 { &hf_cpmv1_dynamicStatus
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_DynamicStatus
},
21949 { &hf_cpmv1_classification
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_ObjectClassDescription
},
21950 { &hf_cpmv1_matchedPosition
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_MatchedPosition
},
21951 { NULL
, 0, 0, NULL
}
21955 dissect_cpmv1_PerceivedObjectv1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21956 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
21957 ett_cpmv1_PerceivedObjectv1
, cpmv1_PerceivedObjectv1_sequence
);
21963 static const per_sequence_t cpmv1_PerceivedObjectContainerv1_sequence_of
[1] = {
21964 { &hf_cpmv1_PerceivedObjectContainerv1_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_PerceivedObjectv1
},
21968 dissect_cpmv1_PerceivedObjectContainerv1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21969 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
21970 ett_cpmv1_PerceivedObjectContainerv1
, cpmv1_PerceivedObjectContainerv1_sequence_of
,
21977 static const value_string cpmv1_FreeSpaceArea_vals
[] = {
21978 { 0, "freeSpacePolygon" },
21979 { 1, "freeSpaceCircular" },
21980 { 2, "freeSpaceEllipse" },
21981 { 3, "freeSpaceRectangle" },
21985 static const per_choice_t cpmv1_FreeSpaceArea_choice
[] = {
21986 { 0, &hf_cpmv1_freeSpacePolygon
, ASN1_EXTENSION_ROOT
, dissect_cpmv1_AreaPolygon
},
21987 { 1, &hf_cpmv1_freeSpaceCircular
, ASN1_EXTENSION_ROOT
, dissect_cpmv1_AreaCircular
},
21988 { 2, &hf_cpmv1_freeSpaceEllipse
, ASN1_EXTENSION_ROOT
, dissect_cpmv1_AreaEllipse
},
21989 { 3, &hf_cpmv1_freeSpaceRectangle
, ASN1_EXTENSION_ROOT
, dissect_cpmv1_AreaRectangle
},
21990 { 0, NULL
, 0, NULL
}
21994 dissect_cpmv1_FreeSpaceArea(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
21995 offset
= dissect_per_choice(tvb
, offset
, actx
, tree
, hf_index
,
21996 ett_cpmv1_FreeSpaceArea
, cpmv1_FreeSpaceArea_choice
,
22005 dissect_cpmv1_ShadowingApplies(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22006 offset
= dissect_per_boolean(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
22012 static const per_sequence_t cpmv1_FreeSpaceAddendum_sequence
[] = {
22013 { &hf_cpmv1_freeSpaceConfidence
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_FreeSpaceConfidence
},
22014 { &hf_cpmv1_freeSpaceArea
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_FreeSpaceArea
},
22015 { &hf_cpmv1_sensorIDList
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_SensorIdList
},
22016 { &hf_cpmv1_shadowingApplies
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_ShadowingApplies
},
22017 { NULL
, 0, 0, NULL
}
22021 dissect_cpmv1_FreeSpaceAddendum(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22022 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22023 ett_cpmv1_FreeSpaceAddendum
, cpmv1_FreeSpaceAddendum_sequence
);
22029 static const per_sequence_t cpmv1_FreeSpaceAddendumContainer_sequence_of
[1] = {
22030 { &hf_cpmv1_FreeSpaceAddendumContainer_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_FreeSpaceAddendum
},
22034 dissect_cpmv1_FreeSpaceAddendumContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22035 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
22036 ett_cpmv1_FreeSpaceAddendumContainer
, cpmv1_FreeSpaceAddendumContainer_sequence_of
,
22045 dissect_cpmv1_NumberOfPerceivedObjects(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22046 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
22047 0U, 255U, NULL
, false);
22053 static const per_sequence_t cpmv1_CpmParameters_sequence
[] = {
22054 { &hf_cpmv1_managementContainer
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_CpmManagementContainer
},
22055 { &hf_cpmv1_stationDataContainer
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_StationDataContainer
},
22056 { &hf_cpmv1_sensorInformationContainer
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_SensorInformationContainerv1
},
22057 { &hf_cpmv1_perceivedObjectContainer
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_PerceivedObjectContainerv1
},
22058 { &hf_cpmv1_freeSpaceAddendumContainer
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpmv1_FreeSpaceAddendumContainer
},
22059 { &hf_cpmv1_numberOfPerceivedObjects
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_NumberOfPerceivedObjects
},
22060 { NULL
, 0, 0, NULL
}
22064 dissect_cpmv1_CpmParameters(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22065 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22066 ett_cpmv1_CpmParameters
, cpmv1_CpmParameters_sequence
);
22072 static const per_sequence_t cpmv1_CollectivePerceptionMessagev1_sequence
[] = {
22073 { &hf_cpmv1_generationDeltaTime
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_GenerationDeltaTime
},
22074 { &hf_cpmv1_cpmParameters
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpmv1_CpmParameters
},
22075 { NULL
, 0, 0, NULL
}
22079 dissect_cpmv1_CollectivePerceptionMessagev1(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22080 actx
->private_data
= (void*)wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
22081 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "CPMv1");
22082 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "CPMv1");
22083 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22084 ett_cpmv1_CollectivePerceptionMessagev1
, cpmv1_CollectivePerceptionMessagev1_sequence
);
22091 static int dissect_cpmv1_CollectivePerceptionMessagev1_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
22093 asn1_ctx_t asn1_ctx
;
22094 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
22095 offset
= dissect_cpmv1_CollectivePerceptionMessagev1(tvb
, offset
, &asn1_ctx
, tree
, hf_cpmv1_cpmv1_CollectivePerceptionMessagev1_PDU
);
22096 offset
+= 7; offset
>>= 3;
22101 /* --- Module CPM-PDU-Descriptions --- --- --- */
22104 static const per_sequence_t cpm_MessageRateRange_sequence
[] = {
22105 { &hf_cpm_messageRateMin
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_MessageRateHz
},
22106 { &hf_cpm_messageRateMax
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_MessageRateHz
},
22107 { NULL
, 0, 0, NULL
}
22111 dissect_cpm_MessageRateRange(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22112 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22113 ett_cpm_MessageRateRange
, cpm_MessageRateRange_sequence
);
22119 static const per_sequence_t cpm_ManagementContainer_sequence
[] = {
22120 { &hf_cpm_referenceTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_TimestampIts
},
22121 { &hf_cpm_referencePosition
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_itsv1_ReferencePosition
},
22122 { &hf_cpm_segmentationInfo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_MessageSegmentationInfo
},
22123 { &hf_cpm_messageRateRange
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpm_MessageRateRange
},
22124 { NULL
, 0, 0, NULL
}
22128 dissect_cpm_ManagementContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22129 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22130 ett_cpm_ManagementContainer
, cpm_ManagementContainer_sequence
);
22136 static const value_string cpm_CpmContainerId_vals
[] = {
22137 { 1, "originatingVehicleContainer" },
22138 { 2, "originatingRsuContainer" },
22139 { 3, "sensorInformationContainer" },
22140 { 4, "perceptionRegionContainer" },
22141 { 5, "perceivedObjectContainer" },
22147 dissect_cpm_CpmContainerId(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22148 uint32_t CpmContainerId
;
22149 offset
= dissect_per_constrained_integer(tvb
, offset
, actx
, tree
, hf_index
,
22150 1U, 16U, &CpmContainerId
, false);
22152 its_header_t
*its_hdr
= its_get_private_data(actx
->pinfo
);
22153 its_hdr
->CpmContainerId
= CpmContainerId
;
22162 dissect_cpm_T_containerData(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22163 offset
= dissect_per_open_type_pdu_new(tvb
, offset
, actx
, tree
, hf_index
, dissect_cpmcontainers_pdu
);
22169 static const per_sequence_t cpm_WrappedCpmContainer_sequence
[] = {
22170 { &hf_cpm_containerId
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpm_CpmContainerId
},
22171 { &hf_cpm_containerData
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpm_T_containerData
},
22172 { NULL
, 0, 0, NULL
}
22176 dissect_cpm_WrappedCpmContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22177 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22178 ett_cpm_WrappedCpmContainer
, cpm_WrappedCpmContainer_sequence
);
22184 static const per_sequence_t cpm_WrappedCpmContainers_sequence_of
[1] = {
22185 { &hf_cpm_WrappedCpmContainers_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpm_WrappedCpmContainer
},
22189 dissect_cpm_WrappedCpmContainers(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22190 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
22191 ett_cpm_WrappedCpmContainers
, cpm_WrappedCpmContainers_sequence_of
,
22200 dissect_cpm_ConstraintWrappedCpmContainers(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22201 offset
= dissect_cpm_WrappedCpmContainers(tvb
, offset
, actx
, tree
, hf_index
);
22207 static const per_sequence_t cpm_CpmPayload_sequence
[] = {
22208 { &hf_cpm_managementContainer
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpm_ManagementContainer
},
22209 { &hf_cpm_cpmContainers
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpm_ConstraintWrappedCpmContainers
},
22210 { NULL
, 0, 0, NULL
}
22214 dissect_cpm_CpmPayload(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22215 actx
->private_data
= (void*)wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
22216 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "CPM");
22217 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "CPM");
22218 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22219 ett_cpm_CpmPayload
, cpm_CpmPayload_sequence
);
22226 static int dissect_cpm_CpmPayload_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
22228 asn1_ctx_t asn1_ctx
;
22229 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
22230 offset
= dissect_cpm_CpmPayload(tvb
, offset
, &asn1_ctx
, tree
, hf_cpm_cpm_CpmPayload_PDU
);
22231 offset
+= 7; offset
>>= 3;
22236 /* --- Module CPM-PerceivedObjectContainer --- --- --- */
22239 static const per_sequence_t cpm_PerceivedObjects_sequence_of
[1] = {
22240 { &hf_cpm_PerceivedObjects_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_PerceivedObject
},
22244 dissect_cpm_PerceivedObjects(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22245 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
22246 ett_cpm_PerceivedObjects
, cpm_PerceivedObjects_sequence_of
,
22253 static const per_sequence_t cpm_PerceivedObjectContainer_sequence
[] = {
22254 { &hf_cpm_numberOfPerceivedObjects
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_CardinalNumber1B
},
22255 { &hf_cpm_perceivedObjects
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpm_PerceivedObjects
},
22256 { NULL
, 0, 0, NULL
}
22260 dissect_cpm_PerceivedObjectContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22261 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22262 ett_cpm_PerceivedObjectContainer
, cpm_PerceivedObjectContainer_sequence
);
22269 static int dissect_cpm_PerceivedObjectContainer_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
22271 asn1_ctx_t asn1_ctx
;
22272 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
22273 offset
= dissect_cpm_PerceivedObjectContainer(tvb
, offset
, &asn1_ctx
, tree
, hf_cpm_cpm_PerceivedObjectContainer_PDU
);
22274 offset
+= 7; offset
>>= 3;
22279 /* --- Module CPM-PerceptionRegionContainer --- --- --- */
22284 dissect_cpm_T_PerceptionRegionShadowingApplies(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22285 offset
= dissect_per_boolean(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
22293 dissect_cpm_T_PerceptionRegionNumberOfPerceivedObjects(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22294 offset
= dissect_its_CardinalNumber1B(tvb
, offset
, actx
, tree
, hf_index
);
22300 static const per_sequence_t cpm_PerceivedObjectIds_sequence_of
[1] = {
22301 { &hf_cpm_PerceivedObjectIds_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_Identifier2B
},
22305 dissect_cpm_PerceivedObjectIds(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22306 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
22307 ett_cpm_PerceivedObjectIds
, cpm_PerceivedObjectIds_sequence_of
,
22314 static const per_sequence_t cpm_PerceptionRegion_sequence
[] = {
22315 { &hf_cpm_measurementDeltaTime
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_DeltaTimeMilliSecondSigned
},
22316 { &hf_cpm_perceptionRegionPerceptionRegionConfidence
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_ConfidenceLevel
},
22317 { &hf_cpm_perceptionRegionPerceptionRegionShape
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Shape
},
22318 { &hf_cpm_perceptionRegionShadowingApplies
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpm_T_PerceptionRegionShadowingApplies
},
22319 { &hf_cpm_sensorIdList
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_SequenceOfIdentifier1B
},
22320 { &hf_cpm_perceptionRegionNumberOfPerceivedObjects
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpm_T_PerceptionRegionNumberOfPerceivedObjects
},
22321 { &hf_cpm_perceivedObjectIds
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_cpm_PerceivedObjectIds
},
22322 { NULL
, 0, 0, NULL
}
22326 dissect_cpm_PerceptionRegion(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22327 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22328 ett_cpm_PerceptionRegion
, cpm_PerceptionRegion_sequence
);
22334 static const per_sequence_t cpm_PerceptionRegionContainer_sequence_of
[1] = {
22335 { &hf_cpm_PerceptionRegionContainer_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpm_PerceptionRegion
},
22339 dissect_cpm_PerceptionRegionContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22340 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
22341 ett_cpm_PerceptionRegionContainer
, cpm_PerceptionRegionContainer_sequence_of
,
22349 static int dissect_cpm_PerceptionRegionContainer_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
22351 asn1_ctx_t asn1_ctx
;
22352 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
22353 offset
= dissect_cpm_PerceptionRegionContainer(tvb
, offset
, &asn1_ctx
, tree
, hf_cpm_cpm_PerceptionRegionContainer_PDU
);
22354 offset
+= 7; offset
>>= 3;
22359 /* --- Module CPM-SensorInformationContainer --- --- --- */
22364 dissect_cpm_BOOLEAN(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22365 offset
= dissect_per_boolean(tvb
, offset
, actx
, tree
, hf_index
, NULL
);
22371 static const per_sequence_t cpm_SensorInformation_sequence
[] = {
22372 { &hf_cpm_sensorId
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Identifier1B
},
22373 { &hf_cpm_sensorType
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_SensorType
},
22374 { &hf_cpm_perceptionRegionShape
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Shape
},
22375 { &hf_cpm_perceptionRegionConfidence
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ConfidenceLevel
},
22376 { &hf_cpm_shadowingApplies
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_cpm_BOOLEAN
},
22377 { NULL
, 0, 0, NULL
}
22381 dissect_cpm_SensorInformation(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22382 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22383 ett_cpm_SensorInformation
, cpm_SensorInformation_sequence
);
22389 static const per_sequence_t cpm_SensorInformationContainer_sequence_of
[1] = {
22390 { &hf_cpm_SensorInformationContainer_item
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_cpm_SensorInformation
},
22394 dissect_cpm_SensorInformationContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22395 offset
= dissect_per_constrained_sequence_of(tvb
, offset
, actx
, tree
, hf_index
,
22396 ett_cpm_SensorInformationContainer
, cpm_SensorInformationContainer_sequence_of
,
22404 static int dissect_cpm_SensorInformationContainer_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
22406 asn1_ctx_t asn1_ctx
;
22407 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
22408 offset
= dissect_cpm_SensorInformationContainer(tvb
, offset
, &asn1_ctx
, tree
, hf_cpm_cpm_SensorInformationContainer_PDU
);
22409 offset
+= 7; offset
>>= 3;
22414 /* --- Module VAM-PDU-Descriptions --- --- --- */
22417 static const per_sequence_t vam_VruHighFrequencyContainer_sequence
[] = {
22418 { &hf_vam_heading
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Wgs84Angle
},
22419 { &hf_vam_speed
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_Speed
},
22420 { &hf_vam_longitudinalAcceleration
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_LongitudinalAcceleration
},
22421 { &hf_vam_curvature
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Curvature
},
22422 { &hf_vam_curvatureCalculationMode
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_CurvatureCalculationMode
},
22423 { &hf_vam_yawRate
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_YawRate
},
22424 { &hf_vam_lateralAcceleration
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_LateralAcceleration
},
22425 { &hf_vam_verticalAcceleration
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_VerticalAcceleration
},
22426 { &hf_vam_vruLanePosition
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_GeneralizedLanePosition
},
22427 { &hf_vam_environment
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_VruEnvironment
},
22428 { &hf_vam_movementControl
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_VruMovementControl
},
22429 { &hf_vam_orientation
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_Wgs84Angle
},
22430 { &hf_vam_rollAngle
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_CartesianAngle
},
22431 { &hf_vam_deviceUsage
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_VruDeviceUsage
},
22432 { NULL
, 0, 0, NULL
}
22436 dissect_vam_VruHighFrequencyContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22437 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22438 ett_vam_VruHighFrequencyContainer
, vam_VruHighFrequencyContainer_sequence
);
22444 static const per_sequence_t vam_VruLowFrequencyContainer_sequence
[] = {
22445 { &hf_vam_profileAndSubprofile
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_VruProfileAndSubprofile
},
22446 { &hf_vam_sizeClass
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_VruSizeClass
},
22447 { &hf_vam_exteriorLights
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_VruExteriorLights
},
22448 { NULL
, 0, 0, NULL
}
22452 dissect_vam_VruLowFrequencyContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22453 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22454 ett_vam_VruLowFrequencyContainer
, vam_VruLowFrequencyContainer_sequence
);
22460 static const per_sequence_t vam_VruClusterInformationContainer_sequence
[] = {
22461 { &hf_vam_vruClusterInformation
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_VruClusterInformation
},
22462 { NULL
, 0, 0, NULL
}
22466 dissect_vam_VruClusterInformationContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22467 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22468 ett_vam_VruClusterInformationContainer
, vam_VruClusterInformationContainer_sequence
);
22474 static const per_sequence_t vam_VruClusterOperationContainer_sequence
[] = {
22475 { &hf_vam_clusterJoinInfo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ClusterJoinInfo
},
22476 { &hf_vam_clusterLeaveInfo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ClusterLeaveInfo
},
22477 { &hf_vam_clusterBreakupInfo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_ClusterBreakupInfo
},
22478 { &hf_vam_clusterIdChangeTimeInfo
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_DeltaTimeQuarterSecond
},
22479 { NULL
, 0, 0, NULL
}
22483 dissect_vam_VruClusterOperationContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22484 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22485 ett_vam_VruClusterOperationContainer
, vam_VruClusterOperationContainer_sequence
);
22491 static const per_sequence_t vam_VruMotionPredictionContainer_sequence
[] = {
22492 { &hf_vam_pathHistory
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_PathHistory
},
22493 { &hf_vam_pathPrediction
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_PathPredicted
},
22494 { &hf_vam_safeDistance
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_SequenceOfSafeDistanceIndication
},
22495 { &hf_vam_trajectoryInterceptionIndication
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_SequenceOfTrajectoryInterceptionIndication
},
22496 { &hf_vam_accelerationChangeIndication
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_AccelerationChangeIndication
},
22497 { &hf_vam_headingChangeIndication
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_HeadingChangeIndication
},
22498 { &hf_vam_stabilityChangeIndication
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_its_StabilityChangeIndication
},
22499 { NULL
, 0, 0, NULL
}
22503 dissect_vam_VruMotionPredictionContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22504 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22505 ett_vam_VruMotionPredictionContainer
, vam_VruMotionPredictionContainer_sequence
);
22511 static const per_sequence_t vam_VamParameters_sequence
[] = {
22512 { &hf_vam_basicContainer
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_BasicContainer
},
22513 { &hf_vam_vruHighFrequencyContainer
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_vam_VruHighFrequencyContainer
},
22514 { &hf_vam_vruLowFrequencyContainer
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_vam_VruLowFrequencyContainer
},
22515 { &hf_vam_vruClusterInformationContainer
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_vam_VruClusterInformationContainer
},
22516 { &hf_vam_vruClusterOperationContainer
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_vam_VruClusterOperationContainer
},
22517 { &hf_vam_vruMotionPredictionContainer
, ASN1_EXTENSION_ROOT
, ASN1_OPTIONAL
, dissect_vam_VruMotionPredictionContainer
},
22518 { NULL
, 0, 0, NULL
}
22522 dissect_vam_VamParameters(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22523 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22524 ett_vam_VamParameters
, vam_VamParameters_sequence
);
22530 static const per_sequence_t vam_VruAwareness_sequence
[] = {
22531 { &hf_vam_generationDeltaTime
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_GenerationDeltaTime
},
22532 { &hf_vam_vamParameters
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_vam_VamParameters
},
22533 { NULL
, 0, 0, NULL
}
22537 dissect_vam_VruAwareness(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22538 actx
->private_data
= (void*)wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
22539 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "VAM");
22540 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "VAM");
22541 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22542 ett_vam_VruAwareness
, vam_VruAwareness_sequence
);
22549 static int dissect_vam_VruAwareness_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
22551 asn1_ctx_t asn1_ctx
;
22552 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
22553 offset
= dissect_vam_VruAwareness(tvb
, offset
, &asn1_ctx
, tree
, hf_vam_vam_VruAwareness_PDU
);
22554 offset
+= 7; offset
>>= 3;
22559 /* --- Module IMZM-PDU-Descriptions --- --- --- */
22562 static const per_sequence_t imzm_ImzmContainer_sequence
[] = {
22563 { &hf_imzm_interferenceManagementZones
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_InterferenceManagementZones
},
22564 { NULL
, 0, 0, NULL
}
22568 dissect_imzm_ImzmContainer(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22569 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22570 ett_imzm_ImzmContainer
, imzm_ImzmContainer_sequence
);
22576 static const per_sequence_t imzm_ImzmParameters_sequence
[] = {
22577 { &hf_imzm_basicContainer
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_its_BasicContainer
},
22578 { &hf_imzm_imzmContainer
, ASN1_EXTENSION_ROOT
, ASN1_NOT_OPTIONAL
, dissect_imzm_ImzmContainer
},
22579 { NULL
, 0, 0, NULL
}
22583 dissect_imzm_ImzmParameters(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22584 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22585 ett_imzm_ImzmParameters
, imzm_ImzmParameters_sequence
);
22591 static const per_sequence_t imzm_InterferenceManagementZoneMessage_sequence
[] = {
22592 { &hf_imzm_generationDeltaTime
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_its_GenerationDeltaTime
},
22593 { &hf_imzm_imzmParameters
, ASN1_NO_EXTENSIONS
, ASN1_NOT_OPTIONAL
, dissect_imzm_ImzmParameters
},
22594 { NULL
, 0, 0, NULL
}
22598 dissect_imzm_InterferenceManagementZoneMessage(tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
22599 actx
->private_data
= (void*)wmem_new0(actx
->pinfo
->pool
, its_private_data_t
);
22600 col_set_str(actx
->pinfo
->cinfo
, COL_PROTOCOL
, "IMZM");
22601 col_set_str(actx
->pinfo
->cinfo
, COL_INFO
, "IMZM");
22602 offset
= dissect_per_sequence(tvb
, offset
, actx
, tree
, hf_index
,
22603 ett_imzm_InterferenceManagementZoneMessage
, imzm_InterferenceManagementZoneMessage_sequence
);
22610 static int dissect_imzm_InterferenceManagementZoneMessage_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
22612 asn1_ctx_t asn1_ctx
;
22613 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_PER
, false, pinfo
);
22614 offset
= dissect_imzm_InterferenceManagementZoneMessage(tvb
, offset
, &asn1_ctx
, tree
, hf_imzm_imzm_InterferenceManagementZoneMessage_PDU
);
22615 offset
+= 7; offset
>>= 3;
22621 its_latitude_fmt(char *s
, uint32_t v
)
22623 int32_t lat
= (int32_t)v
;
22624 if (lat
== 900000001) {
22625 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", lat
);
22627 snprintf(s
, ITEM_LABEL_LENGTH
, "%u°%u'%.3f\"%c (%d)",
22628 abs(lat
) / 10000000,
22629 abs(lat
) % 10000000 * 6 / 1000000,
22630 abs(lat
) % 10000000 * 6 % 1000000 * 6.0 / 100000.0,
22631 (lat
>= 0) ? 'N' : 'S',
22637 its_longitude_fmt(char *s
, uint32_t v
)
22639 int32_t lng
= (int32_t)v
;
22640 if (lng
== 1800000001) {
22641 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", lng
);
22643 snprintf(s
, ITEM_LABEL_LENGTH
, "%u°%u'%.3f\"%c (%d)",
22644 abs(lng
) / 10000000,
22645 abs(lng
) % 10000000 * 6 / 1000000,
22646 abs(lng
) % 10000000 * 6 % 1000000 * 6.0 / 100000.0,
22647 (lng
>= 0) ? 'E' : 'W',
22653 its_altitude_fmt(char *s
, uint32_t v
)
22655 int32_t alt
= (int32_t)v
;
22656 if (alt
== 800001) {
22657 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", alt
);
22659 snprintf(s
, ITEM_LABEL_LENGTH
, "%.2fm (%d)", alt
* 0.01, alt
);
22664 its_delta_latitude_fmt(char *s
, uint32_t v
)
22666 int32_t lat
= (int32_t)v
;
22667 if (lat
== 131072) {
22668 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", lat
);
22670 snprintf(s
, ITEM_LABEL_LENGTH
, "%u°%u'%.3f\"%c (%d)",
22671 abs(lat
) / 10000000,
22672 abs(lat
) % 10000000 * 6 / 1000000,
22673 abs(lat
) % 10000000 * 6 % 1000000 * 6.0 / 100000.0,
22674 (lat
>= 0) ? 'N' : 'S',
22680 its_delta_longitude_fmt(char *s
, uint32_t v
)
22682 int32_t lng
= (int32_t)v
;
22683 if (lng
== 131072) {
22684 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", lng
);
22686 snprintf(s
, ITEM_LABEL_LENGTH
, "%u°%u'%.3f\"%c (%d)",
22687 abs(lng
) / 10000000,
22688 abs(lng
) % 10000000 * 6 / 1000000,
22689 abs(lng
) % 10000000 * 6 % 1000000 * 6.0 / 100000.0,
22690 (lng
>= 0) ? 'E' : 'W',
22696 its_delta_altitude_fmt(char *s
, uint32_t v
)
22698 int32_t alt
= (int32_t)v
;
22699 if (alt
== 12800) {
22700 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", alt
);
22702 snprintf(s
, ITEM_LABEL_LENGTH
, "%.2fm (%d)", alt
* 0.01, alt
);
22707 its_path_delta_time_fmt(char *s
, uint32_t v
)
22709 int32_t dt
= (int32_t)v
;
22710 snprintf(s
, ITEM_LABEL_LENGTH
, "%.2fs (%d)", dt
* 0.01, dt
);
22715 its_sax_length_fmt(char *s
, uint32_t v
)
22718 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
22719 } else if (v
== 4094) {
22720 snprintf(s
, ITEM_LABEL_LENGTH
, "outOfRange (%d)", v
);
22722 snprintf(s
, ITEM_LABEL_LENGTH
, "%.2fm (%d)", v
* 0.01, v
);
22727 its_heading_value_fmt(char *s
, uint32_t v
)
22729 const char *p
= try_val_to_str(v
, VALS(its_HeadingValue_vals
));
22731 snprintf(s
, ITEM_LABEL_LENGTH
, "%s (%d)", p
, v
);
22733 snprintf(s
, ITEM_LABEL_LENGTH
, "%.1f° (%d)", v
* 0.1, v
);
22738 its_heading_confidence_fmt(char *s
, uint32_t v
)
22741 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
22742 } else if (v
== 126) {
22743 snprintf(s
, ITEM_LABEL_LENGTH
, "outOfRange (%d)", v
);
22745 snprintf(s
, ITEM_LABEL_LENGTH
, "%.1f° (%d)", v
* 0.1, v
);
22750 its_speed_value_fmt(char *s
, uint32_t v
)
22753 snprintf(s
, ITEM_LABEL_LENGTH
, "standstill (%d)", v
);
22754 } else if (v
== 16383) {
22755 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
22757 double vms
= v
* 0.01;
22758 snprintf(s
, ITEM_LABEL_LENGTH
, "%.2fm/s = %.1fkm/h (%d)",
22759 vms
, vms
* 3.6, v
);
22764 its_speed_confidence_fmt(char *s
, uint32_t v
)
22767 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
22768 } else if (v
== 126) {
22769 snprintf(s
, ITEM_LABEL_LENGTH
, "outOfRange (%d)", v
);
22771 snprintf(s
, ITEM_LABEL_LENGTH
, "%.2fm/s (%d)", v
* 0.01, v
);
22776 its_speed_limit_fmt(char *s
, uint32_t v
)
22778 snprintf(s
, ITEM_LABEL_LENGTH
, "%dkm/h (%d)", v
, v
);
22782 its_vehicle_length_value_fmt(char *s
, uint32_t v
)
22785 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
22786 } else if (v
== 1022) {
22787 snprintf(s
, ITEM_LABEL_LENGTH
, "outOfRange (%d)", v
);
22789 snprintf(s
, ITEM_LABEL_LENGTH
, "%.1fm (%d)", v
* 0.1, v
);
22794 its_vehicle_width_fmt(char *s
, uint32_t v
)
22797 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
22798 } else if (v
== 61) {
22799 snprintf(s
, ITEM_LABEL_LENGTH
, "outOfRange (%d)", v
);
22801 snprintf(s
, ITEM_LABEL_LENGTH
, "%.1fm (%d)", v
* 0.1, v
);
22806 its_acceleration_value_fmt(char *s
, uint32_t v
)
22808 int32_t acc
= (int32_t)v
;
22810 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
22812 snprintf(s
, ITEM_LABEL_LENGTH
, "%.1fm/s² (%d)", acc
* 0.1, acc
);
22817 its_acceleration_confidence_fmt(char *s
, uint32_t v
)
22820 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
22821 } else if (v
== 101) {
22822 snprintf(s
, ITEM_LABEL_LENGTH
, "outOfRange (%d)", v
);
22824 snprintf(s
, ITEM_LABEL_LENGTH
, "%.1fm/s² (%d)", v
* 0.1, v
);
22829 its_curvature_value_fmt(char *s
, uint32_t v
)
22831 int32_t curv
= (int32_t)v
;
22833 snprintf(s
, ITEM_LABEL_LENGTH
, "straight (%d)", v
);
22834 } else if (curv
== 30001) {
22835 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
22837 snprintf(s
, ITEM_LABEL_LENGTH
, "%.3fm %s (%d)",
22839 (curv
> 0) ? "left" : "right",
22845 its_yaw_rate_value_fmt(char *s
, uint32_t v
)
22847 int32_t yaw
= (int32_t)v
;
22849 snprintf(s
, ITEM_LABEL_LENGTH
, "straight (%d)", v
);
22850 } else if (yaw
== 32767) {
22851 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
22853 snprintf(s
, ITEM_LABEL_LENGTH
, "%.2f°/s %s (%d)",
22855 (yaw
> 0) ? "left" : "right",
22861 its_swa_value_fmt(char *s
, uint32_t v
)
22863 int32_t swa
= (int32_t)v
;
22865 snprintf(s
, ITEM_LABEL_LENGTH
, "straight (%d)", v
);
22866 } else if (swa
== 512) {
22867 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
22869 snprintf(s
, ITEM_LABEL_LENGTH
, "%.1f° %s (%d)",
22871 (swa
> 0) ? "left" : "right",
22877 its_swa_confidence_fmt(char *s
, uint32_t v
)
22880 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
22881 } else if (v
== 126) {
22882 snprintf(s
, ITEM_LABEL_LENGTH
, "outOfRange (%d)", v
);
22884 snprintf(s
, ITEM_LABEL_LENGTH
, "%.1f° (%d)", v
* 1.5, v
);
22889 dsrc_moi_fmt(char *s
, uint32_t v
)
22892 snprintf(s
, ITEM_LABEL_LENGTH
, "invalid (%d)", v
);
22894 snprintf(s
, ITEM_LABEL_LENGTH
, "%ud %02u:%02u (%d)",
22895 v
/ 1440, v
% 1440 / 60, v
% 60, v
);
22900 dsrc_dsecond_fmt(char *s
, uint32_t v
)
22903 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
22904 } else if ((61000 <= v
) && (v
<= 65534)) {
22905 snprintf(s
, ITEM_LABEL_LENGTH
, "reserved (%d)", v
);
22907 snprintf(s
, ITEM_LABEL_LENGTH
, "%02u.%03u (%d)",
22908 v
/ 1000, v
% 1000, v
);
22913 dsrc_time_mark_fmt(char *s
, uint32_t v
)
22916 snprintf(s
, ITEM_LABEL_LENGTH
, "unknown (%d)", v
);
22917 } else if (v
== 36000) {
22918 snprintf(s
, ITEM_LABEL_LENGTH
, "moreThanHour (%d)", v
);
22920 snprintf(s
, ITEM_LABEL_LENGTH
, "%02u:%02u.%u (%d)",
22921 v
/ 600, v
% 600 / 10, v
% 10, v
);
22926 its_timestamp_fmt(char *s
, uint64_t v
)
22928 time_t secs
= v
/ 1000 + 1072915200 - 5;
22929 struct tm
*tm
= gmtime(&secs
);
22930 snprintf(s
, ITEM_LABEL_LENGTH
, "%u-%02u-%02u %02u:%02u:%02u.%03u (%" PRIu64
")",
22931 tm
->tm_year
+ 1900, tm
->tm_mon
+ 1, tm
->tm_mday
, tm
->tm_hour
, tm
->tm_min
, tm
->tm_sec
, (uint32_t)(v
% 1000), v
22936 its_validity_duration_fmt(char *s
, uint32_t v
)
22938 snprintf(s
, ITEM_LABEL_LENGTH
, "%02u:%02u:%02u (%d)",
22939 v
/ 3600, v
% 3600 / 60, v
% 60, v
);
22942 static const value_string dsrc_TimeIntervalConfidence_vals
[] = {
22943 { 0, "21% probability" },
22944 { 1, "36% probability" },
22945 { 2, "47% probability" },
22946 { 3, "56% probability" },
22947 { 4, "62% probability" },
22948 { 5, "68% probability" },
22949 { 6, "73% probability" },
22950 { 7, "77% probability" },
22951 { 8, "81% probability" },
22952 { 9, "85% probability" },
22953 { 10, "88% probability" },
22954 { 11, "91% probability" },
22955 { 12, "94% probability" },
22956 { 13, "96% probability" },
22957 { 14, "98% probability" },
22958 { 15, "10% probability" },
22963 dsrc_velocity_fmt(char *s
, uint32_t v
)
22966 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
22968 double vms
= v
* 0.02;
22969 snprintf(s
, ITEM_LABEL_LENGTH
, "%.2fm/s = %ukm/h (%d)",
22970 vms
, (int)lround(vms
* 3.6), v
);
22975 dsrc_angle_fmt(char *s
, uint32_t v
)
22977 snprintf(s
, ITEM_LABEL_LENGTH
, "%.2f° (%d)", v
* 0.0125, v
);
22981 dsrc_delta_time_fmt(char *s
, uint32_t v
)
22983 int32_t dt
= (int32_t)v
;
22985 snprintf(s
, ITEM_LABEL_LENGTH
, "unknown (%d)", dt
);
22986 } else if (dt
== -121) {
22987 snprintf(s
, ITEM_LABEL_LENGTH
, "moreThanMinus20Minutes (%d)", dt
);
22988 } else if (dt
== 121) {
22989 snprintf(s
, ITEM_LABEL_LENGTH
, "moreThanPlus20Minutes (%d)", dt
);
22991 snprintf(s
, ITEM_LABEL_LENGTH
, "%s%d:%02u (%d)",
22992 (dt
< 0) ? "-" : "", abs(dt
) / 6, abs(dt
) % 6 * 10, dt
);
22997 cpm_general_confidence_fmt(gchar
* s
, guint32 v
)
23000 snprintf(s
, ITEM_LABEL_LENGTH
, "unknown (%u)", v
);
23002 else if (v
== 101) {
23003 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%u)", v
);
23006 snprintf(s
, ITEM_LABEL_LENGTH
, "%u%% (%u)", v
, v
);
23011 cpm_distance_value_fmt(gchar
* s
, guint32 v
)
23013 gint32 sv
= (gint32
)v
;
23014 snprintf(s
, ITEM_LABEL_LENGTH
, "%.2fm (%d)", sv
* 0.01, sv
);
23018 cpm_distance_confidence_fmt(gchar
* s
, guint32 v
)
23021 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
23023 else if (v
== 101) {
23024 snprintf(s
, ITEM_LABEL_LENGTH
, "outOfRange (%d)", v
);
23027 snprintf(s
, ITEM_LABEL_LENGTH
, "%.2fm (%d)", v
* 0.01, v
);
23032 cpm_speed_value_ext_fmt(gchar
* s
, guint32 v
)
23034 gint32 sv
= (gint32
)v
;
23036 snprintf(s
, ITEM_LABEL_LENGTH
, "standstill (%d)", sv
);
23038 else if (sv
== 16383) {
23039 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", sv
);
23042 double vms
= sv
* 0.01;
23043 snprintf(s
, ITEM_LABEL_LENGTH
, "%.2fm/s = %.1fkm/h (%d)",
23044 vms
, vms
* 3.6, sv
);
23049 cpm_cartesian_angle_value_fmt(gchar
* s
, guint32 v
)
23052 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
23055 snprintf(s
, ITEM_LABEL_LENGTH
, "%.1f° (%d)", v
* 0.1, v
);
23060 cpm_angle_confidence_fmt(gchar
* s
, guint32 v
)
23063 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
23065 else if (v
== 126) {
23066 snprintf(s
, ITEM_LABEL_LENGTH
, "outOfRange (%d)", v
);
23069 snprintf(s
, ITEM_LABEL_LENGTH
, "%.1f° (%d)", v
* 0.1, v
);
23074 cpm_object_dimension_value_fmt(char *s
, uint32_t v
)
23076 snprintf(s
, ITEM_LABEL_LENGTH
, "%.1fm (%d)", v
* 0.1, v
);
23080 cpm_object_dimension_confidence_fmt(char *s
, uint32_t v
)
23083 snprintf(s
, ITEM_LABEL_LENGTH
, "unavailable (%d)", v
);
23084 } else if (v
== 31) {
23085 snprintf(s
, ITEM_LABEL_LENGTH
, "outOfRange (%d)", v
);
23087 snprintf(s
, ITEM_LABEL_LENGTH
, "%.2fm (%d)", v
* 0.01, v
);
23092 dissect_its_PDU(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data
)
23094 proto_item
*its_item
;
23095 proto_tree
*its_tree
;
23097 col_set_str(pinfo
->cinfo
, COL_PROTOCOL
, "ITS");
23098 col_clear(pinfo
->cinfo
, COL_INFO
);
23100 its_item
= proto_tree_add_item(tree
, proto_its
, tvb
, 0, -1, ENC_NA
);
23101 its_tree
= proto_item_add_subtree(its_item
, ett_its
);
23103 return dissect_its_ItsPduHeader_PDU(tvb
, pinfo
, its_tree
, data
);
23108 its_msgid_prompt(packet_info
*pinfo
, char *result
)
23110 uint32_t msgid
= GPOINTER_TO_UINT(p_get_proto_data(pinfo
->pool
, pinfo
, hf_its_messageId
, pinfo
->curr_layer_num
));
23112 snprintf(result
, MAX_DECODE_AS_PROMPT_LEN
, "MsgId (%s%u)", UTF8_RIGHTWARDS_ARROW
, msgid
);
23116 its_msgid_value(packet_info
*pinfo
)
23118 return p_get_proto_data(pinfo
->pool
, pinfo
, hf_its_messageId
, pinfo
->curr_layer_num
);
23121 // Registration of protocols
23122 void proto_register_its(void)
23124 static hf_register_info hf_its
[] = {
23126 /* --- Module ETSI-ITS-CDD --- --- --- */
23128 { &hf_its_its_ItsPduHeader_PDU
,
23129 { "ItsPduHeader", "its.ItsPduHeader_element",
23130 FT_NONE
, BASE_NONE
, NULL
, 0,
23132 { &hf_its_polarAcceleration
,
23133 { "polarAcceleration", "its.polarAcceleration_element",
23134 FT_NONE
, BASE_NONE
, NULL
, 0,
23135 "AccelerationPolarWithZ", HFILL
}},
23136 { &hf_its_cartesianAcceleration
,
23137 { "cartesianAcceleration", "its.cartesianAcceleration_element",
23138 FT_NONE
, BASE_NONE
, NULL
, 0,
23139 "AccelerationCartesian", HFILL
}},
23140 { &hf_its_accelerationMagnitude
,
23141 { "accelerationMagnitude", "its.accelerationMagnitude_element",
23142 FT_NONE
, BASE_NONE
, NULL
, 0,
23144 { &hf_its_accelerationDirection
,
23145 { "accelerationDirection", "its.accelerationDirection_element",
23146 FT_NONE
, BASE_NONE
, NULL
, 0,
23147 "CartesianAngle", HFILL
}},
23148 { &hf_its_zAcceleration
,
23149 { "zAcceleration", "its.zAcceleration_element",
23150 FT_NONE
, BASE_NONE
, NULL
, 0,
23151 "AccelerationComponent", HFILL
}},
23152 { &hf_its_xAcceleration
,
23153 { "xAcceleration", "its.xAcceleration_element",
23154 FT_NONE
, BASE_NONE
, NULL
, 0,
23155 "AccelerationComponent", HFILL
}},
23156 { &hf_its_yAcceleration
,
23157 { "yAcceleration", "its.yAcceleration_element",
23158 FT_NONE
, BASE_NONE
, NULL
, 0,
23159 "AccelerationComponent", HFILL
}},
23161 { "value", "its.value",
23162 FT_INT32
, BASE_DEC
, VALS(its_AccelerationValue_vals
), 0,
23163 "AccelerationValue", HFILL
}},
23164 { &hf_its_confidence
,
23165 { "confidence", "its.confidence",
23166 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_acceleration_confidence_fmt
), 0,
23167 "AccelerationConfidence", HFILL
}},
23168 { &hf_its_accelOrDecel
,
23169 { "accelOrDecel", "its.accelOrDecel",
23170 FT_UINT32
, BASE_DEC
, VALS(its_AccelerationChange_vals
), 0,
23171 "AccelerationChange", HFILL
}},
23172 { &hf_its_actionDeltaTime
,
23173 { "actionDeltaTime", "its.actionDeltaTime",
23174 FT_UINT32
, BASE_DEC
, VALS(its_DeltaTimeTenthOfSecond_vals
), 0,
23175 "DeltaTimeTenthOfSecond", HFILL
}},
23176 { &hf_its_accelerationMagnitudeValue
,
23177 { "accelerationMagnitudeValue", "its.accelerationMagnitudeValue",
23178 FT_UINT32
, BASE_DEC
, VALS(its_AccelerationMagnitudeValue_vals
), 0,
23180 { &hf_its_accelerationConfidence
,
23181 { "accelerationConfidence", "its.accelerationConfidence",
23182 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_acceleration_confidence_fmt
), 0,
23184 { &hf_its_originatingStationId
,
23185 { "originatingStationId", "its.originatingStationId",
23186 FT_UINT32
, BASE_DEC
, NULL
, 0,
23187 "StationId", HFILL
}},
23188 { &hf_its_sequenceNumber
,
23189 { "sequenceNumber", "its.sequenceNumber",
23190 FT_UINT32
, BASE_DEC
, NULL
, 0,
23192 { &hf_its_originatingStationId_01
,
23193 { "originatingStationId", "its.originatingStationId",
23194 FT_UINT32
, BASE_DEC
, NULL
, 0,
23195 "StationID", HFILL
}},
23196 { &hf_its_ActionIdList_item
,
23197 { "ActionId", "its.ActionId_element",
23198 FT_NONE
, BASE_NONE
, NULL
, 0,
23200 { &hf_its_altitudeValue
,
23201 { "altitudeValue", "its.altitudeValue",
23202 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_altitude_fmt
), 0,
23204 { &hf_its_altitudeConfidence
,
23205 { "altitudeConfidence", "its.altitudeConfidence",
23206 FT_UINT32
, BASE_DEC
, VALS(its_AltitudeConfidence_vals
), 0,
23208 { &hf_its_stationType
,
23209 { "stationType", "its.stationType",
23210 FT_UINT32
, BASE_DEC
, VALS(its_TrafficParticipantType_vals
), 0,
23211 "TrafficParticipantType", HFILL
}},
23212 { &hf_its_referencePosition
,
23213 { "referencePosition", "its.referencePosition_element",
23214 FT_NONE
, BASE_NONE
, NULL
, 0,
23215 "ReferencePositionWithConfidence", HFILL
}},
23216 { &hf_its_value_01
,
23217 { "value", "its.value",
23218 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_cartesian_angle_value_fmt
), 0,
23219 "CartesianAngleValue", HFILL
}},
23220 { &hf_its_confidence_01
,
23221 { "confidence", "its.confidence",
23222 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_angle_confidence_fmt
), 0,
23223 "AngleConfidence", HFILL
}},
23224 { &hf_its_value_02
,
23225 { "value", "its.value",
23226 FT_INT32
, BASE_DEC
, VALS(its_CartesianAngularVelocityComponentValue_vals
), 0,
23227 "CartesianAngularVelocityComponentValue", HFILL
}},
23228 { &hf_its_confidence_02
,
23229 { "confidence", "its.confidence",
23230 FT_UINT32
, BASE_DEC
, VALS(its_AngularSpeedConfidence_vals
), 0,
23231 "AngularSpeedConfidence", HFILL
}},
23232 { &hf_its_value_03
,
23233 { "value", "its.value",
23234 FT_INT32
, BASE_DEC
, VALS(its_CartesianCoordinateLarge_vals
), 0,
23235 "CartesianCoordinateLarge", HFILL
}},
23236 { &hf_its_confidence_03
,
23237 { "confidence", "its.confidence",
23238 FT_UINT32
, BASE_DEC
, VALS(its_CoordinateConfidence_vals
), 0,
23239 "CoordinateConfidence", HFILL
}},
23240 { &hf_its_xCoordinate
,
23241 { "xCoordinate", "its.xCoordinate",
23242 FT_INT32
, BASE_DEC
, VALS(its_CartesianCoordinate_vals
), 0,
23243 "CartesianCoordinate", HFILL
}},
23244 { &hf_its_yCoordinate
,
23245 { "yCoordinate", "its.yCoordinate",
23246 FT_INT32
, BASE_DEC
, VALS(its_CartesianCoordinate_vals
), 0,
23247 "CartesianCoordinate", HFILL
}},
23248 { &hf_its_zCoordinate
,
23249 { "zCoordinate", "its.zCoordinate",
23250 FT_INT32
, BASE_DEC
, VALS(its_CartesianCoordinate_vals
), 0,
23251 "CartesianCoordinate", HFILL
}},
23252 { &hf_its_xCoordinate_01
,
23253 { "xCoordinate", "its.xCoordinate_element",
23254 FT_NONE
, BASE_NONE
, NULL
, 0,
23255 "CartesianCoordinateWithConfidence", HFILL
}},
23256 { &hf_its_yCoordinate_01
,
23257 { "yCoordinate", "its.yCoordinate_element",
23258 FT_NONE
, BASE_NONE
, NULL
, 0,
23259 "CartesianCoordinateWithConfidence", HFILL
}},
23260 { &hf_its_zCoordinate_01
,
23261 { "zCoordinate", "its.zCoordinate_element",
23262 FT_NONE
, BASE_NONE
, NULL
, 0,
23263 "CartesianCoordinateWithConfidence", HFILL
}},
23264 { &hf_its_causeCode
,
23265 { "causeCode", "its.causeCode",
23266 FT_UINT32
, BASE_DEC
, VALS(its_CauseCodeType_vals
), 0,
23267 "CauseCodeType", HFILL
}},
23268 { &hf_its_subCauseCode
,
23269 { "subCauseCode", "its.subCauseCode",
23270 FT_UINT32
, BASE_DEC
, NULL
, 0,
23271 "SubCauseCodeType", HFILL
}},
23272 { &hf_its_reserved0
,
23273 { "reserved0", "its.reserved0",
23274 FT_UINT32
, BASE_DEC
, NULL
, 0,
23275 "SubCauseCodeType", HFILL
}},
23276 { &hf_its_trafficCondition1
,
23277 { "trafficCondition1", "its.trafficCondition1",
23278 FT_UINT32
, BASE_DEC
, VALS(its_TrafficConditionSubCauseCode_vals
), 0,
23279 "TrafficConditionSubCauseCode", HFILL
}},
23280 { &hf_its_accident2
,
23281 { "accident2", "its.accident2",
23282 FT_UINT32
, BASE_DEC
, VALS(its_AccidentSubCauseCode_vals
), 0,
23283 "AccidentSubCauseCode", HFILL
}},
23284 { &hf_its_roadworks3
,
23285 { "roadworks3", "its.roadworks3",
23286 FT_UINT32
, BASE_DEC
, VALS(its_RoadworksSubCauseCode_vals
), 0,
23287 "RoadworksSubCauseCode", HFILL
}},
23288 { &hf_its_reserved4
,
23289 { "reserved4", "its.reserved4",
23290 FT_UINT32
, BASE_DEC
, NULL
, 0,
23291 "SubCauseCodeType", HFILL
}},
23292 { &hf_its_impassability5
,
23293 { "impassability5", "its.impassability5",
23294 FT_UINT32
, BASE_DEC
, VALS(its_ImpassabilitySubCauseCode_vals
), 0,
23295 "ImpassabilitySubCauseCode", HFILL
}},
23296 { &hf_its_adverseWeatherCondition_Adhesion6
,
23297 { "adverseWeatherCondition-Adhesion6", "its.adverseWeatherCondition_Adhesion6",
23298 FT_UINT32
, BASE_DEC
, VALS(its_AdverseWeatherCondition_AdhesionSubCauseCode_vals
), 0,
23299 "AdverseWeatherCondition_AdhesionSubCauseCode", HFILL
}},
23300 { &hf_its_aquaplaning7
,
23301 { "aquaplaning7", "its.aquaplaning7",
23302 FT_UINT32
, BASE_DEC
, NULL
, 0,
23303 "SubCauseCodeType", HFILL
}},
23304 { &hf_its_reserved8
,
23305 { "reserved8", "its.reserved8",
23306 FT_UINT32
, BASE_DEC
, NULL
, 0,
23307 "SubCauseCodeType", HFILL
}},
23308 { &hf_its_hazardousLocation_SurfaceCondition9
,
23309 { "hazardousLocation-SurfaceCondition9", "its.hazardousLocation_SurfaceCondition9",
23310 FT_UINT32
, BASE_DEC
, VALS(its_HazardousLocation_SurfaceConditionSubCauseCode_vals
), 0,
23311 "HazardousLocation_SurfaceConditionSubCauseCode", HFILL
}},
23312 { &hf_its_hazardousLocation_ObstacleOnTheRoad10
,
23313 { "hazardousLocation-ObstacleOnTheRoad10", "its.hazardousLocation_ObstacleOnTheRoad10",
23314 FT_UINT32
, BASE_DEC
, VALS(its_HazardousLocation_ObstacleOnTheRoadSubCauseCode_vals
), 0,
23315 "HazardousLocation_ObstacleOnTheRoadSubCauseCode", HFILL
}},
23316 { &hf_its_hazardousLocation_AnimalOnTheRoad11
,
23317 { "hazardousLocation-AnimalOnTheRoad11", "its.hazardousLocation_AnimalOnTheRoad11",
23318 FT_UINT32
, BASE_DEC
, VALS(its_HazardousLocation_AnimalOnTheRoadSubCauseCode_vals
), 0,
23319 "HazardousLocation_AnimalOnTheRoadSubCauseCode", HFILL
}},
23320 { &hf_its_humanPresenceOnTheRoad12
,
23321 { "humanPresenceOnTheRoad12", "its.humanPresenceOnTheRoad12",
23322 FT_UINT32
, BASE_DEC
, VALS(its_HumanPresenceOnTheRoadSubCauseCode_vals
), 0,
23323 "HumanPresenceOnTheRoadSubCauseCode", HFILL
}},
23324 { &hf_its_reserved13
,
23325 { "reserved13", "its.reserved13",
23326 FT_UINT32
, BASE_DEC
, NULL
, 0,
23327 "SubCauseCodeType", HFILL
}},
23328 { &hf_its_wrongWayDriving14
,
23329 { "wrongWayDriving14", "its.wrongWayDriving14",
23330 FT_UINT32
, BASE_DEC
, VALS(its_WrongWayDrivingSubCauseCode_vals
), 0,
23331 "WrongWayDrivingSubCauseCode", HFILL
}},
23332 { &hf_its_rescueAndRecoveryWorkInProgress15
,
23333 { "rescueAndRecoveryWorkInProgress15", "its.rescueAndRecoveryWorkInProgress15",
23334 FT_UINT32
, BASE_DEC
, VALS(its_RescueAndRecoveryWorkInProgressSubCauseCode_vals
), 0,
23335 "RescueAndRecoveryWorkInProgressSubCauseCode", HFILL
}},
23336 { &hf_its_reserved16
,
23337 { "reserved16", "its.reserved16",
23338 FT_UINT32
, BASE_DEC
, NULL
, 0,
23339 "SubCauseCodeType", HFILL
}},
23340 { &hf_its_adverseWeatherCondition_ExtremeWeatherCondition17
,
23341 { "adverseWeatherCondition-ExtremeWeatherCondition17", "its.adverseWeatherCondition_ExtremeWeatherCondition17",
23342 FT_UINT32
, BASE_DEC
, VALS(its_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_vals
), 0,
23343 "AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode", HFILL
}},
23344 { &hf_its_adverseWeatherCondition_Visibility18
,
23345 { "adverseWeatherCondition-Visibility18", "its.adverseWeatherCondition_Visibility18",
23346 FT_UINT32
, BASE_DEC
, VALS(its_AdverseWeatherCondition_VisibilitySubCauseCode_vals
), 0,
23347 "AdverseWeatherCondition_VisibilitySubCauseCode", HFILL
}},
23348 { &hf_its_adverseWeatherCondition_Precipitation19
,
23349 { "adverseWeatherCondition-Precipitation19", "its.adverseWeatherCondition_Precipitation19",
23350 FT_UINT32
, BASE_DEC
, VALS(its_AdverseWeatherCondition_PrecipitationSubCauseCode_vals
), 0,
23351 "AdverseWeatherCondition_PrecipitationSubCauseCode", HFILL
}},
23352 { &hf_its_violence20
,
23353 { "violence20", "its.violence20",
23354 FT_UINT32
, BASE_DEC
, NULL
, 0,
23355 "SubCauseCodeType", HFILL
}},
23356 { &hf_its_reserved21
,
23357 { "reserved21", "its.reserved21",
23358 FT_UINT32
, BASE_DEC
, NULL
, 0,
23359 "SubCauseCodeType", HFILL
}},
23360 { &hf_its_reserved22
,
23361 { "reserved22", "its.reserved22",
23362 FT_UINT32
, BASE_DEC
, NULL
, 0,
23363 "SubCauseCodeType", HFILL
}},
23364 { &hf_its_reserved23
,
23365 { "reserved23", "its.reserved23",
23366 FT_UINT32
, BASE_DEC
, NULL
, 0,
23367 "SubCauseCodeType", HFILL
}},
23368 { &hf_its_reserved24
,
23369 { "reserved24", "its.reserved24",
23370 FT_UINT32
, BASE_DEC
, NULL
, 0,
23371 "SubCauseCodeType", HFILL
}},
23372 { &hf_its_reserved25
,
23373 { "reserved25", "its.reserved25",
23374 FT_UINT32
, BASE_DEC
, NULL
, 0,
23375 "SubCauseCodeType", HFILL
}},
23376 { &hf_its_slowVehicle26
,
23377 { "slowVehicle26", "its.slowVehicle26",
23378 FT_UINT32
, BASE_DEC
, VALS(its_SlowVehicleSubCauseCode_vals
), 0,
23379 "SlowVehicleSubCauseCode", HFILL
}},
23380 { &hf_its_dangerousEndOfQueue27
,
23381 { "dangerousEndOfQueue27", "its.dangerousEndOfQueue27",
23382 FT_UINT32
, BASE_DEC
, VALS(its_DangerousEndOfQueueSubCauseCode_vals
), 0,
23383 "DangerousEndOfQueueSubCauseCode", HFILL
}},
23384 { &hf_its_publicTransportVehicleApproaching28
,
23385 { "publicTransportVehicleApproaching28", "its.publicTransportVehicleApproaching28",
23386 FT_UINT32
, BASE_DEC
, NULL
, 0,
23387 "SubCauseCodeType", HFILL
}},
23388 { &hf_its_reserved29
,
23389 { "reserved29", "its.reserved29",
23390 FT_UINT32
, BASE_DEC
, NULL
, 0,
23391 "SubCauseCodeType", HFILL
}},
23392 { &hf_its_reserved30
,
23393 { "reserved30", "its.reserved30",
23394 FT_UINT32
, BASE_DEC
, NULL
, 0,
23395 "SubCauseCodeType", HFILL
}},
23396 { &hf_its_reserved31
,
23397 { "reserved31", "its.reserved31",
23398 FT_UINT32
, BASE_DEC
, NULL
, 0,
23399 "SubCauseCodeType", HFILL
}},
23400 { &hf_its_reserved32
,
23401 { "reserved32", "its.reserved32",
23402 FT_UINT32
, BASE_DEC
, NULL
, 0,
23403 "SubCauseCodeType", HFILL
}},
23404 { &hf_its_reserved33
,
23405 { "reserved33", "its.reserved33",
23406 FT_UINT32
, BASE_DEC
, NULL
, 0,
23407 "SubCauseCodeType", HFILL
}},
23408 { &hf_its_reserved34
,
23409 { "reserved34", "its.reserved34",
23410 FT_UINT32
, BASE_DEC
, NULL
, 0,
23411 "SubCauseCodeType", HFILL
}},
23412 { &hf_its_reserved35
,
23413 { "reserved35", "its.reserved35",
23414 FT_UINT32
, BASE_DEC
, NULL
, 0,
23415 "SubCauseCodeType", HFILL
}},
23416 { &hf_its_reserved36
,
23417 { "reserved36", "its.reserved36",
23418 FT_UINT32
, BASE_DEC
, NULL
, 0,
23419 "SubCauseCodeType", HFILL
}},
23420 { &hf_its_reserved37
,
23421 { "reserved37", "its.reserved37",
23422 FT_UINT32
, BASE_DEC
, NULL
, 0,
23423 "SubCauseCodeType", HFILL
}},
23424 { &hf_its_reserved38
,
23425 { "reserved38", "its.reserved38",
23426 FT_UINT32
, BASE_DEC
, NULL
, 0,
23427 "SubCauseCodeType", HFILL
}},
23428 { &hf_its_reserved39
,
23429 { "reserved39", "its.reserved39",
23430 FT_UINT32
, BASE_DEC
, NULL
, 0,
23431 "SubCauseCodeType", HFILL
}},
23432 { &hf_its_reserved40
,
23433 { "reserved40", "its.reserved40",
23434 FT_UINT32
, BASE_DEC
, NULL
, 0,
23435 "SubCauseCodeType", HFILL
}},
23436 { &hf_its_reserved41
,
23437 { "reserved41", "its.reserved41",
23438 FT_UINT32
, BASE_DEC
, NULL
, 0,
23439 "SubCauseCodeType", HFILL
}},
23440 { &hf_its_reserved42
,
23441 { "reserved42", "its.reserved42",
23442 FT_UINT32
, BASE_DEC
, NULL
, 0,
23443 "SubCauseCodeType", HFILL
}},
23444 { &hf_its_reserved43
,
23445 { "reserved43", "its.reserved43",
23446 FT_UINT32
, BASE_DEC
, NULL
, 0,
23447 "SubCauseCodeType", HFILL
}},
23448 { &hf_its_reserved44
,
23449 { "reserved44", "its.reserved44",
23450 FT_UINT32
, BASE_DEC
, NULL
, 0,
23451 "SubCauseCodeType", HFILL
}},
23452 { &hf_its_reserved45
,
23453 { "reserved45", "its.reserved45",
23454 FT_UINT32
, BASE_DEC
, NULL
, 0,
23455 "SubCauseCodeType", HFILL
}},
23456 { &hf_its_reserved46
,
23457 { "reserved46", "its.reserved46",
23458 FT_UINT32
, BASE_DEC
, NULL
, 0,
23459 "SubCauseCodeType", HFILL
}},
23460 { &hf_its_reserved47
,
23461 { "reserved47", "its.reserved47",
23462 FT_UINT32
, BASE_DEC
, NULL
, 0,
23463 "SubCauseCodeType", HFILL
}},
23464 { &hf_its_reserved48
,
23465 { "reserved48", "its.reserved48",
23466 FT_UINT32
, BASE_DEC
, NULL
, 0,
23467 "SubCauseCodeType", HFILL
}},
23468 { &hf_its_reserved49
,
23469 { "reserved49", "its.reserved49",
23470 FT_UINT32
, BASE_DEC
, NULL
, 0,
23471 "SubCauseCodeType", HFILL
}},
23472 { &hf_its_reserved50
,
23473 { "reserved50", "its.reserved50",
23474 FT_UINT32
, BASE_DEC
, NULL
, 0,
23475 "SubCauseCodeType", HFILL
}},
23476 { &hf_its_reserved51
,
23477 { "reserved51", "its.reserved51",
23478 FT_UINT32
, BASE_DEC
, NULL
, 0,
23479 "SubCauseCodeType", HFILL
}},
23480 { &hf_its_reserved52
,
23481 { "reserved52", "its.reserved52",
23482 FT_UINT32
, BASE_DEC
, NULL
, 0,
23483 "SubCauseCodeType", HFILL
}},
23484 { &hf_its_reserved53
,
23485 { "reserved53", "its.reserved53",
23486 FT_UINT32
, BASE_DEC
, NULL
, 0,
23487 "SubCauseCodeType", HFILL
}},
23488 { &hf_its_reserved54
,
23489 { "reserved54", "its.reserved54",
23490 FT_UINT32
, BASE_DEC
, NULL
, 0,
23491 "SubCauseCodeType", HFILL
}},
23492 { &hf_its_reserved55
,
23493 { "reserved55", "its.reserved55",
23494 FT_UINT32
, BASE_DEC
, NULL
, 0,
23495 "SubCauseCodeType", HFILL
}},
23496 { &hf_its_reserved56
,
23497 { "reserved56", "its.reserved56",
23498 FT_UINT32
, BASE_DEC
, NULL
, 0,
23499 "SubCauseCodeType", HFILL
}},
23500 { &hf_its_reserved57
,
23501 { "reserved57", "its.reserved57",
23502 FT_UINT32
, BASE_DEC
, NULL
, 0,
23503 "SubCauseCodeType", HFILL
}},
23504 { &hf_its_reserved58
,
23505 { "reserved58", "its.reserved58",
23506 FT_UINT32
, BASE_DEC
, NULL
, 0,
23507 "SubCauseCodeType", HFILL
}},
23508 { &hf_its_reserved59
,
23509 { "reserved59", "its.reserved59",
23510 FT_UINT32
, BASE_DEC
, NULL
, 0,
23511 "SubCauseCodeType", HFILL
}},
23512 { &hf_its_reserved60
,
23513 { "reserved60", "its.reserved60",
23514 FT_UINT32
, BASE_DEC
, NULL
, 0,
23515 "SubCauseCodeType", HFILL
}},
23516 { &hf_its_reserved61
,
23517 { "reserved61", "its.reserved61",
23518 FT_UINT32
, BASE_DEC
, NULL
, 0,
23519 "SubCauseCodeType", HFILL
}},
23520 { &hf_its_reserved62
,
23521 { "reserved62", "its.reserved62",
23522 FT_UINT32
, BASE_DEC
, NULL
, 0,
23523 "SubCauseCodeType", HFILL
}},
23524 { &hf_its_reserved63
,
23525 { "reserved63", "its.reserved63",
23526 FT_UINT32
, BASE_DEC
, NULL
, 0,
23527 "SubCauseCodeType", HFILL
}},
23528 { &hf_its_reserved64
,
23529 { "reserved64", "its.reserved64",
23530 FT_UINT32
, BASE_DEC
, NULL
, 0,
23531 "SubCauseCodeType", HFILL
}},
23532 { &hf_its_reserved65
,
23533 { "reserved65", "its.reserved65",
23534 FT_UINT32
, BASE_DEC
, NULL
, 0,
23535 "SubCauseCodeType", HFILL
}},
23536 { &hf_its_reserved66
,
23537 { "reserved66", "its.reserved66",
23538 FT_UINT32
, BASE_DEC
, NULL
, 0,
23539 "SubCauseCodeType", HFILL
}},
23540 { &hf_its_reserved67
,
23541 { "reserved67", "its.reserved67",
23542 FT_UINT32
, BASE_DEC
, NULL
, 0,
23543 "SubCauseCodeType", HFILL
}},
23544 { &hf_its_reserved68
,
23545 { "reserved68", "its.reserved68",
23546 FT_UINT32
, BASE_DEC
, NULL
, 0,
23547 "SubCauseCodeType", HFILL
}},
23548 { &hf_its_reserved69
,
23549 { "reserved69", "its.reserved69",
23550 FT_UINT32
, BASE_DEC
, NULL
, 0,
23551 "SubCauseCodeType", HFILL
}},
23552 { &hf_its_reserved70
,
23553 { "reserved70", "its.reserved70",
23554 FT_UINT32
, BASE_DEC
, NULL
, 0,
23555 "SubCauseCodeType", HFILL
}},
23556 { &hf_its_reserved71
,
23557 { "reserved71", "its.reserved71",
23558 FT_UINT32
, BASE_DEC
, NULL
, 0,
23559 "SubCauseCodeType", HFILL
}},
23560 { &hf_its_reserved72
,
23561 { "reserved72", "its.reserved72",
23562 FT_UINT32
, BASE_DEC
, NULL
, 0,
23563 "SubCauseCodeType", HFILL
}},
23564 { &hf_its_reserved73
,
23565 { "reserved73", "its.reserved73",
23566 FT_UINT32
, BASE_DEC
, NULL
, 0,
23567 "SubCauseCodeType", HFILL
}},
23568 { &hf_its_reserved74
,
23569 { "reserved74", "its.reserved74",
23570 FT_UINT32
, BASE_DEC
, NULL
, 0,
23571 "SubCauseCodeType", HFILL
}},
23572 { &hf_its_reserved75
,
23573 { "reserved75", "its.reserved75",
23574 FT_UINT32
, BASE_DEC
, NULL
, 0,
23575 "SubCauseCodeType", HFILL
}},
23576 { &hf_its_reserved76
,
23577 { "reserved76", "its.reserved76",
23578 FT_UINT32
, BASE_DEC
, NULL
, 0,
23579 "SubCauseCodeType", HFILL
}},
23580 { &hf_its_reserved77
,
23581 { "reserved77", "its.reserved77",
23582 FT_UINT32
, BASE_DEC
, NULL
, 0,
23583 "SubCauseCodeType", HFILL
}},
23584 { &hf_its_reserved78
,
23585 { "reserved78", "its.reserved78",
23586 FT_UINT32
, BASE_DEC
, NULL
, 0,
23587 "SubCauseCodeType", HFILL
}},
23588 { &hf_its_reserved79
,
23589 { "reserved79", "its.reserved79",
23590 FT_UINT32
, BASE_DEC
, NULL
, 0,
23591 "SubCauseCodeType", HFILL
}},
23592 { &hf_its_reserved80
,
23593 { "reserved80", "its.reserved80",
23594 FT_UINT32
, BASE_DEC
, NULL
, 0,
23595 "SubCauseCodeType", HFILL
}},
23596 { &hf_its_reserved81
,
23597 { "reserved81", "its.reserved81",
23598 FT_UINT32
, BASE_DEC
, NULL
, 0,
23599 "SubCauseCodeType", HFILL
}},
23600 { &hf_its_reserved82
,
23601 { "reserved82", "its.reserved82",
23602 FT_UINT32
, BASE_DEC
, NULL
, 0,
23603 "SubCauseCodeType", HFILL
}},
23604 { &hf_its_reserved83
,
23605 { "reserved83", "its.reserved83",
23606 FT_UINT32
, BASE_DEC
, NULL
, 0,
23607 "SubCauseCodeType", HFILL
}},
23608 { &hf_its_reserved84
,
23609 { "reserved84", "its.reserved84",
23610 FT_UINT32
, BASE_DEC
, NULL
, 0,
23611 "SubCauseCodeType", HFILL
}},
23612 { &hf_its_reserved85
,
23613 { "reserved85", "its.reserved85",
23614 FT_UINT32
, BASE_DEC
, NULL
, 0,
23615 "SubCauseCodeType", HFILL
}},
23616 { &hf_its_reserved86
,
23617 { "reserved86", "its.reserved86",
23618 FT_UINT32
, BASE_DEC
, NULL
, 0,
23619 "SubCauseCodeType", HFILL
}},
23620 { &hf_its_reserved87
,
23621 { "reserved87", "its.reserved87",
23622 FT_UINT32
, BASE_DEC
, NULL
, 0,
23623 "SubCauseCodeType", HFILL
}},
23624 { &hf_its_reserved88
,
23625 { "reserved88", "its.reserved88",
23626 FT_UINT32
, BASE_DEC
, NULL
, 0,
23627 "SubCauseCodeType", HFILL
}},
23628 { &hf_its_reserved89
,
23629 { "reserved89", "its.reserved89",
23630 FT_UINT32
, BASE_DEC
, NULL
, 0,
23631 "SubCauseCodeType", HFILL
}},
23632 { &hf_its_reserved90
,
23633 { "reserved90", "its.reserved90",
23634 FT_UINT32
, BASE_DEC
, NULL
, 0,
23635 "SubCauseCodeType", HFILL
}},
23636 { &hf_its_vehicleBreakdown91
,
23637 { "vehicleBreakdown91", "its.vehicleBreakdown91",
23638 FT_UINT32
, BASE_DEC
, VALS(its_VehicleBreakdownSubCauseCode_vals
), 0,
23639 "VehicleBreakdownSubCauseCode", HFILL
}},
23640 { &hf_its_postCrash92
,
23641 { "postCrash92", "its.postCrash92",
23642 FT_UINT32
, BASE_DEC
, VALS(its_PostCrashSubCauseCode_vals
), 0,
23643 "PostCrashSubCauseCode", HFILL
}},
23644 { &hf_its_humanProblem93
,
23645 { "humanProblem93", "its.humanProblem93",
23646 FT_UINT32
, BASE_DEC
, VALS(its_HumanProblemSubCauseCode_vals
), 0,
23647 "HumanProblemSubCauseCode", HFILL
}},
23648 { &hf_its_stationaryVehicle94
,
23649 { "stationaryVehicle94", "its.stationaryVehicle94",
23650 FT_UINT32
, BASE_DEC
, VALS(its_StationaryVehicleSubCauseCode_vals
), 0,
23651 "StationaryVehicleSubCauseCode", HFILL
}},
23652 { &hf_its_emergencyVehicleApproaching95
,
23653 { "emergencyVehicleApproaching95", "its.emergencyVehicleApproaching95",
23654 FT_UINT32
, BASE_DEC
, VALS(its_EmergencyVehicleApproachingSubCauseCode_vals
), 0,
23655 "EmergencyVehicleApproachingSubCauseCode", HFILL
}},
23656 { &hf_its_hazardousLocation_DangerousCurve96
,
23657 { "hazardousLocation-DangerousCurve96", "its.hazardousLocation_DangerousCurve96",
23658 FT_UINT32
, BASE_DEC
, VALS(its_HazardousLocation_DangerousCurveSubCauseCode_vals
), 0,
23659 "HazardousLocation_DangerousCurveSubCauseCode", HFILL
}},
23660 { &hf_its_collisionRisk97
,
23661 { "collisionRisk97", "its.collisionRisk97",
23662 FT_UINT32
, BASE_DEC
, VALS(its_CollisionRiskSubCauseCode_vals
), 0,
23663 "CollisionRiskSubCauseCode", HFILL
}},
23664 { &hf_its_signalViolation98
,
23665 { "signalViolation98", "its.signalViolation98",
23666 FT_UINT32
, BASE_DEC
, VALS(its_SignalViolationSubCauseCode_vals
), 0,
23667 "SignalViolationSubCauseCode", HFILL
}},
23668 { &hf_its_dangerousSituation99
,
23669 { "dangerousSituation99", "its.dangerousSituation99",
23670 FT_UINT32
, BASE_DEC
, VALS(its_DangerousSituationSubCauseCode_vals
), 0,
23671 "DangerousSituationSubCauseCode", HFILL
}},
23672 { &hf_its_railwayLevelCrossing100
,
23673 { "railwayLevelCrossing100", "its.railwayLevelCrossing100",
23674 FT_UINT32
, BASE_DEC
, VALS(its_RailwayLevelCrossingSubCauseCode_vals
), 0,
23675 "RailwayLevelCrossingSubCauseCode", HFILL
}},
23676 { &hf_its_reserved101
,
23677 { "reserved101", "its.reserved101",
23678 FT_UINT32
, BASE_DEC
, NULL
, 0,
23679 "SubCauseCodeType", HFILL
}},
23680 { &hf_its_reserved102
,
23681 { "reserved102", "its.reserved102",
23682 FT_UINT32
, BASE_DEC
, NULL
, 0,
23683 "SubCauseCodeType", HFILL
}},
23684 { &hf_its_reserved103
,
23685 { "reserved103", "its.reserved103",
23686 FT_UINT32
, BASE_DEC
, NULL
, 0,
23687 "SubCauseCodeType", HFILL
}},
23688 { &hf_its_reserved104
,
23689 { "reserved104", "its.reserved104",
23690 FT_UINT32
, BASE_DEC
, NULL
, 0,
23691 "SubCauseCodeType", HFILL
}},
23692 { &hf_its_reserved105
,
23693 { "reserved105", "its.reserved105",
23694 FT_UINT32
, BASE_DEC
, NULL
, 0,
23695 "SubCauseCodeType", HFILL
}},
23696 { &hf_its_reserved106
,
23697 { "reserved106", "its.reserved106",
23698 FT_UINT32
, BASE_DEC
, NULL
, 0,
23699 "SubCauseCodeType", HFILL
}},
23700 { &hf_its_reserved107
,
23701 { "reserved107", "its.reserved107",
23702 FT_UINT32
, BASE_DEC
, NULL
, 0,
23703 "SubCauseCodeType", HFILL
}},
23704 { &hf_its_reserved108
,
23705 { "reserved108", "its.reserved108",
23706 FT_UINT32
, BASE_DEC
, NULL
, 0,
23707 "SubCauseCodeType", HFILL
}},
23708 { &hf_its_reserved109
,
23709 { "reserved109", "its.reserved109",
23710 FT_UINT32
, BASE_DEC
, NULL
, 0,
23711 "SubCauseCodeType", HFILL
}},
23712 { &hf_its_reserved110
,
23713 { "reserved110", "its.reserved110",
23714 FT_UINT32
, BASE_DEC
, NULL
, 0,
23715 "SubCauseCodeType", HFILL
}},
23716 { &hf_its_reserved111
,
23717 { "reserved111", "its.reserved111",
23718 FT_UINT32
, BASE_DEC
, NULL
, 0,
23719 "SubCauseCodeType", HFILL
}},
23720 { &hf_its_reserved112
,
23721 { "reserved112", "its.reserved112",
23722 FT_UINT32
, BASE_DEC
, NULL
, 0,
23723 "SubCauseCodeType", HFILL
}},
23724 { &hf_its_reserved113
,
23725 { "reserved113", "its.reserved113",
23726 FT_UINT32
, BASE_DEC
, NULL
, 0,
23727 "SubCauseCodeType", HFILL
}},
23728 { &hf_its_reserved114
,
23729 { "reserved114", "its.reserved114",
23730 FT_UINT32
, BASE_DEC
, NULL
, 0,
23731 "SubCauseCodeType", HFILL
}},
23732 { &hf_its_reserved115
,
23733 { "reserved115", "its.reserved115",
23734 FT_UINT32
, BASE_DEC
, NULL
, 0,
23735 "SubCauseCodeType", HFILL
}},
23736 { &hf_its_reserved116
,
23737 { "reserved116", "its.reserved116",
23738 FT_UINT32
, BASE_DEC
, NULL
, 0,
23739 "SubCauseCodeType", HFILL
}},
23740 { &hf_its_reserved117
,
23741 { "reserved117", "its.reserved117",
23742 FT_UINT32
, BASE_DEC
, NULL
, 0,
23743 "SubCauseCodeType", HFILL
}},
23744 { &hf_its_reserved118
,
23745 { "reserved118", "its.reserved118",
23746 FT_UINT32
, BASE_DEC
, NULL
, 0,
23747 "SubCauseCodeType", HFILL
}},
23748 { &hf_its_reserved119
,
23749 { "reserved119", "its.reserved119",
23750 FT_UINT32
, BASE_DEC
, NULL
, 0,
23751 "SubCauseCodeType", HFILL
}},
23752 { &hf_its_reserved120
,
23753 { "reserved120", "its.reserved120",
23754 FT_UINT32
, BASE_DEC
, NULL
, 0,
23755 "SubCauseCodeType", HFILL
}},
23756 { &hf_its_reserved121
,
23757 { "reserved121", "its.reserved121",
23758 FT_UINT32
, BASE_DEC
, NULL
, 0,
23759 "SubCauseCodeType", HFILL
}},
23760 { &hf_its_reserved122
,
23761 { "reserved122", "its.reserved122",
23762 FT_UINT32
, BASE_DEC
, NULL
, 0,
23763 "SubCauseCodeType", HFILL
}},
23764 { &hf_its_reserved123
,
23765 { "reserved123", "its.reserved123",
23766 FT_UINT32
, BASE_DEC
, NULL
, 0,
23767 "SubCauseCodeType", HFILL
}},
23768 { &hf_its_reserved124
,
23769 { "reserved124", "its.reserved124",
23770 FT_UINT32
, BASE_DEC
, NULL
, 0,
23771 "SubCauseCodeType", HFILL
}},
23772 { &hf_its_reserved125
,
23773 { "reserved125", "its.reserved125",
23774 FT_UINT32
, BASE_DEC
, NULL
, 0,
23775 "SubCauseCodeType", HFILL
}},
23776 { &hf_its_reserved126
,
23777 { "reserved126", "its.reserved126",
23778 FT_UINT32
, BASE_DEC
, NULL
, 0,
23779 "SubCauseCodeType", HFILL
}},
23780 { &hf_its_reserved127
,
23781 { "reserved127", "its.reserved127",
23782 FT_UINT32
, BASE_DEC
, NULL
, 0,
23783 "SubCauseCodeType", HFILL
}},
23784 { &hf_its_reserved128
,
23785 { "reserved128", "its.reserved128",
23786 FT_UINT32
, BASE_DEC
, NULL
, 0,
23787 "SubCauseCodeType", HFILL
}},
23788 { &hf_its_ccAndScc
,
23789 { "ccAndScc", "its.ccAndScc",
23790 FT_UINT32
, BASE_DEC
, VALS(its_CauseCodeChoice_vals
), 0,
23791 "CauseCodeChoice", HFILL
}},
23792 { &hf_its_protectedZoneLatitude
,
23793 { "protectedZoneLatitude", "its.protectedZoneLatitude",
23794 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_latitude_fmt
), 0,
23795 "Latitude", HFILL
}},
23796 { &hf_its_protectedZoneLongitude
,
23797 { "protectedZoneLongitude", "its.protectedZoneLongitude",
23798 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_longitude_fmt
), 0,
23799 "Longitude", HFILL
}},
23800 { &hf_its_cenDsrcTollingZoneId
,
23801 { "cenDsrcTollingZoneId", "its.cenDsrcTollingZoneId",
23802 FT_UINT32
, BASE_DEC
, NULL
, 0,
23803 "ProtectedZoneId", HFILL
}},
23804 { &hf_its_shapeReferencePoint
,
23805 { "shapeReferencePoint", "its.shapeReferencePoint_element",
23806 FT_NONE
, BASE_NONE
, NULL
, 0,
23807 "CartesianPosition3d", HFILL
}},
23809 { "radius", "its.radius",
23810 FT_UINT32
, BASE_DEC
, NULL
, 0,
23811 "StandardLength12b", HFILL
}},
23813 { "height", "its.height",
23814 FT_UINT32
, BASE_DEC
, NULL
, 0,
23815 "StandardLength12b", HFILL
}},
23816 { &hf_its_innerhardShoulderStatus
,
23817 { "innerhardShoulderStatus", "its.innerhardShoulderStatus",
23818 FT_UINT32
, BASE_DEC
, VALS(its_HardShoulderStatus_vals
), 0,
23819 "HardShoulderStatus", HFILL
}},
23820 { &hf_its_outerhardShoulderStatus
,
23821 { "outerhardShoulderStatus", "its.outerhardShoulderStatus",
23822 FT_UINT32
, BASE_DEC
, VALS(its_HardShoulderStatus_vals
), 0,
23823 "HardShoulderStatus", HFILL
}},
23824 { &hf_its_drivingLaneStatus
,
23825 { "drivingLaneStatus", "its.drivingLaneStatus",
23826 FT_BYTES
, BASE_NONE
, NULL
, 0,
23828 { &hf_its_clusterBreakupReason
,
23829 { "clusterBreakupReason", "its.clusterBreakupReason",
23830 FT_UINT32
, BASE_DEC
, VALS(its_ClusterBreakupReason_vals
), 0,
23832 { &hf_its_breakupTime
,
23833 { "breakupTime", "its.breakupTime",
23834 FT_UINT32
, BASE_DEC
, VALS(its_DeltaTimeQuarterSecond_vals
), 0,
23835 "DeltaTimeQuarterSecond", HFILL
}},
23836 { &hf_its_clusterId
,
23837 { "clusterId", "its.clusterId",
23838 FT_UINT32
, BASE_DEC
, NULL
, 0,
23839 "Identifier1B", HFILL
}},
23840 { &hf_its_joinTime
,
23841 { "joinTime", "its.joinTime",
23842 FT_UINT32
, BASE_DEC
, VALS(its_DeltaTimeQuarterSecond_vals
), 0,
23843 "DeltaTimeQuarterSecond", HFILL
}},
23844 { &hf_its_clusterLeaveReason
,
23845 { "clusterLeaveReason", "its.clusterLeaveReason",
23846 FT_UINT32
, BASE_DEC
, VALS(its_ClusterLeaveReason_vals
), 0,
23848 { &hf_its_CorrelationColumn_item
,
23849 { "CorrelationCellValue", "its.CorrelationCellValue",
23850 FT_INT32
, BASE_DEC
, VALS(its_CorrelationCellValue_vals
), 0,
23852 { &hf_its_curvatureValue
,
23853 { "curvatureValue", "its.curvatureValue",
23854 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_curvature_value_fmt
), 0,
23856 { &hf_its_curvatureConfidence
,
23857 { "curvatureConfidence", "its.curvatureConfidence",
23858 FT_UINT32
, BASE_DEC
, VALS(its_CurvatureConfidence_vals
), 0,
23860 { &hf_its_dangerousGoodsType
,
23861 { "dangerousGoodsType", "its.dangerousGoodsType",
23862 FT_UINT32
, BASE_DEC
, VALS(its_DangerousGoodsBasic_vals
), 0,
23863 "DangerousGoodsBasic", HFILL
}},
23864 { &hf_its_unNumber
,
23865 { "unNumber", "its.unNumber",
23866 FT_UINT32
, BASE_DEC
, NULL
, 0,
23867 "INTEGER_0_9999", HFILL
}},
23868 { &hf_its_elevatedTemperature
,
23869 { "elevatedTemperature", "its.elevatedTemperature",
23870 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
23871 "BOOLEAN", HFILL
}},
23872 { &hf_its_tunnelsRestricted
,
23873 { "tunnelsRestricted", "its.tunnelsRestricted",
23874 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
23875 "BOOLEAN", HFILL
}},
23876 { &hf_its_limitedQuantity
,
23877 { "limitedQuantity", "its.limitedQuantity",
23878 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
23879 "BOOLEAN", HFILL
}},
23880 { &hf_its_emergencyActionCode
,
23881 { "emergencyActionCode", "its.emergencyActionCode",
23882 FT_STRING
, BASE_NONE
, NULL
, 0,
23883 "IA5String_SIZE_1_24", HFILL
}},
23884 { &hf_its_phoneNumber
,
23885 { "phoneNumber", "its.phoneNumber",
23886 FT_STRING
, BASE_NONE
, NULL
, 0,
23888 { &hf_its_companyName
,
23889 { "companyName", "its.companyName",
23890 FT_STRING
, BASE_NONE
, NULL
, 0,
23891 "UTF8String_SIZE_1_24", HFILL
}},
23892 { &hf_its_deltaLatitude
,
23893 { "deltaLatitude", "its.deltaLatitude",
23894 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_delta_latitude_fmt
), 0,
23896 { &hf_its_deltaLongitude
,
23897 { "deltaLongitude", "its.deltaLongitude",
23898 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_delta_longitude_fmt
), 0,
23900 { &hf_its_deltaAltitude
,
23901 { "deltaAltitude", "its.deltaAltitude",
23902 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_delta_altitude_fmt
), 0,
23904 { &hf_its_DigitalMap_item
,
23905 { "ReferencePosition", "its.ReferencePosition_element",
23906 FT_NONE
, BASE_NONE
, NULL
, 0,
23908 { &hf_its_semiMajorAxisLength
,
23909 { "semiMajorAxisLength", "its.semiMajorAxisLength",
23910 FT_UINT32
, BASE_DEC
, NULL
, 0,
23911 "StandardLength12b", HFILL
}},
23912 { &hf_its_semiMinorAxisLength
,
23913 { "semiMinorAxisLength", "its.semiMinorAxisLength",
23914 FT_UINT32
, BASE_DEC
, NULL
, 0,
23915 "StandardLength12b", HFILL
}},
23916 { &hf_its_orientation
,
23917 { "orientation", "its.orientation",
23918 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_cartesian_angle_value_fmt
), 0,
23919 "CartesianAngleValue", HFILL
}},
23921 { "zAngle", "its.zAngle_element",
23922 FT_NONE
, BASE_NONE
, NULL
, 0,
23923 "CartesianAngle", HFILL
}},
23925 { "yAngle", "its.yAngle_element",
23926 FT_NONE
, BASE_NONE
, NULL
, 0,
23927 "CartesianAngle", HFILL
}},
23929 { "xAngle", "its.xAngle_element",
23930 FT_NONE
, BASE_NONE
, NULL
, 0,
23931 "CartesianAngle", HFILL
}},
23932 { &hf_its_euVehicleCategoryL
,
23933 { "euVehicleCategoryL", "its.euVehicleCategoryL",
23934 FT_UINT32
, BASE_DEC
, VALS(its_EuVehicleCategoryL_vals
), 0,
23936 { &hf_its_euVehicleCategoryM
,
23937 { "euVehicleCategoryM", "its.euVehicleCategoryM",
23938 FT_UINT32
, BASE_DEC
, VALS(its_EuVehicleCategoryM_vals
), 0,
23940 { &hf_its_euVehicleCategoryN
,
23941 { "euVehicleCategoryN", "its.euVehicleCategoryN",
23942 FT_UINT32
, BASE_DEC
, VALS(its_EuVehicleCategoryN_vals
), 0,
23944 { &hf_its_euVehicleCategoryO
,
23945 { "euVehicleCategoryO", "its.euVehicleCategoryO",
23946 FT_UINT32
, BASE_DEC
, VALS(its_EuVehicleCategoryO_vals
), 0,
23948 { &hf_its_euVehicleCategoryT
,
23949 { "euVehicleCategoryT", "its.euVehicleCategoryT_element",
23950 FT_NONE
, BASE_NONE
, NULL
, 0,
23952 { &hf_its_euVehicleCategoryG
,
23953 { "euVehicleCategoryG", "its.euVehicleCategoryG_element",
23954 FT_NONE
, BASE_NONE
, NULL
, 0,
23956 { &hf_its_EventHistory_item
,
23957 { "EventPoint", "its.EventPoint_element",
23958 FT_NONE
, BASE_NONE
, NULL
, 0,
23960 { &hf_its_eventPosition
,
23961 { "eventPosition", "its.eventPosition_element",
23962 FT_NONE
, BASE_NONE
, NULL
, 0,
23963 "DeltaReferencePosition", HFILL
}},
23964 { &hf_its_eventDeltaTime
,
23965 { "eventDeltaTime", "its.eventDeltaTime",
23966 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_path_delta_time_fmt
), 0,
23967 "PathDeltaTime", HFILL
}},
23968 { &hf_its_informationQuality
,
23969 { "informationQuality", "its.informationQuality",
23970 FT_UINT32
, BASE_DEC
, NULL
, 0,
23972 { &hf_its_lanePositionBased
,
23973 { "lanePositionBased", "its.lanePositionBased",
23974 FT_UINT32
, BASE_DEC
, VALS(its_LanePositionOptions_vals
), 0,
23975 "LanePositionOptions", HFILL
}},
23976 { &hf_its_mapBased
,
23977 { "mapBased", "its.mapBased_element",
23978 FT_NONE
, BASE_NONE
, NULL
, 0,
23979 "MapPosition", HFILL
}},
23980 { &hf_its_confidence_04
,
23981 { "confidence", "its.confidence_element",
23982 FT_NONE
, BASE_NONE
, NULL
, 0,
23983 "MetaInformation", HFILL
}},
23984 { &hf_its_headingValue
,
23985 { "headingValue", "its.headingValue",
23986 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_heading_value_fmt
), 0,
23988 { &hf_its_headingConfidence
,
23989 { "headingConfidence", "its.headingConfidence",
23990 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_heading_confidence_fmt
), 0,
23992 { &hf_its_direction
,
23993 { "direction", "its.direction",
23994 FT_UINT32
, BASE_DEC
, VALS(its_TurningDirection_vals
), 0,
23995 "TurningDirection", HFILL
}},
23996 { &hf_its_centreFrequency
,
23997 { "centreFrequency", "its.centreFrequency",
23998 FT_UINT32
, BASE_DEC
, NULL
, 0,
23999 "INTEGER_1_99999", HFILL
}},
24000 { &hf_its_channelWidth
,
24001 { "channelWidth", "its.channelWidth",
24002 FT_UINT32
, BASE_DEC
, NULL
, 0,
24003 "INTEGER_0_9999", HFILL
}},
24004 { &hf_its_exponent
,
24005 { "exponent", "its.exponent",
24006 FT_UINT32
, BASE_DEC
, NULL
, 0,
24007 "INTEGER_0_15", HFILL
}},
24008 { &hf_its_zoneDefinition
,
24009 { "zoneDefinition", "its.zoneDefinition_element",
24010 FT_NONE
, BASE_NONE
, NULL
, 0,
24011 "InterferenceManagementZoneDefinition", HFILL
}},
24012 { &hf_its_managementInfo
,
24013 { "managementInfo", "its.managementInfo",
24014 FT_UINT32
, BASE_DEC
, NULL
, 0,
24015 "InterferenceManagementInfo", HFILL
}},
24016 { &hf_its_interferenceManagementZoneLatitude
,
24017 { "interferenceManagementZoneLatitude", "its.interferenceManagementZoneLatitude",
24018 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_latitude_fmt
), 0,
24019 "Latitude", HFILL
}},
24020 { &hf_its_interferenceManagementZoneLongitude
,
24021 { "interferenceManagementZoneLongitude", "its.interferenceManagementZoneLongitude",
24022 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_longitude_fmt
), 0,
24023 "Longitude", HFILL
}},
24024 { &hf_its_interferenceManagementZoneId
,
24025 { "interferenceManagementZoneId", "its.interferenceManagementZoneId",
24026 FT_UINT32
, BASE_DEC
, NULL
, 0,
24027 "ProtectedZoneId", HFILL
}},
24028 { &hf_its_interferenceManagementZoneShape
,
24029 { "interferenceManagementZoneShape", "its.interferenceManagementZoneShape",
24030 FT_UINT32
, BASE_DEC
, VALS(its_Shape_vals
), 0,
24032 { &hf_its_InterferenceManagementInfo_item
,
24033 { "InterferenceManagementInfoPerChannel", "its.InterferenceManagementInfoPerChannel_element",
24034 FT_NONE
, BASE_NONE
, NULL
, 0,
24036 { &hf_its_interferenceManagementChannel
,
24037 { "interferenceManagementChannel", "its.interferenceManagementChannel_element",
24038 FT_NONE
, BASE_NONE
, NULL
, 0,
24040 { &hf_its_interferenceManagementZoneType
,
24041 { "interferenceManagementZoneType", "its.interferenceManagementZoneType",
24042 FT_UINT32
, BASE_DEC
, VALS(its_InterferenceManagementZoneType_vals
), 0,
24044 { &hf_its_interferenceManagementMitigationType
,
24045 { "interferenceManagementMitigationType", "its.interferenceManagementMitigationType",
24046 FT_UINT32
, BASE_DEC
, NULL
, 0,
24047 "MitigationForTechnologies", HFILL
}},
24048 { &hf_its_expiryTime
,
24049 { "expiryTime", "its.expiryTime",
24050 FT_UINT64
, BASE_CUSTOM
, CF_FUNC(its_timestamp_fmt
), 0,
24051 "TimestampIts", HFILL
}},
24052 { &hf_its_InterferenceManagementZones_item
,
24053 { "InterferenceManagementZone", "its.InterferenceManagementZone_element",
24054 FT_NONE
, BASE_NONE
, NULL
, 0,
24057 { "region", "its.region",
24058 FT_UINT32
, BASE_DEC
, NULL
, 0,
24059 "Identifier2B", HFILL
}},
24062 FT_UINT32
, BASE_DEC
, NULL
, 0,
24063 "Identifier2B", HFILL
}},
24064 { &hf_its_ItineraryPath_item
,
24065 { "ReferencePosition", "its.ReferencePosition_element",
24066 FT_NONE
, BASE_NONE
, NULL
, 0,
24068 { &hf_its_protocolVersion
,
24069 { "protocolVersion", "its.protocolVersion",
24070 FT_UINT32
, BASE_DEC
, NULL
, 0,
24072 { &hf_its_messageId
,
24073 { "messageId", "its.messageId",
24074 FT_UINT32
, BASE_DEC
, VALS(its_MessageId_vals
), 0,
24076 { &hf_its_stationId
,
24077 { "stationId", "its.stationId",
24078 FT_UINT32
, BASE_DEC
, NULL
, 0,
24080 { &hf_its_transversalPosition
,
24081 { "transversalPosition", "its.transversalPosition",
24082 FT_INT32
, BASE_DEC
, VALS(its_LanePosition_vals
), 0,
24083 "LanePosition", HFILL
}},
24084 { &hf_its_laneType
,
24085 { "laneType", "its.laneType",
24086 FT_UINT32
, BASE_DEC
, VALS(its_LaneType_vals
), 0,
24088 { &hf_its_direction_01
,
24089 { "direction", "its.direction",
24090 FT_UINT32
, BASE_DEC
, VALS(its_Direction_vals
), 0,
24092 { &hf_its_simplelanePosition
,
24093 { "simplelanePosition", "its.simplelanePosition",
24094 FT_INT32
, BASE_DEC
, VALS(its_LanePosition_vals
), 0,
24095 "LanePosition", HFILL
}},
24096 { &hf_its_simpleLaneType
,
24097 { "simpleLaneType", "its.simpleLaneType",
24098 FT_UINT32
, BASE_DEC
, VALS(its_LaneType_vals
), 0,
24099 "LaneType", HFILL
}},
24100 { &hf_its_detailedlanePosition
,
24101 { "detailedlanePosition", "its.detailedlanePosition_element",
24102 FT_NONE
, BASE_NONE
, NULL
, 0,
24103 "LanePositionAndType", HFILL
}},
24104 { &hf_its_lanePositionWithLateralDetails
,
24105 { "lanePositionWithLateralDetails", "its.lanePositionWithLateralDetails_element",
24106 FT_NONE
, BASE_NONE
, NULL
, 0,
24108 { &hf_its_trafficIslandPosition
,
24109 { "trafficIslandPosition", "its.trafficIslandPosition_element",
24110 FT_NONE
, BASE_NONE
, NULL
, 0,
24112 { &hf_its_lateralAccelerationValue
,
24113 { "lateralAccelerationValue", "its.lateralAccelerationValue",
24114 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_acceleration_value_fmt
), 0,
24116 { &hf_its_lateralAccelerationConfidence
,
24117 { "lateralAccelerationConfidence", "its.lateralAccelerationConfidence",
24118 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_acceleration_confidence_fmt
), 0,
24119 "AccelerationConfidence", HFILL
}},
24120 { &hf_its_longitudinalAccelerationValue
,
24121 { "longitudinalAccelerationValue", "its.longitudinalAccelerationValue",
24122 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_acceleration_value_fmt
), 0,
24124 { &hf_its_longitudinalAccelerationConfidence
,
24125 { "longitudinalAccelerationConfidence", "its.longitudinalAccelerationConfidence",
24126 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_acceleration_confidence_fmt
), 0,
24127 "AccelerationConfidence", HFILL
}},
24128 { &hf_its_longitudinalLanePositionValue
,
24129 { "longitudinalLanePositionValue", "its.longitudinalLanePositionValue",
24130 FT_UINT32
, BASE_DEC
, VALS(its_LongitudinalLanePositionValue_vals
), 0,
24132 { &hf_its_longitudinalLanePositionConfidence
,
24133 { "longitudinalLanePositionConfidence", "its.longitudinalLanePositionConfidence",
24134 FT_UINT32
, BASE_DEC
, VALS(its_LongitudinalLanePositionConfidence_vals
), 0,
24136 { &hf_its_LowerTriangularPositiveSemidefiniteMatrices_item
,
24137 { "LowerTriangularPositiveSemidefiniteMatrix", "its.LowerTriangularPositiveSemidefiniteMatrix_element",
24138 FT_NONE
, BASE_NONE
, NULL
, 0,
24140 { &hf_its_componentsIncludedIntheMatrix
,
24141 { "componentsIncludedIntheMatrix", "its.componentsIncludedIntheMatrix",
24142 FT_BYTES
, BASE_NONE
, NULL
, 0,
24143 "MatrixIncludedComponents", HFILL
}},
24145 { "matrix", "its.matrix",
24146 FT_UINT32
, BASE_DEC
, NULL
, 0,
24147 "LowerTriangularPositiveSemidefiniteMatrixColumns", HFILL
}},
24148 { &hf_its_LowerTriangularPositiveSemidefiniteMatrixColumns_item
,
24149 { "CorrelationColumn", "its.CorrelationColumn",
24150 FT_UINT32
, BASE_DEC
, NULL
, 0,
24152 { &hf_its_mapReference
,
24153 { "mapReference", "its.mapReference",
24154 FT_UINT32
, BASE_DEC
, VALS(its_MapReference_vals
), 0,
24157 { "laneId", "its.laneId",
24158 FT_UINT32
, BASE_DEC
, NULL
, 0,
24159 "Identifier1B", HFILL
}},
24160 { &hf_its_connectionId
,
24161 { "connectionId", "its.connectionId",
24162 FT_UINT32
, BASE_DEC
, NULL
, 0,
24163 "Identifier1B", HFILL
}},
24164 { &hf_its_longitudinalLanePosition
,
24165 { "longitudinalLanePosition", "its.longitudinalLanePosition_element",
24166 FT_NONE
, BASE_NONE
, NULL
, 0,
24168 { &hf_its_roadsegment
,
24169 { "roadsegment", "its.roadsegment_element",
24170 FT_NONE
, BASE_NONE
, NULL
, 0,
24171 "RoadSegmentReferenceId", HFILL
}},
24172 { &hf_its_intersection
,
24173 { "intersection", "its.intersection_element",
24174 FT_NONE
, BASE_NONE
, NULL
, 0,
24175 "IntersectionReferenceId", HFILL
}},
24176 { &hf_its_mantissa
,
24177 { "mantissa", "its.mantissa",
24178 FT_UINT32
, BASE_DEC
, NULL
, 0,
24179 "INTEGER_1_100", HFILL
}},
24180 { &hf_its_exponent_01
,
24181 { "exponent", "its.exponent",
24182 FT_INT32
, BASE_DEC
, NULL
, 0,
24183 "INTEGER_M5_2", HFILL
}},
24184 { &hf_its_totalMsgNo
,
24185 { "totalMsgNo", "its.totalMsgNo",
24186 FT_UINT32
, BASE_DEC
, NULL
, 0,
24187 "CardinalNumber3b", HFILL
}},
24188 { &hf_its_thisMsgNo
,
24189 { "thisMsgNo", "its.thisMsgNo",
24190 FT_UINT32
, BASE_DEC
, NULL
, 0,
24191 "OrdinalNumber3b", HFILL
}},
24192 { &hf_its_usedDetectionInformation
,
24193 { "usedDetectionInformation", "its.usedDetectionInformation",
24194 FT_BYTES
, BASE_NONE
, NULL
, 0,
24195 "SensorTypes", HFILL
}},
24196 { &hf_its_usedStoredInformation
,
24197 { "usedStoredInformation", "its.usedStoredInformation",
24198 FT_BYTES
, BASE_NONE
, NULL
, 0,
24199 "StoredInformationType", HFILL
}},
24200 { &hf_its_confidenceValue
,
24201 { "confidenceValue", "its.confidenceValue",
24202 FT_UINT32
, BASE_DEC
, VALS(its_ConfidenceLevel_vals
), 0,
24203 "ConfidenceLevel", HFILL
}},
24204 { &hf_its_MitigationForTechnologies_item
,
24205 { "MitigationPerTechnologyClass", "its.MitigationPerTechnologyClass_element",
24206 FT_NONE
, BASE_NONE
, NULL
, 0,
24208 { &hf_its_accessTechnologyClass
,
24209 { "accessTechnologyClass", "its.accessTechnologyClass",
24210 FT_UINT32
, BASE_DEC
, VALS(its_AccessTechnologyClass_vals
), 0,
24212 { &hf_its_lowDutyCycle
,
24213 { "lowDutyCycle", "its.lowDutyCycle",
24214 FT_UINT32
, BASE_DEC
, NULL
, 0,
24215 "INTEGER_0_10000", HFILL
}},
24216 { &hf_its_powerReduction
,
24217 { "powerReduction", "its.powerReduction",
24218 FT_UINT32
, BASE_DEC
, NULL
, 0,
24219 "INTEGER_0_30", HFILL
}},
24220 { &hf_its_dmcToffLimit
,
24221 { "dmcToffLimit", "its.dmcToffLimit",
24222 FT_UINT32
, BASE_DEC
, NULL
, 0,
24223 "INTEGER_0_1200", HFILL
}},
24224 { &hf_its_dmcTonLimit
,
24225 { "dmcTonLimit", "its.dmcTonLimit",
24226 FT_UINT32
, BASE_DEC
, NULL
, 0,
24227 "INTEGER_0_20", HFILL
}},
24228 { &hf_its_vehicleSubClass
,
24229 { "vehicleSubClass", "its.vehicleSubClass",
24230 FT_UINT32
, BASE_DEC
, VALS(its_TrafficParticipantType_vals
), 0,
24231 "TrafficParticipantType_CONSTR001", HFILL
}},
24232 { &hf_its_vruSubClass
,
24233 { "vruSubClass", "its.vruSubClass",
24234 FT_UINT32
, BASE_DEC
, VALS(its_VruProfileAndSubprofile_vals
), 0,
24235 "VruProfileAndSubprofile", HFILL
}},
24236 { &hf_its_groupSubClass
,
24237 { "groupSubClass", "its.groupSubClass_element",
24238 FT_NONE
, BASE_NONE
, NULL
, 0,
24239 "VruClusterInformation", HFILL
}},
24240 { &hf_its_otherSubClass
,
24241 { "otherSubClass", "its.otherSubClass",
24242 FT_UINT32
, BASE_DEC
, VALS(its_OtherSubClass_vals
), 0,
24244 { &hf_its_ObjectClassDescription_item
,
24245 { "ObjectClassWithConfidence", "its.ObjectClassWithConfidence_element",
24246 FT_NONE
, BASE_NONE
, NULL
, 0,
24248 { &hf_its_objectClass
,
24249 { "objectClass", "its.objectClass",
24250 FT_UINT32
, BASE_DEC
, VALS(its_ObjectClass_vals
), 0,
24252 { &hf_its_confidence_05
,
24253 { "confidence", "its.confidence",
24254 FT_UINT32
, BASE_DEC
, VALS(its_ConfidenceLevel_vals
), 0,
24255 "ConfidenceLevel", HFILL
}},
24256 { &hf_its_value_04
,
24257 { "value", "its.value",
24258 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_object_dimension_value_fmt
), 0,
24259 "ObjectDimensionValue", HFILL
}},
24260 { &hf_its_confidence_06
,
24261 { "confidence", "its.confidence",
24262 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_object_dimension_confidence_fmt
), 0,
24263 "ObjectDimensionConfidence", HFILL
}},
24264 { &hf_its_Path_item
,
24265 { "PathPoint", "its.PathPoint_element",
24266 FT_NONE
, BASE_NONE
, NULL
, 0,
24268 { &hf_its_deltaTimeHighPrecision
,
24269 { "deltaTimeHighPrecision", "its.deltaTimeHighPrecision",
24270 FT_UINT32
, BASE_DEC
, VALS(its_DeltaTimeTenthOfSecond_vals
), 0,
24271 "DeltaTimeTenthOfSecond", HFILL
}},
24272 { &hf_its_deltaTimeBigRange
,
24273 { "deltaTimeBigRange", "its.deltaTimeBigRange",
24274 FT_UINT32
, BASE_DEC
, NULL
, 0,
24275 "DeltaTimeTenSeconds", HFILL
}},
24276 { &hf_its_PathHistory_item
,
24277 { "PathPoint", "its.PathPoint_element",
24278 FT_NONE
, BASE_NONE
, NULL
, 0,
24280 { &hf_its_PathPredicted_item
,
24281 { "PathPointPredicted", "its.PathPointPredicted_element",
24282 FT_NONE
, BASE_NONE
, NULL
, 0,
24284 { &hf_its_pathPosition
,
24285 { "pathPosition", "its.pathPosition_element",
24286 FT_NONE
, BASE_NONE
, NULL
, 0,
24287 "DeltaReferencePosition", HFILL
}},
24288 { &hf_its_pathDeltaTime
,
24289 { "pathDeltaTime", "its.pathDeltaTime",
24290 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_path_delta_time_fmt
), 0,
24292 { &hf_its_horizontalPositionConfidence
,
24293 { "horizontalPositionConfidence", "its.horizontalPositionConfidence_element",
24294 FT_NONE
, BASE_NONE
, NULL
, 0,
24295 "PosConfidenceEllipse", HFILL
}},
24296 { &hf_its_pathDeltaTime_01
,
24297 { "pathDeltaTime", "its.pathDeltaTime",
24298 FT_UINT32
, BASE_DEC
, VALS(its_PathDeltaTimeChoice_vals
), 0,
24299 "PathDeltaTimeChoice", HFILL
}},
24300 { &hf_its_symmetricAreaOffset
,
24301 { "symmetricAreaOffset", "its.symmetricAreaOffset",
24302 FT_UINT32
, BASE_DEC
, NULL
, 0,
24303 "StandardLength9b", HFILL
}},
24304 { &hf_its_asymmetricAreaOffset
,
24305 { "asymmetricAreaOffset", "its.asymmetricAreaOffset",
24306 FT_UINT32
, BASE_DEC
, NULL
, 0,
24307 "StandardLength9b", HFILL
}},
24308 { &hf_its_objectId
,
24309 { "objectId", "its.objectId",
24310 FT_UINT32
, BASE_DEC
, NULL
, 0,
24311 "Identifier2B", HFILL
}},
24312 { &hf_its_measurementDeltaTime
,
24313 { "measurementDeltaTime", "its.measurementDeltaTime",
24314 FT_INT32
, BASE_DEC
, NULL
, 0,
24315 "DeltaTimeMilliSecondSigned", HFILL
}},
24316 { &hf_its_position
,
24317 { "position", "its.position_element",
24318 FT_NONE
, BASE_NONE
, NULL
, 0,
24319 "CartesianPosition3dWithConfidence", HFILL
}},
24320 { &hf_its_velocity
,
24321 { "velocity", "its.velocity",
24322 FT_UINT32
, BASE_DEC
, VALS(its_Velocity3dWithConfidence_vals
), 0,
24323 "Velocity3dWithConfidence", HFILL
}},
24324 { &hf_its_acceleration
,
24325 { "acceleration", "its.acceleration",
24326 FT_UINT32
, BASE_DEC
, VALS(its_Acceleration3dWithConfidence_vals
), 0,
24327 "Acceleration3dWithConfidence", HFILL
}},
24329 { "angles", "its.angles_element",
24330 FT_NONE
, BASE_NONE
, NULL
, 0,
24331 "EulerAnglesWithConfidence", HFILL
}},
24332 { &hf_its_zAngularVelocity
,
24333 { "zAngularVelocity", "its.zAngularVelocity_element",
24334 FT_NONE
, BASE_NONE
, NULL
, 0,
24335 "CartesianAngularVelocityComponent", HFILL
}},
24336 { &hf_its_lowerTriangularCorrelationMatrices
,
24337 { "lowerTriangularCorrelationMatrices", "its.lowerTriangularCorrelationMatrices",
24338 FT_UINT32
, BASE_DEC
, NULL
, 0,
24339 "LowerTriangularPositiveSemidefiniteMatrices", HFILL
}},
24340 { &hf_its_objectDimensionZ
,
24341 { "objectDimensionZ", "its.objectDimensionZ_element",
24342 FT_NONE
, BASE_NONE
, NULL
, 0,
24343 "ObjectDimension", HFILL
}},
24344 { &hf_its_objectDimensionY
,
24345 { "objectDimensionY", "its.objectDimensionY_element",
24346 FT_NONE
, BASE_NONE
, NULL
, 0,
24347 "ObjectDimension", HFILL
}},
24348 { &hf_its_objectDimensionX
,
24349 { "objectDimensionX", "its.objectDimensionX_element",
24350 FT_NONE
, BASE_NONE
, NULL
, 0,
24351 "ObjectDimension", HFILL
}},
24352 { &hf_its_objectAge
,
24353 { "objectAge", "its.objectAge",
24354 FT_INT32
, BASE_DEC
, NULL
, 0,
24355 "DeltaTimeMilliSecondSigned_0_2047", HFILL
}},
24356 { &hf_its_objectPerceptionQuality
,
24357 { "objectPerceptionQuality", "its.objectPerceptionQuality",
24358 FT_UINT32
, BASE_DEC
, VALS(its_ObjectPerceptionQuality_vals
), 0,
24360 { &hf_its_sensorIdList
,
24361 { "sensorIdList", "its.sensorIdList",
24362 FT_UINT32
, BASE_DEC
, NULL
, 0,
24363 "SequenceOfIdentifier1B", HFILL
}},
24364 { &hf_its_classification
,
24365 { "classification", "its.classification",
24366 FT_UINT32
, BASE_DEC
, NULL
, 0,
24367 "ObjectClassDescription", HFILL
}},
24368 { &hf_its_mapPosition
,
24369 { "mapPosition", "its.mapPosition_element",
24370 FT_NONE
, BASE_NONE
, NULL
, 0,
24373 { "polygon", "its.polygon",
24374 FT_UINT32
, BASE_DEC
, NULL
, 0,
24375 "SequenceOfCartesianPosition3d_SIZE_3_16_", HFILL
}},
24376 { &hf_its_semiMajorConfidence
,
24377 { "semiMajorConfidence", "its.semiMajorConfidence",
24378 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_sax_length_fmt
), 0,
24379 "SemiAxisLength", HFILL
}},
24380 { &hf_its_semiMinorConfidence
,
24381 { "semiMinorConfidence", "its.semiMinorConfidence",
24382 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_sax_length_fmt
), 0,
24383 "SemiAxisLength", HFILL
}},
24384 { &hf_its_semiMajorOrientation
,
24385 { "semiMajorOrientation", "its.semiMajorOrientation",
24386 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_heading_value_fmt
), 0,
24387 "HeadingValue", HFILL
}},
24388 { &hf_its_semiMajorAxisLength_01
,
24389 { "semiMajorAxisLength", "its.semiMajorAxisLength",
24390 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_sax_length_fmt
), 0,
24391 "SemiAxisLength", HFILL
}},
24392 { &hf_its_semiMinorAxisLength_01
,
24393 { "semiMinorAxisLength", "its.semiMinorAxisLength",
24394 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_sax_length_fmt
), 0,
24395 "SemiAxisLength", HFILL
}},
24396 { &hf_its_semiMajorAxisOrientation
,
24397 { "semiMajorAxisOrientation", "its.semiMajorAxisOrientation",
24398 FT_UINT32
, BASE_DEC
, VALS(its_Wgs84AngleValue_vals
), 0,
24399 "Wgs84AngleValue", HFILL
}},
24400 { &hf_its_PositionOfPillars_item
,
24401 { "PosPillar", "its.PosPillar",
24402 FT_UINT32
, BASE_DEC
, VALS(its_PosPillar_vals
), 0,
24404 { &hf_its_protectedZoneType
,
24405 { "protectedZoneType", "its.protectedZoneType",
24406 FT_UINT32
, BASE_DEC
, VALS(its_ProtectedZoneType_vals
), 0,
24408 { &hf_its_protectedZoneRadius
,
24409 { "protectedZoneRadius", "its.protectedZoneRadius",
24410 FT_UINT32
, BASE_DEC
, NULL
, 0,
24412 { &hf_its_protectedZoneId
,
24413 { "protectedZoneId", "its.protectedZoneId",
24414 FT_UINT32
, BASE_DEC
, NULL
, 0,
24416 { &hf_its_ProtectedCommunicationZonesRSU_item
,
24417 { "ProtectedCommunicationZone", "its.ProtectedCommunicationZone_element",
24418 FT_NONE
, BASE_NONE
, NULL
, 0,
24420 { &hf_its_ptActivationType
,
24421 { "ptActivationType", "its.ptActivationType",
24422 FT_UINT32
, BASE_DEC
, VALS(its_PtActivationType_vals
), 0,
24424 { &hf_its_ptActivationData
,
24425 { "ptActivationData", "its.ptActivationData",
24426 FT_BYTES
, BASE_NONE
, NULL
, 0,
24429 { "range", "its.range",
24430 FT_UINT32
, BASE_DEC
, NULL
, 0,
24431 "StandardLength12b", HFILL
}},
24432 { &hf_its_horizontalOpeningAngleStart
,
24433 { "horizontalOpeningAngleStart", "its.horizontalOpeningAngleStart",
24434 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_cartesian_angle_value_fmt
), 0,
24435 "CartesianAngleValue", HFILL
}},
24436 { &hf_its_horizontalOpeningAngleEnd
,
24437 { "horizontalOpeningAngleEnd", "its.horizontalOpeningAngleEnd",
24438 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_cartesian_angle_value_fmt
), 0,
24439 "CartesianAngleValue", HFILL
}},
24440 { &hf_its_verticalOpeningAngleStart
,
24441 { "verticalOpeningAngleStart", "its.verticalOpeningAngleStart",
24442 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_cartesian_angle_value_fmt
), 0,
24443 "CartesianAngleValue", HFILL
}},
24444 { &hf_its_verticalOpeningAngleEnd
,
24445 { "verticalOpeningAngleEnd", "its.verticalOpeningAngleEnd",
24446 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_cartesian_angle_value_fmt
), 0,
24447 "CartesianAngleValue", HFILL
}},
24448 { &hf_its_refPointId
,
24449 { "refPointId", "its.refPointId",
24450 FT_UINT32
, BASE_DEC
, NULL
, 0,
24451 "Identifier1B", HFILL
}},
24452 { &hf_its_xCoordinate_02
,
24453 { "xCoordinate", "its.xCoordinate",
24454 FT_INT32
, BASE_DEC
, VALS(its_CartesianCoordinateSmall_vals
), 0,
24455 "CartesianCoordinateSmall", HFILL
}},
24456 { &hf_its_yCoordinate_02
,
24457 { "yCoordinate", "its.yCoordinate",
24458 FT_INT32
, BASE_DEC
, VALS(its_CartesianCoordinateSmall_vals
), 0,
24459 "CartesianCoordinateSmall", HFILL
}},
24460 { &hf_its_zCoordinate_02
,
24461 { "zCoordinate", "its.zCoordinate",
24462 FT_INT32
, BASE_DEC
, VALS(its_CartesianCoordinateSmall_vals
), 0,
24463 "CartesianCoordinateSmall", HFILL
}},
24464 { &hf_its_radialShapesList
,
24465 { "radialShapesList", "its.radialShapesList",
24466 FT_UINT32
, BASE_DEC
, NULL
, 0,
24468 { &hf_its_RadialShapesList_item
,
24469 { "RadialShapeDetails", "its.RadialShapeDetails_element",
24470 FT_NONE
, BASE_NONE
, NULL
, 0,
24472 { &hf_its_semiLength
,
24473 { "semiLength", "its.semiLength",
24474 FT_UINT32
, BASE_DEC
, NULL
, 0,
24475 "StandardLength12b", HFILL
}},
24476 { &hf_its_semiBreadth
,
24477 { "semiBreadth", "its.semiBreadth",
24478 FT_UINT32
, BASE_DEC
, NULL
, 0,
24479 "StandardLength12b", HFILL
}},
24480 { &hf_its_latitude
,
24481 { "latitude", "its.latitude",
24482 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_latitude_fmt
), 0,
24484 { &hf_its_longitude
,
24485 { "longitude", "its.longitude",
24486 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_longitude_fmt
), 0,
24488 { &hf_its_positionConfidenceEllipse
,
24489 { "positionConfidenceEllipse", "its.positionConfidenceEllipse_element",
24490 FT_NONE
, BASE_NONE
, NULL
, 0,
24491 "PosConfidenceEllipse", HFILL
}},
24492 { &hf_its_altitude
,
24493 { "altitude", "its.altitude_element",
24494 FT_NONE
, BASE_NONE
, NULL
, 0,
24496 { &hf_its_positionConfidenceEllipse_01
,
24497 { "positionConfidenceEllipse", "its.positionConfidenceEllipse_element",
24498 FT_NONE
, BASE_NONE
, NULL
, 0,
24500 { &hf_its_RestrictedTypes_item
,
24501 { "StationType", "its.StationType",
24502 FT_UINT32
, BASE_DEC
, VALS(its_StationType_vals
), 0,
24504 { &hf_its_subjectStation
,
24505 { "subjectStation", "its.subjectStation",
24506 FT_UINT32
, BASE_DEC
, NULL
, 0,
24507 "StationId", HFILL
}},
24508 { &hf_its_safeDistanceIndicator
,
24509 { "safeDistanceIndicator", "its.safeDistanceIndicator",
24510 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
24512 { &hf_its_timeToCollision
,
24513 { "timeToCollision", "its.timeToCollision",
24514 FT_UINT32
, BASE_DEC
, VALS(its_DeltaTimeTenthOfSecond_vals
), 0,
24515 "DeltaTimeTenthOfSecond", HFILL
}},
24516 { &hf_its_SequenceOfCartesianPosition3d_item
,
24517 { "CartesianPosition3d", "its.CartesianPosition3d_element",
24518 FT_NONE
, BASE_NONE
, NULL
, 0,
24520 { &hf_its_SequenceOfIdentifier1B_item
,
24521 { "Identifier1B", "its.Identifier1B",
24522 FT_UINT32
, BASE_DEC
, NULL
, 0,
24524 { &hf_its_SequenceOfSafeDistanceIndication_item
,
24525 { "SafeDistanceIndication", "its.SafeDistanceIndication_element",
24526 FT_NONE
, BASE_NONE
, NULL
, 0,
24528 { &hf_its_SequenceOfTrajectoryInterceptionIndication_item
,
24529 { "TrajectoryInterceptionIndication", "its.TrajectoryInterceptionIndication_element",
24530 FT_NONE
, BASE_NONE
, NULL
, 0,
24532 { &hf_its_rectangular
,
24533 { "rectangular", "its.rectangular_element",
24534 FT_NONE
, BASE_NONE
, NULL
, 0,
24535 "RectangularShape", HFILL
}},
24536 { &hf_its_circular
,
24537 { "circular", "its.circular_element",
24538 FT_NONE
, BASE_NONE
, NULL
, 0,
24539 "CircularShape", HFILL
}},
24540 { &hf_its_polygonal
,
24541 { "polygonal", "its.polygonal_element",
24542 FT_NONE
, BASE_NONE
, NULL
, 0,
24543 "PolygonalShape", HFILL
}},
24544 { &hf_its_elliptical
,
24545 { "elliptical", "its.elliptical_element",
24546 FT_NONE
, BASE_NONE
, NULL
, 0,
24547 "EllipticalShape", HFILL
}},
24549 { "radial", "its.radial_element",
24550 FT_NONE
, BASE_NONE
, NULL
, 0,
24551 "RadialShape", HFILL
}},
24552 { &hf_its_radialShapes
,
24553 { "radialShapes", "its.radialShapes_element",
24554 FT_NONE
, BASE_NONE
, NULL
, 0,
24556 { &hf_its_speedValue
,
24557 { "speedValue", "its.speedValue",
24558 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_value_fmt
), 0,
24560 { &hf_its_speedConfidence
,
24561 { "speedConfidence", "its.speedConfidence",
24562 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_confidence_fmt
), 0,
24564 { &hf_its_lossProbability
,
24565 { "lossProbability", "its.lossProbability",
24566 FT_UINT32
, BASE_DEC
, VALS(its_StabilityLossProbability_vals
), 0,
24567 "StabilityLossProbability", HFILL
}},
24568 { &hf_its_steeringWheelAngleValue
,
24569 { "steeringWheelAngleValue", "its.steeringWheelAngleValue",
24570 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_swa_value_fmt
), 0,
24572 { &hf_its_steeringWheelAngleConfidence
,
24573 { "steeringWheelAngleConfidence", "its.steeringWheelAngleConfidence",
24574 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_swa_confidence_fmt
), 0,
24576 { &hf_its_Traces_item
,
24577 { "Path", "its.Path",
24578 FT_UINT32
, BASE_DEC
, NULL
, 0,
24581 { "oneSide", "its.oneSide_element",
24582 FT_NONE
, BASE_NONE
, NULL
, 0,
24583 "LanePositionAndType", HFILL
}},
24584 { &hf_its_otherSide
,
24585 { "otherSide", "its.otherSide_element",
24586 FT_NONE
, BASE_NONE
, NULL
, 0,
24587 "LanePositionAndType", HFILL
}},
24588 { &hf_its_hitchPointOffset
,
24589 { "hitchPointOffset", "its.hitchPointOffset",
24590 FT_UINT32
, BASE_DEC
, NULL
, 0,
24591 "StandardLength1B", HFILL
}},
24592 { &hf_its_frontOverhang
,
24593 { "frontOverhang", "its.frontOverhang",
24594 FT_UINT32
, BASE_DEC
, NULL
, 0,
24595 "StandardLength1B", HFILL
}},
24596 { &hf_its_rearOverhang
,
24597 { "rearOverhang", "its.rearOverhang",
24598 FT_UINT32
, BASE_DEC
, NULL
, 0,
24599 "StandardLength1B", HFILL
}},
24600 { &hf_its_trailerWidth
,
24601 { "trailerWidth", "its.trailerWidth",
24602 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_vehicle_width_fmt
), 0,
24603 "VehicleWidth", HFILL
}},
24604 { &hf_its_hitchAngle
,
24605 { "hitchAngle", "its.hitchAngle_element",
24606 FT_NONE
, BASE_NONE
, NULL
, 0,
24607 "CartesianAngle", HFILL
}},
24608 { &hf_its_trajectoryInterceptionProbability
,
24609 { "trajectoryInterceptionProbability", "its.trajectoryInterceptionProbability",
24610 FT_UINT32
, BASE_DEC
, VALS(its_TrajectoryInterceptionProbability_vals
), 0,
24612 { &hf_its_trajectoryInterceptionConfidence
,
24613 { "trajectoryInterceptionConfidence", "its.trajectoryInterceptionConfidence",
24614 FT_UINT32
, BASE_DEC
, VALS(its_TrajectoryInterceptionConfidence_vals
), 0,
24616 { &hf_its_vlnContent
,
24617 { "content", "its.content",
24618 FT_UINT32
, BASE_DEC
, NULL
, 0,
24619 "INTEGER_0_127", HFILL
}},
24620 { &hf_its_vlnExtension
,
24621 { "extension", "its.extension",
24622 FT_UINT32
, BASE_DEC
, VALS(its_Ext1_vals
), 0,
24624 { &hf_its_e1Content
,
24625 { "content", "its.content",
24626 FT_UINT32
, BASE_DEC
, NULL
, 0,
24627 "INTEGER_128_16511", HFILL
}},
24628 { &hf_its_e2Extension
,
24629 { "extension", "its.extension",
24630 FT_UINT32
, BASE_DEC
, VALS(its_Ext2_vals
), 0,
24632 { &hf_its_e2Content
,
24633 { "content", "its.content",
24634 FT_UINT32
, BASE_DEC
, NULL
, 0,
24635 "INTEGER_16512_2113663", HFILL
}},
24636 { &hf_its_e1Extension
,
24637 { "extension", "its.extension",
24638 FT_UINT32
, BASE_DEC
, NULL
, 0,
24640 { &hf_its_verticalAccelerationValue
,
24641 { "verticalAccelerationValue", "its.verticalAccelerationValue",
24642 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_acceleration_value_fmt
), 0,
24644 { &hf_its_verticalAccelerationConfidence
,
24645 { "verticalAccelerationConfidence", "its.verticalAccelerationConfidence",
24646 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_acceleration_confidence_fmt
), 0,
24647 "AccelerationConfidence", HFILL
}},
24648 { &hf_its_wMInumber
,
24649 { "wMInumber", "its.wMInumber",
24650 FT_STRING
, BASE_NONE
, NULL
, 0,
24653 { "vDS", "its.vDS",
24654 FT_STRING
, BASE_NONE
, NULL
, 0,
24656 { &hf_its_vehicleLengthValue
,
24657 { "vehicleLengthValue", "its.vehicleLengthValue",
24658 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_vehicle_length_value_fmt
), 0,
24660 { &hf_its_vehicleLengthConfidenceIndication
,
24661 { "vehicleLengthConfidenceIndication", "its.vehicleLengthConfidenceIndication",
24662 FT_UINT32
, BASE_DEC
, VALS(its_VehicleLengthConfidenceIndication_vals
), 0,
24664 { &hf_its_polarVelocity
,
24665 { "polarVelocity", "its.polarVelocity_element",
24666 FT_NONE
, BASE_NONE
, NULL
, 0,
24667 "VelocityPolarWithZ", HFILL
}},
24668 { &hf_its_cartesianVelocity
,
24669 { "cartesianVelocity", "its.cartesianVelocity_element",
24670 FT_NONE
, BASE_NONE
, NULL
, 0,
24671 "VelocityCartesian", HFILL
}},
24672 { &hf_its_xVelocity
,
24673 { "xVelocity", "its.xVelocity_element",
24674 FT_NONE
, BASE_NONE
, NULL
, 0,
24675 "VelocityComponent", HFILL
}},
24676 { &hf_its_yVelocity
,
24677 { "yVelocity", "its.yVelocity_element",
24678 FT_NONE
, BASE_NONE
, NULL
, 0,
24679 "VelocityComponent", HFILL
}},
24680 { &hf_its_zVelocity
,
24681 { "zVelocity", "its.zVelocity_element",
24682 FT_NONE
, BASE_NONE
, NULL
, 0,
24683 "VelocityComponent", HFILL
}},
24684 { &hf_its_value_05
,
24685 { "value", "its.value",
24686 FT_INT32
, BASE_DEC
, VALS(its_VelocityComponentValue_vals
), 0,
24687 "VelocityComponentValue", HFILL
}},
24688 { &hf_its_confidence_07
,
24689 { "confidence", "its.confidence",
24690 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_confidence_fmt
), 0,
24691 "SpeedConfidence", HFILL
}},
24692 { &hf_its_velocityMagnitude
,
24693 { "velocityMagnitude", "its.velocityMagnitude_element",
24694 FT_NONE
, BASE_NONE
, NULL
, 0,
24696 { &hf_its_velocityDirection
,
24697 { "velocityDirection", "its.velocityDirection_element",
24698 FT_NONE
, BASE_NONE
, NULL
, 0,
24699 "CartesianAngle", HFILL
}},
24700 { &hf_its_clusterBoundingBoxShape
,
24701 { "clusterBoundingBoxShape", "its.clusterBoundingBoxShape",
24702 FT_UINT32
, BASE_DEC
, VALS(its_Shape_vals
), 0,
24704 { &hf_its_clusterCardinalitySize
,
24705 { "clusterCardinalitySize", "its.clusterCardinalitySize",
24706 FT_UINT32
, BASE_DEC
, NULL
, 0,
24707 "CardinalNumber1B", HFILL
}},
24708 { &hf_its_clusterProfiles
,
24709 { "clusterProfiles", "its.clusterProfiles",
24710 FT_BYTES
, BASE_NONE
, NULL
, 0,
24711 "VruClusterProfiles", HFILL
}},
24712 { &hf_its_vehicular
,
24713 { "vehicular", "its.vehicular",
24714 FT_BYTES
, BASE_NONE
, NULL
, 0,
24715 "ExteriorLights", HFILL
}},
24716 { &hf_its_vruSpecific
,
24717 { "vruSpecific", "its.vruSpecific",
24718 FT_BYTES
, BASE_NONE
, NULL
, 0,
24719 "VruSpecificExteriorLights", HFILL
}},
24720 { &hf_its_pedestrian
,
24721 { "pedestrian", "its.pedestrian",
24722 FT_UINT32
, BASE_DEC
, VALS(its_VruSubProfilePedestrian_vals
), 0,
24723 "VruSubProfilePedestrian", HFILL
}},
24724 { &hf_its_bicyclistAndLightVruVehicle
,
24725 { "bicyclistAndLightVruVehicle", "its.bicyclistAndLightVruVehicle",
24726 FT_UINT32
, BASE_DEC
, VALS(its_VruSubProfileBicyclist_vals
), 0,
24727 "VruSubProfileBicyclist", HFILL
}},
24728 { &hf_its_motorcyclist
,
24729 { "motorcyclist", "its.motorcyclist",
24730 FT_UINT32
, BASE_DEC
, VALS(its_VruSubProfileMotorcyclist_vals
), 0,
24731 "VruSubProfileMotorcyclist", HFILL
}},
24733 { "animal", "its.animal",
24734 FT_UINT32
, BASE_DEC
, VALS(its_VruSubProfileAnimal_vals
), 0,
24735 "VruSubProfileAnimal", HFILL
}},
24736 { &hf_its_value_06
,
24737 { "value", "its.value",
24738 FT_UINT32
, BASE_DEC
, VALS(its_Wgs84AngleValue_vals
), 0,
24739 "Wgs84AngleValue", HFILL
}},
24740 { &hf_its_confidence_08
,
24741 { "confidence", "its.confidence",
24742 FT_UINT32
, BASE_DEC
, VALS(its_Wgs84AngleConfidence_vals
), 0,
24743 "Wgs84AngleConfidence", HFILL
}},
24744 { &hf_its_yawRateValue
,
24745 { "yawRateValue", "its.yawRateValue",
24746 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_yaw_rate_value_fmt
), 0,
24748 { &hf_its_yawRateConfidence
,
24749 { "yawRateConfidence", "its.yawRateConfidence",
24750 FT_UINT32
, BASE_DEC
, VALS(its_YawRateConfidence_vals
), 0,
24752 { &hf_its_distanceToLeftBorder
,
24753 { "distanceToLeftBorder", "its.distanceToLeftBorder",
24754 FT_UINT32
, BASE_DEC
, NULL
, 0,
24755 "StandardLength9b", HFILL
}},
24756 { &hf_its_distanceToRightBorder
,
24757 { "distanceToRightBorder", "its.distanceToRightBorder",
24758 FT_UINT32
, BASE_DEC
, NULL
, 0,
24759 "StandardLength9b", HFILL
}},
24760 { &hf_its_AccelerationControl_brakePedalEngaged
,
24761 { "brakePedalEngaged", "its.AccelerationControl.brakePedalEngaged",
24762 FT_BOOLEAN
, 8, NULL
, 0x80,
24764 { &hf_its_AccelerationControl_gasPedalEngaged
,
24765 { "gasPedalEngaged", "its.AccelerationControl.gasPedalEngaged",
24766 FT_BOOLEAN
, 8, NULL
, 0x40,
24768 { &hf_its_AccelerationControl_emergencyBrakeEngaged
,
24769 { "emergencyBrakeEngaged", "its.AccelerationControl.emergencyBrakeEngaged",
24770 FT_BOOLEAN
, 8, NULL
, 0x20,
24772 { &hf_its_AccelerationControl_collisionWarningEngaged
,
24773 { "collisionWarningEngaged", "its.AccelerationControl.collisionWarningEngaged",
24774 FT_BOOLEAN
, 8, NULL
, 0x10,
24776 { &hf_its_AccelerationControl_accEngaged
,
24777 { "accEngaged", "its.AccelerationControl.accEngaged",
24778 FT_BOOLEAN
, 8, NULL
, 0x08,
24780 { &hf_its_AccelerationControl_cruiseControlEngaged
,
24781 { "cruiseControlEngaged", "its.AccelerationControl.cruiseControlEngaged",
24782 FT_BOOLEAN
, 8, NULL
, 0x04,
24784 { &hf_its_AccelerationControl_speedLimiterEngaged
,
24785 { "speedLimiterEngaged", "its.AccelerationControl.speedLimiterEngaged",
24786 FT_BOOLEAN
, 8, NULL
, 0x02,
24788 { &hf_its_EmergencyPriority_requestForRightOfWay
,
24789 { "requestForRightOfWay", "its.EmergencyPriority.requestForRightOfWay",
24790 FT_BOOLEAN
, 8, NULL
, 0x80,
24792 { &hf_its_EmergencyPriority_requestForFreeCrossingAtATrafficLight
,
24793 { "requestForFreeCrossingAtATrafficLight", "its.EmergencyPriority.requestForFreeCrossingAtATrafficLight",
24794 FT_BOOLEAN
, 8, NULL
, 0x40,
24796 { &hf_its_EnergyStorageType_hydrogenStorage
,
24797 { "hydrogenStorage", "its.EnergyStorageType.hydrogenStorage",
24798 FT_BOOLEAN
, 8, NULL
, 0x80,
24800 { &hf_its_EnergyStorageType_electricEnergyStorage
,
24801 { "electricEnergyStorage", "its.EnergyStorageType.electricEnergyStorage",
24802 FT_BOOLEAN
, 8, NULL
, 0x40,
24804 { &hf_its_EnergyStorageType_liquidPropaneGas
,
24805 { "liquidPropaneGas", "its.EnergyStorageType.liquidPropaneGas",
24806 FT_BOOLEAN
, 8, NULL
, 0x20,
24808 { &hf_its_EnergyStorageType_compressedNaturalGas
,
24809 { "compressedNaturalGas", "its.EnergyStorageType.compressedNaturalGas",
24810 FT_BOOLEAN
, 8, NULL
, 0x10,
24812 { &hf_its_EnergyStorageType_diesel
,
24813 { "diesel", "its.EnergyStorageType.diesel",
24814 FT_BOOLEAN
, 8, NULL
, 0x08,
24816 { &hf_its_EnergyStorageType_gasoline
,
24817 { "gasoline", "its.EnergyStorageType.gasoline",
24818 FT_BOOLEAN
, 8, NULL
, 0x04,
24820 { &hf_its_EnergyStorageType_ammonia
,
24821 { "ammonia", "its.EnergyStorageType.ammonia",
24822 FT_BOOLEAN
, 8, NULL
, 0x02,
24824 { &hf_its_ExteriorLights_lowBeamHeadlightsOn
,
24825 { "lowBeamHeadlightsOn", "its.ExteriorLights.lowBeamHeadlightsOn",
24826 FT_BOOLEAN
, 8, NULL
, 0x80,
24828 { &hf_its_ExteriorLights_highBeamHeadlightsOn
,
24829 { "highBeamHeadlightsOn", "its.ExteriorLights.highBeamHeadlightsOn",
24830 FT_BOOLEAN
, 8, NULL
, 0x40,
24832 { &hf_its_ExteriorLights_leftTurnSignalOn
,
24833 { "leftTurnSignalOn", "its.ExteriorLights.leftTurnSignalOn",
24834 FT_BOOLEAN
, 8, NULL
, 0x20,
24836 { &hf_its_ExteriorLights_rightTurnSignalOn
,
24837 { "rightTurnSignalOn", "its.ExteriorLights.rightTurnSignalOn",
24838 FT_BOOLEAN
, 8, NULL
, 0x10,
24840 { &hf_its_ExteriorLights_daytimeRunningLightsOn
,
24841 { "daytimeRunningLightsOn", "its.ExteriorLights.daytimeRunningLightsOn",
24842 FT_BOOLEAN
, 8, NULL
, 0x08,
24844 { &hf_its_ExteriorLights_reverseLightOn
,
24845 { "reverseLightOn", "its.ExteriorLights.reverseLightOn",
24846 FT_BOOLEAN
, 8, NULL
, 0x04,
24848 { &hf_its_ExteriorLights_fogLightOn
,
24849 { "fogLightOn", "its.ExteriorLights.fogLightOn",
24850 FT_BOOLEAN
, 8, NULL
, 0x02,
24852 { &hf_its_ExteriorLights_parkingLightsOn
,
24853 { "parkingLightsOn", "its.ExteriorLights.parkingLightsOn",
24854 FT_BOOLEAN
, 8, NULL
, 0x01,
24856 { &hf_its_LightBarSirenInUse_lightBarActivated
,
24857 { "lightBarActivated", "its.LightBarSirenInUse.lightBarActivated",
24858 FT_BOOLEAN
, 8, NULL
, 0x80,
24860 { &hf_its_LightBarSirenInUse_sirenActivated
,
24861 { "sirenActivated", "its.LightBarSirenInUse.sirenActivated",
24862 FT_BOOLEAN
, 8, NULL
, 0x40,
24864 { &hf_its_MatrixIncludedComponents_xPosition
,
24865 { "xPosition", "its.MatrixIncludedComponents.xPosition",
24866 FT_BOOLEAN
, 8, NULL
, 0x80,
24868 { &hf_its_MatrixIncludedComponents_yPosition
,
24869 { "yPosition", "its.MatrixIncludedComponents.yPosition",
24870 FT_BOOLEAN
, 8, NULL
, 0x40,
24872 { &hf_its_MatrixIncludedComponents_zPosition
,
24873 { "zPosition", "its.MatrixIncludedComponents.zPosition",
24874 FT_BOOLEAN
, 8, NULL
, 0x20,
24876 { &hf_its_MatrixIncludedComponents_xVelocityOrVelocityMagnitude
,
24877 { "xVelocityOrVelocityMagnitude", "its.MatrixIncludedComponents.xVelocityOrVelocityMagnitude",
24878 FT_BOOLEAN
, 8, NULL
, 0x10,
24880 { &hf_its_MatrixIncludedComponents_yVelocityOrVelocityDirection
,
24881 { "yVelocityOrVelocityDirection", "its.MatrixIncludedComponents.yVelocityOrVelocityDirection",
24882 FT_BOOLEAN
, 8, NULL
, 0x08,
24884 { &hf_its_MatrixIncludedComponents_zSpeed
,
24885 { "zSpeed", "its.MatrixIncludedComponents.zSpeed",
24886 FT_BOOLEAN
, 8, NULL
, 0x04,
24888 { &hf_its_MatrixIncludedComponents_xAccelOrAccelMagnitude
,
24889 { "xAccelOrAccelMagnitude", "its.MatrixIncludedComponents.xAccelOrAccelMagnitude",
24890 FT_BOOLEAN
, 8, NULL
, 0x02,
24892 { &hf_its_MatrixIncludedComponents_yAccelOrAccelDirection
,
24893 { "yAccelOrAccelDirection", "its.MatrixIncludedComponents.yAccelOrAccelDirection",
24894 FT_BOOLEAN
, 8, NULL
, 0x01,
24896 { &hf_its_MatrixIncludedComponents_zAcceleration
,
24897 { "zAcceleration", "its.MatrixIncludedComponents.zAcceleration",
24898 FT_BOOLEAN
, 8, NULL
, 0x80,
24900 { &hf_its_MatrixIncludedComponents_zAngle
,
24901 { "zAngle", "its.MatrixIncludedComponents.zAngle",
24902 FT_BOOLEAN
, 8, NULL
, 0x40,
24904 { &hf_its_MatrixIncludedComponents_yAngle
,
24905 { "yAngle", "its.MatrixIncludedComponents.yAngle",
24906 FT_BOOLEAN
, 8, NULL
, 0x20,
24908 { &hf_its_MatrixIncludedComponents_xAngle
,
24909 { "xAngle", "its.MatrixIncludedComponents.xAngle",
24910 FT_BOOLEAN
, 8, NULL
, 0x10,
24912 { &hf_its_MatrixIncludedComponents_zAngularVelocity
,
24913 { "zAngularVelocity", "its.MatrixIncludedComponents.zAngularVelocity",
24914 FT_BOOLEAN
, 8, NULL
, 0x08,
24916 { &hf_its_PositionOfOccupants_row1LeftOccupied
,
24917 { "row1LeftOccupied", "its.PositionOfOccupants.row1LeftOccupied",
24918 FT_BOOLEAN
, 8, NULL
, 0x80,
24920 { &hf_its_PositionOfOccupants_row1RightOccupied
,
24921 { "row1RightOccupied", "its.PositionOfOccupants.row1RightOccupied",
24922 FT_BOOLEAN
, 8, NULL
, 0x40,
24924 { &hf_its_PositionOfOccupants_row1MidOccupied
,
24925 { "row1MidOccupied", "its.PositionOfOccupants.row1MidOccupied",
24926 FT_BOOLEAN
, 8, NULL
, 0x20,
24928 { &hf_its_PositionOfOccupants_row1NotDetectable
,
24929 { "row1NotDetectable", "its.PositionOfOccupants.row1NotDetectable",
24930 FT_BOOLEAN
, 8, NULL
, 0x10,
24932 { &hf_its_PositionOfOccupants_row1NotPresent
,
24933 { "row1NotPresent", "its.PositionOfOccupants.row1NotPresent",
24934 FT_BOOLEAN
, 8, NULL
, 0x08,
24936 { &hf_its_PositionOfOccupants_row2LeftOccupied
,
24937 { "row2LeftOccupied", "its.PositionOfOccupants.row2LeftOccupied",
24938 FT_BOOLEAN
, 8, NULL
, 0x04,
24940 { &hf_its_PositionOfOccupants_row2RightOccupied
,
24941 { "row2RightOccupied", "its.PositionOfOccupants.row2RightOccupied",
24942 FT_BOOLEAN
, 8, NULL
, 0x02,
24944 { &hf_its_PositionOfOccupants_row2MidOccupied
,
24945 { "row2MidOccupied", "its.PositionOfOccupants.row2MidOccupied",
24946 FT_BOOLEAN
, 8, NULL
, 0x01,
24948 { &hf_its_PositionOfOccupants_row2NotDetectable
,
24949 { "row2NotDetectable", "its.PositionOfOccupants.row2NotDetectable",
24950 FT_BOOLEAN
, 8, NULL
, 0x80,
24952 { &hf_its_PositionOfOccupants_row2NotPresent
,
24953 { "row2NotPresent", "its.PositionOfOccupants.row2NotPresent",
24954 FT_BOOLEAN
, 8, NULL
, 0x40,
24956 { &hf_its_PositionOfOccupants_row3LeftOccupied
,
24957 { "row3LeftOccupied", "its.PositionOfOccupants.row3LeftOccupied",
24958 FT_BOOLEAN
, 8, NULL
, 0x20,
24960 { &hf_its_PositionOfOccupants_row3RightOccupied
,
24961 { "row3RightOccupied", "its.PositionOfOccupants.row3RightOccupied",
24962 FT_BOOLEAN
, 8, NULL
, 0x10,
24964 { &hf_its_PositionOfOccupants_row3MidOccupied
,
24965 { "row3MidOccupied", "its.PositionOfOccupants.row3MidOccupied",
24966 FT_BOOLEAN
, 8, NULL
, 0x08,
24968 { &hf_its_PositionOfOccupants_row3NotDetectable
,
24969 { "row3NotDetectable", "its.PositionOfOccupants.row3NotDetectable",
24970 FT_BOOLEAN
, 8, NULL
, 0x04,
24972 { &hf_its_PositionOfOccupants_row3NotPresent
,
24973 { "row3NotPresent", "its.PositionOfOccupants.row3NotPresent",
24974 FT_BOOLEAN
, 8, NULL
, 0x02,
24976 { &hf_its_PositionOfOccupants_row4LeftOccupied
,
24977 { "row4LeftOccupied", "its.PositionOfOccupants.row4LeftOccupied",
24978 FT_BOOLEAN
, 8, NULL
, 0x01,
24980 { &hf_its_PositionOfOccupants_row4RightOccupied
,
24981 { "row4RightOccupied", "its.PositionOfOccupants.row4RightOccupied",
24982 FT_BOOLEAN
, 8, NULL
, 0x80,
24984 { &hf_its_PositionOfOccupants_row4MidOccupied
,
24985 { "row4MidOccupied", "its.PositionOfOccupants.row4MidOccupied",
24986 FT_BOOLEAN
, 8, NULL
, 0x40,
24988 { &hf_its_PositionOfOccupants_row4NotDetectable
,
24989 { "row4NotDetectable", "its.PositionOfOccupants.row4NotDetectable",
24990 FT_BOOLEAN
, 8, NULL
, 0x20,
24992 { &hf_its_PositionOfOccupants_row4NotPresent
,
24993 { "row4NotPresent", "its.PositionOfOccupants.row4NotPresent",
24994 FT_BOOLEAN
, 8, NULL
, 0x10,
24996 { &hf_its_SensorTypes_undefined
,
24997 { "undefined", "its.SensorTypes.undefined",
24998 FT_BOOLEAN
, 8, NULL
, 0x80,
25000 { &hf_its_SensorTypes_radar
,
25001 { "radar", "its.SensorTypes.radar",
25002 FT_BOOLEAN
, 8, NULL
, 0x40,
25004 { &hf_its_SensorTypes_lidar
,
25005 { "lidar", "its.SensorTypes.lidar",
25006 FT_BOOLEAN
, 8, NULL
, 0x20,
25008 { &hf_its_SensorTypes_monovideo
,
25009 { "monovideo", "its.SensorTypes.monovideo",
25010 FT_BOOLEAN
, 8, NULL
, 0x10,
25012 { &hf_its_SensorTypes_stereovision
,
25013 { "stereovision", "its.SensorTypes.stereovision",
25014 FT_BOOLEAN
, 8, NULL
, 0x08,
25016 { &hf_its_SensorTypes_nightvision
,
25017 { "nightvision", "its.SensorTypes.nightvision",
25018 FT_BOOLEAN
, 8, NULL
, 0x04,
25020 { &hf_its_SensorTypes_ultrasonic
,
25021 { "ultrasonic", "its.SensorTypes.ultrasonic",
25022 FT_BOOLEAN
, 8, NULL
, 0x02,
25024 { &hf_its_SensorTypes_pmd
,
25025 { "pmd", "its.SensorTypes.pmd",
25026 FT_BOOLEAN
, 8, NULL
, 0x01,
25028 { &hf_its_SensorTypes_inductionLoop
,
25029 { "inductionLoop", "its.SensorTypes.inductionLoop",
25030 FT_BOOLEAN
, 8, NULL
, 0x80,
25032 { &hf_its_SensorTypes_sphericalCamera
,
25033 { "sphericalCamera", "its.SensorTypes.sphericalCamera",
25034 FT_BOOLEAN
, 8, NULL
, 0x40,
25036 { &hf_its_SensorTypes_uwb
,
25037 { "uwb", "its.SensorTypes.uwb",
25038 FT_BOOLEAN
, 8, NULL
, 0x20,
25040 { &hf_its_SensorTypes_acoustic
,
25041 { "acoustic", "its.SensorTypes.acoustic",
25042 FT_BOOLEAN
, 8, NULL
, 0x10,
25044 { &hf_its_SensorTypes_localAggregation
,
25045 { "localAggregation", "its.SensorTypes.localAggregation",
25046 FT_BOOLEAN
, 8, NULL
, 0x08,
25048 { &hf_its_SensorTypes_itsAggregation
,
25049 { "itsAggregation", "its.SensorTypes.itsAggregation",
25050 FT_BOOLEAN
, 8, NULL
, 0x04,
25052 { &hf_its_SpecialTransportType_heavyLoad
,
25053 { "heavyLoad", "its.SpecialTransportType.heavyLoad",
25054 FT_BOOLEAN
, 8, NULL
, 0x80,
25056 { &hf_its_SpecialTransportType_excessWidth
,
25057 { "excessWidth", "its.SpecialTransportType.excessWidth",
25058 FT_BOOLEAN
, 8, NULL
, 0x40,
25060 { &hf_its_SpecialTransportType_excessLength
,
25061 { "excessLength", "its.SpecialTransportType.excessLength",
25062 FT_BOOLEAN
, 8, NULL
, 0x20,
25064 { &hf_its_SpecialTransportType_excessHeight
,
25065 { "excessHeight", "its.SpecialTransportType.excessHeight",
25066 FT_BOOLEAN
, 8, NULL
, 0x10,
25068 { &hf_its_StoredInformationType_undefined
,
25069 { "undefined", "its.StoredInformationType.undefined",
25070 FT_BOOLEAN
, 8, NULL
, 0x80,
25072 { &hf_its_StoredInformationType_staticDb
,
25073 { "staticDb", "its.StoredInformationType.staticDb",
25074 FT_BOOLEAN
, 8, NULL
, 0x40,
25076 { &hf_its_StoredInformationType_dynamicDb
,
25077 { "dynamicDb", "its.StoredInformationType.dynamicDb",
25078 FT_BOOLEAN
, 8, NULL
, 0x20,
25080 { &hf_its_StoredInformationType_realTimeDb
,
25081 { "realTimeDb", "its.StoredInformationType.realTimeDb",
25082 FT_BOOLEAN
, 8, NULL
, 0x10,
25084 { &hf_its_StoredInformationType_map
,
25085 { "map", "its.StoredInformationType.map",
25086 FT_BOOLEAN
, 8, NULL
, 0x08,
25088 { &hf_its_VruClusterProfiles_pedestrian
,
25089 { "pedestrian", "its.VruClusterProfiles.pedestrian",
25090 FT_BOOLEAN
, 8, NULL
, 0x80,
25092 { &hf_its_VruClusterProfiles_bicyclist
,
25093 { "bicyclist", "its.VruClusterProfiles.bicyclist",
25094 FT_BOOLEAN
, 8, NULL
, 0x40,
25096 { &hf_its_VruClusterProfiles_motorcyclist
,
25097 { "motorcyclist", "its.VruClusterProfiles.motorcyclist",
25098 FT_BOOLEAN
, 8, NULL
, 0x20,
25100 { &hf_its_VruClusterProfiles_animal
,
25101 { "animal", "its.VruClusterProfiles.animal",
25102 FT_BOOLEAN
, 8, NULL
, 0x10,
25104 { &hf_its_VruSpecificExteriorLights_unavailable
,
25105 { "unavailable", "its.VruSpecificExteriorLights.unavailable",
25106 FT_BOOLEAN
, 8, NULL
, 0x80,
25108 { &hf_its_VruSpecificExteriorLights_backFlashLight
,
25109 { "backFlashLight", "its.VruSpecificExteriorLights.backFlashLight",
25110 FT_BOOLEAN
, 8, NULL
, 0x40,
25112 { &hf_its_VruSpecificExteriorLights_helmetLight
,
25113 { "helmetLight", "its.VruSpecificExteriorLights.helmetLight",
25114 FT_BOOLEAN
, 8, NULL
, 0x20,
25116 { &hf_its_VruSpecificExteriorLights_armLight
,
25117 { "armLight", "its.VruSpecificExteriorLights.armLight",
25118 FT_BOOLEAN
, 8, NULL
, 0x10,
25120 { &hf_its_VruSpecificExteriorLights_legLight
,
25121 { "legLight", "its.VruSpecificExteriorLights.legLight",
25122 FT_BOOLEAN
, 8, NULL
, 0x08,
25124 { &hf_its_VruSpecificExteriorLights_wheelLight
,
25125 { "wheelLight", "its.VruSpecificExteriorLights.wheelLight",
25126 FT_BOOLEAN
, 8, NULL
, 0x04,
25129 /* --- Module ITS-ContainerV1 --- --- --- */
25131 { &hf_itsv1_latitude
,
25132 { "latitude", "itsv1.latitude",
25133 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_latitude_fmt
), 0,
25135 { &hf_itsv1_longitude
,
25136 { "longitude", "itsv1.longitude",
25137 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_longitude_fmt
), 0,
25139 { &hf_itsv1_positionConfidenceEllipse
,
25140 { "positionConfidenceEllipse", "itsv1.positionConfidenceEllipse_element",
25141 FT_NONE
, BASE_NONE
, NULL
, 0,
25142 "PosConfidenceEllipse", HFILL
}},
25143 { &hf_itsv1_altitude
,
25144 { "altitude", "itsv1.altitude_element",
25145 FT_NONE
, BASE_NONE
, NULL
, 0,
25147 { &hf_itsv1_deltaLatitude
,
25148 { "deltaLatitude", "itsv1.deltaLatitude",
25149 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_delta_latitude_fmt
), 0,
25151 { &hf_itsv1_deltaLongitude
,
25152 { "deltaLongitude", "itsv1.deltaLongitude",
25153 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_delta_longitude_fmt
), 0,
25155 { &hf_itsv1_deltaAltitude
,
25156 { "deltaAltitude", "itsv1.deltaAltitude",
25157 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_delta_altitude_fmt
), 0,
25159 { &hf_itsv1_altitudeValue
,
25160 { "altitudeValue", "itsv1.altitudeValue",
25161 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_altitude_fmt
), 0,
25163 { &hf_itsv1_altitudeConfidence
,
25164 { "altitudeConfidence", "itsv1.altitudeConfidence",
25165 FT_UINT32
, BASE_DEC
, VALS(itsv1_AltitudeConfidence_vals
), 0,
25167 { &hf_itsv1_semiMajorConfidence
,
25168 { "semiMajorConfidence", "itsv1.semiMajorConfidence",
25169 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_sax_length_fmt
), 0,
25170 "SemiAxisLength", HFILL
}},
25171 { &hf_itsv1_semiMinorConfidence
,
25172 { "semiMinorConfidence", "itsv1.semiMinorConfidence",
25173 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_sax_length_fmt
), 0,
25174 "SemiAxisLength", HFILL
}},
25175 { &hf_itsv1_semiMajorOrientation
,
25176 { "semiMajorOrientation", "itsv1.semiMajorOrientation",
25177 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_heading_value_fmt
), 0,
25178 "HeadingValue", HFILL
}},
25179 { &hf_itsv1_pathPosition
,
25180 { "pathPosition", "itsv1.pathPosition_element",
25181 FT_NONE
, BASE_NONE
, NULL
, 0,
25182 "DeltaReferencePosition", HFILL
}},
25183 { &hf_itsv1_pathDeltaTime
,
25184 { "pathDeltaTime", "itsv1.pathDeltaTime",
25185 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_path_delta_time_fmt
), 0,
25187 { &hf_itsv1_ptActivationType
,
25188 { "ptActivationType", "itsv1.ptActivationType",
25189 FT_UINT32
, BASE_DEC
, VALS(itsv1_PtActivationType_vals
), 0,
25191 { &hf_itsv1_ptActivationData
,
25192 { "ptActivationData", "itsv1.ptActivationData",
25193 FT_BYTES
, BASE_NONE
, NULL
, 0,
25195 { &hf_itsv1_causeCode
,
25196 { "causeCode", "itsv1.causeCode",
25197 FT_UINT32
, BASE_DEC
, VALS(itsv1_CauseCodeTypeV1_vals
), 0,
25198 "CauseCodeTypeV1", HFILL
}},
25199 { &hf_itsv1_subCauseCode
,
25200 { "subCauseCode", "itsv1.subCauseCode",
25201 FT_UINT32
, BASE_DEC
, NULL
, 0,
25202 "SubCauseCodeTypeV1", HFILL
}},
25203 { &hf_itsv1_curvatureValue
,
25204 { "curvatureValue", "itsv1.curvatureValue",
25205 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_curvature_value_fmt
), 0,
25207 { &hf_itsv1_curvatureConfidence
,
25208 { "curvatureConfidence", "itsv1.curvatureConfidence",
25209 FT_UINT32
, BASE_DEC
, VALS(itsv1_CurvatureConfidence_vals
), 0,
25211 { &hf_itsv1_headingValue
,
25212 { "headingValue", "itsv1.headingValue",
25213 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_heading_value_fmt
), 0,
25215 { &hf_itsv1_headingConfidence
,
25216 { "headingConfidence", "itsv1.headingConfidence",
25217 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_heading_confidence_fmt
), 0,
25219 { &hf_itsv1_hardShoulderStatus
,
25220 { "hardShoulderStatus", "itsv1.hardShoulderStatus",
25221 FT_UINT32
, BASE_DEC
, VALS(itsv1_HardShoulderStatus_vals
), 0,
25223 { &hf_itsv1_drivingLaneStatus
,
25224 { "drivingLaneStatus", "itsv1.drivingLaneStatus",
25225 FT_BYTES
, BASE_NONE
, NULL
, 0,
25227 { &hf_itsv1_speedValue
,
25228 { "speedValue", "itsv1.speedValue",
25229 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_value_fmt
), 0,
25231 { &hf_itsv1_speedConfidence
,
25232 { "speedConfidence", "itsv1.speedConfidence",
25233 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_confidence_fmt
), 0,
25235 { &hf_itsv1_longitudinalAccelerationValue
,
25236 { "longitudinalAccelerationValue", "itsv1.longitudinalAccelerationValue",
25237 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_acceleration_value_fmt
), 0,
25239 { &hf_itsv1_longitudinalAccelerationConfidence
,
25240 { "longitudinalAccelerationConfidence", "itsv1.longitudinalAccelerationConfidence",
25241 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_acceleration_confidence_fmt
), 0,
25242 "AccelerationConfidence", HFILL
}},
25243 { &hf_itsv1_lateralAccelerationValue
,
25244 { "lateralAccelerationValue", "itsv1.lateralAccelerationValue",
25245 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_acceleration_value_fmt
), 0,
25247 { &hf_itsv1_lateralAccelerationConfidence
,
25248 { "lateralAccelerationConfidence", "itsv1.lateralAccelerationConfidence",
25249 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_acceleration_confidence_fmt
), 0,
25250 "AccelerationConfidence", HFILL
}},
25251 { &hf_itsv1_verticalAccelerationValue
,
25252 { "verticalAccelerationValue", "itsv1.verticalAccelerationValue",
25253 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_acceleration_value_fmt
), 0,
25255 { &hf_itsv1_verticalAccelerationConfidence
,
25256 { "verticalAccelerationConfidence", "itsv1.verticalAccelerationConfidence",
25257 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_acceleration_confidence_fmt
), 0,
25258 "AccelerationConfidence", HFILL
}},
25259 { &hf_itsv1_dangerousGoodsType
,
25260 { "dangerousGoodsType", "itsv1.dangerousGoodsType",
25261 FT_UINT32
, BASE_DEC
, VALS(itsv1_DangerousGoodsBasic_vals
), 0,
25262 "DangerousGoodsBasic", HFILL
}},
25263 { &hf_itsv1_unNumber
,
25264 { "unNumber", "itsv1.unNumber",
25265 FT_UINT32
, BASE_DEC
, NULL
, 0,
25266 "INTEGER_0_9999", HFILL
}},
25267 { &hf_itsv1_elevatedTemperature
,
25268 { "elevatedTemperature", "itsv1.elevatedTemperature",
25269 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
25270 "BOOLEAN", HFILL
}},
25271 { &hf_itsv1_tunnelsRestricted
,
25272 { "tunnelsRestricted", "itsv1.tunnelsRestricted",
25273 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
25274 "BOOLEAN", HFILL
}},
25275 { &hf_itsv1_limitedQuantity
,
25276 { "limitedQuantity", "itsv1.limitedQuantity",
25277 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
25278 "BOOLEAN", HFILL
}},
25279 { &hf_itsv1_emergencyActionCode
,
25280 { "emergencyActionCode", "itsv1.emergencyActionCode",
25281 FT_STRING
, BASE_NONE
, NULL
, 0,
25282 "IA5String_SIZE_1_24", HFILL
}},
25283 { &hf_itsv1_phoneNumber
,
25284 { "phoneNumber", "itsv1.phoneNumber",
25285 FT_STRING
, BASE_NONE
, NULL
, 0,
25286 "IA5String_SIZE_1_24", HFILL
}},
25287 { &hf_itsv1_companyName
,
25288 { "companyName", "itsv1.companyName",
25289 FT_STRING
, BASE_NONE
, NULL
, 0,
25290 "UTF8String_SIZE_1_24", HFILL
}},
25291 { &hf_itsv1_wMInumber
,
25292 { "wMInumber", "itsv1.wMInumber",
25293 FT_STRING
, BASE_NONE
, NULL
, 0,
25296 { "vDS", "itsv1.vDS",
25297 FT_STRING
, BASE_NONE
, NULL
, 0,
25299 { &hf_itsv1_vehicleLengthValue
,
25300 { "vehicleLengthValue", "itsv1.vehicleLengthValue",
25301 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_vehicle_length_value_fmt
), 0,
25303 { &hf_itsv1_vehicleLengthConfidenceIndication
,
25304 { "vehicleLengthConfidenceIndication", "itsv1.vehicleLengthConfidenceIndication",
25305 FT_UINT32
, BASE_DEC
, VALS(itsv1_VehicleLengthConfidenceIndication_vals
), 0,
25307 { &hf_itsv1_PathHistory_item
,
25308 { "PathPoint", "itsv1.PathPoint_element",
25309 FT_NONE
, BASE_NONE
, NULL
, 0,
25311 { &hf_itsv1_steeringWheelAngleValue
,
25312 { "steeringWheelAngleValue", "itsv1.steeringWheelAngleValue",
25313 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_swa_value_fmt
), 0,
25315 { &hf_itsv1_steeringWheelAngleConfidence
,
25316 { "steeringWheelAngleConfidence", "itsv1.steeringWheelAngleConfidence",
25317 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_swa_confidence_fmt
), 0,
25319 { &hf_itsv1_yawRateValue
,
25320 { "yawRateValue", "itsv1.yawRateValue",
25321 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_yaw_rate_value_fmt
), 0,
25323 { &hf_itsv1_yawRateConfidence
,
25324 { "yawRateConfidence", "itsv1.yawRateConfidence",
25325 FT_UINT32
, BASE_DEC
, VALS(itsv1_YawRateConfidence_vals
), 0,
25327 { &hf_itsv1_originatingStationID
,
25328 { "originatingStationID", "itsv1.originatingStationID",
25329 FT_UINT32
, BASE_DEC
, NULL
, 0,
25330 "StationID", HFILL
}},
25331 { &hf_itsv1_sequenceNumber
,
25332 { "sequenceNumber", "itsv1.sequenceNumber",
25333 FT_UINT32
, BASE_DEC
, NULL
, 0,
25335 { &hf_itsv1_ItineraryPath_item
,
25336 { "ReferencePosition", "itsv1.ReferencePosition_element",
25337 FT_NONE
, BASE_NONE
, NULL
, 0,
25339 { &hf_itsv1_protectedZoneType
,
25340 { "protectedZoneType", "itsv1.protectedZoneType",
25341 FT_UINT32
, BASE_DEC
, VALS(itsv1_ProtectedZoneType_vals
), 0,
25343 { &hf_itsv1_expiryTime
,
25344 { "expiryTime", "itsv1.expiryTime",
25345 FT_UINT64
, BASE_CUSTOM
, CF_FUNC(its_timestamp_fmt
), 0,
25346 "TimestampIts", HFILL
}},
25347 { &hf_itsv1_protectedZoneLatitude
,
25348 { "protectedZoneLatitude", "itsv1.protectedZoneLatitude",
25349 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_latitude_fmt
), 0,
25350 "Latitude", HFILL
}},
25351 { &hf_itsv1_protectedZoneLongitude
,
25352 { "protectedZoneLongitude", "itsv1.protectedZoneLongitude",
25353 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_longitude_fmt
), 0,
25354 "Longitude", HFILL
}},
25355 { &hf_itsv1_protectedZoneRadius
,
25356 { "protectedZoneRadius", "itsv1.protectedZoneRadius",
25357 FT_UINT32
, BASE_DEC
, VALS(itsv1_ProtectedZoneRadius_vals
), 0,
25359 { &hf_itsv1_protectedZoneID
,
25360 { "protectedZoneID", "itsv1.protectedZoneID",
25361 FT_UINT32
, BASE_DEC
, NULL
, 0,
25363 { &hf_itsv1_Traces_item
,
25364 { "PathHistory", "itsv1.PathHistory",
25365 FT_UINT32
, BASE_DEC
, NULL
, 0,
25367 { &hf_itsv1_PositionOfPillars_item
,
25368 { "PosPillar", "itsv1.PosPillar",
25369 FT_UINT32
, BASE_DEC
, VALS(itsv1_PosPillar_vals
), 0,
25371 { &hf_itsv1_RestrictedTypes_item
,
25372 { "StationType", "itsv1.StationType",
25373 FT_UINT32
, BASE_DEC
, VALS(itsv1_StationType_vals
), 0,
25375 { &hf_itsv1_EventHistory_item
,
25376 { "EventPoint", "itsv1.EventPoint_element",
25377 FT_NONE
, BASE_NONE
, NULL
, 0,
25379 { &hf_itsv1_eventPosition
,
25380 { "eventPosition", "itsv1.eventPosition_element",
25381 FT_NONE
, BASE_NONE
, NULL
, 0,
25382 "DeltaReferencePosition", HFILL
}},
25383 { &hf_itsv1_eventDeltaTime
,
25384 { "eventDeltaTime", "itsv1.eventDeltaTime",
25385 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_path_delta_time_fmt
), 0,
25386 "PathDeltaTime", HFILL
}},
25387 { &hf_itsv1_informationQuality
,
25388 { "informationQuality", "itsv1.informationQuality",
25389 FT_UINT32
, BASE_DEC
, VALS(itsv1_InformationQuality_vals
), 0,
25391 { &hf_itsv1_ProtectedCommunicationZonesRSU_item
,
25392 { "ProtectedCommunicationZone", "itsv1.ProtectedCommunicationZone_element",
25393 FT_NONE
, BASE_NONE
, NULL
, 0,
25395 { &hf_itsv1_cenDsrcTollingZoneID
,
25396 { "cenDsrcTollingZoneID", "itsv1.cenDsrcTollingZoneID",
25397 FT_UINT32
, BASE_DEC
, NULL
, 0,
25399 { &hf_itsv1_AccelerationControl_brakePedalEngaged
,
25400 { "brakePedalEngaged", "itsv1.AccelerationControl.brakePedalEngaged",
25401 FT_BOOLEAN
, 8, NULL
, 0x80,
25403 { &hf_itsv1_AccelerationControl_gasPedalEngaged
,
25404 { "gasPedalEngaged", "itsv1.AccelerationControl.gasPedalEngaged",
25405 FT_BOOLEAN
, 8, NULL
, 0x40,
25407 { &hf_itsv1_AccelerationControl_emergencyBrakeEngaged
,
25408 { "emergencyBrakeEngaged", "itsv1.AccelerationControl.emergencyBrakeEngaged",
25409 FT_BOOLEAN
, 8, NULL
, 0x20,
25411 { &hf_itsv1_AccelerationControl_collisionWarningEngaged
,
25412 { "collisionWarningEngaged", "itsv1.AccelerationControl.collisionWarningEngaged",
25413 FT_BOOLEAN
, 8, NULL
, 0x10,
25415 { &hf_itsv1_AccelerationControl_accEngaged
,
25416 { "accEngaged", "itsv1.AccelerationControl.accEngaged",
25417 FT_BOOLEAN
, 8, NULL
, 0x08,
25419 { &hf_itsv1_AccelerationControl_cruiseControlEngaged
,
25420 { "cruiseControlEngaged", "itsv1.AccelerationControl.cruiseControlEngaged",
25421 FT_BOOLEAN
, 8, NULL
, 0x04,
25423 { &hf_itsv1_AccelerationControl_speedLimiterEngaged
,
25424 { "speedLimiterEngaged", "itsv1.AccelerationControl.speedLimiterEngaged",
25425 FT_BOOLEAN
, 8, NULL
, 0x02,
25427 { &hf_itsv1_DrivingLaneStatus_spare_bit0
,
25428 { "spare_bit0", "itsv1.DrivingLaneStatus.spare.bit0",
25429 FT_BOOLEAN
, 8, NULL
, 0x80,
25431 { &hf_itsv1_DrivingLaneStatus_outermostLaneClosed
,
25432 { "outermostLaneClosed", "itsv1.DrivingLaneStatus.outermostLaneClosed",
25433 FT_BOOLEAN
, 8, NULL
, 0x40,
25435 { &hf_itsv1_DrivingLaneStatus_secondLaneFromOutsideClosed
,
25436 { "secondLaneFromOutsideClosed", "itsv1.DrivingLaneStatus.secondLaneFromOutsideClosed",
25437 FT_BOOLEAN
, 8, NULL
, 0x20,
25439 { &hf_itsv1_ExteriorLights_lowBeamHeadlightsOn
,
25440 { "lowBeamHeadlightsOn", "itsv1.ExteriorLights.lowBeamHeadlightsOn",
25441 FT_BOOLEAN
, 8, NULL
, 0x80,
25443 { &hf_itsv1_ExteriorLights_highBeamHeadlightsOn
,
25444 { "highBeamHeadlightsOn", "itsv1.ExteriorLights.highBeamHeadlightsOn",
25445 FT_BOOLEAN
, 8, NULL
, 0x40,
25447 { &hf_itsv1_ExteriorLights_leftTurnSignalOn
,
25448 { "leftTurnSignalOn", "itsv1.ExteriorLights.leftTurnSignalOn",
25449 FT_BOOLEAN
, 8, NULL
, 0x20,
25451 { &hf_itsv1_ExteriorLights_rightTurnSignalOn
,
25452 { "rightTurnSignalOn", "itsv1.ExteriorLights.rightTurnSignalOn",
25453 FT_BOOLEAN
, 8, NULL
, 0x10,
25455 { &hf_itsv1_ExteriorLights_daytimeRunningLightsOn
,
25456 { "daytimeRunningLightsOn", "itsv1.ExteriorLights.daytimeRunningLightsOn",
25457 FT_BOOLEAN
, 8, NULL
, 0x08,
25459 { &hf_itsv1_ExteriorLights_reverseLightOn
,
25460 { "reverseLightOn", "itsv1.ExteriorLights.reverseLightOn",
25461 FT_BOOLEAN
, 8, NULL
, 0x04,
25463 { &hf_itsv1_ExteriorLights_fogLightOn
,
25464 { "fogLightOn", "itsv1.ExteriorLights.fogLightOn",
25465 FT_BOOLEAN
, 8, NULL
, 0x02,
25467 { &hf_itsv1_ExteriorLights_parkingLightsOn
,
25468 { "parkingLightsOn", "itsv1.ExteriorLights.parkingLightsOn",
25469 FT_BOOLEAN
, 8, NULL
, 0x01,
25471 { &hf_itsv1_SpecialTransportType_heavyLoad
,
25472 { "heavyLoad", "itsv1.SpecialTransportType.heavyLoad",
25473 FT_BOOLEAN
, 8, NULL
, 0x80,
25475 { &hf_itsv1_SpecialTransportType_excessWidth
,
25476 { "excessWidth", "itsv1.SpecialTransportType.excessWidth",
25477 FT_BOOLEAN
, 8, NULL
, 0x40,
25479 { &hf_itsv1_SpecialTransportType_excessLength
,
25480 { "excessLength", "itsv1.SpecialTransportType.excessLength",
25481 FT_BOOLEAN
, 8, NULL
, 0x20,
25483 { &hf_itsv1_SpecialTransportType_excessHeight
,
25484 { "excessHeight", "itsv1.SpecialTransportType.excessHeight",
25485 FT_BOOLEAN
, 8, NULL
, 0x10,
25487 { &hf_itsv1_LightBarSirenInUse_lightBarActivated
,
25488 { "lightBarActivated", "itsv1.LightBarSirenInUse.lightBarActivated",
25489 FT_BOOLEAN
, 8, NULL
, 0x80,
25491 { &hf_itsv1_LightBarSirenInUse_sirenActivated
,
25492 { "sirenActivated", "itsv1.LightBarSirenInUse.sirenActivated",
25493 FT_BOOLEAN
, 8, NULL
, 0x40,
25495 { &hf_itsv1_PositionOfOccupants_row1LeftOccupied
,
25496 { "row1LeftOccupied", "itsv1.PositionOfOccupants.row1LeftOccupied",
25497 FT_BOOLEAN
, 8, NULL
, 0x80,
25499 { &hf_itsv1_PositionOfOccupants_row1RightOccupied
,
25500 { "row1RightOccupied", "itsv1.PositionOfOccupants.row1RightOccupied",
25501 FT_BOOLEAN
, 8, NULL
, 0x40,
25503 { &hf_itsv1_PositionOfOccupants_row1MidOccupied
,
25504 { "row1MidOccupied", "itsv1.PositionOfOccupants.row1MidOccupied",
25505 FT_BOOLEAN
, 8, NULL
, 0x20,
25507 { &hf_itsv1_PositionOfOccupants_row1NotDetectable
,
25508 { "row1NotDetectable", "itsv1.PositionOfOccupants.row1NotDetectable",
25509 FT_BOOLEAN
, 8, NULL
, 0x10,
25511 { &hf_itsv1_PositionOfOccupants_row1NotPresent
,
25512 { "row1NotPresent", "itsv1.PositionOfOccupants.row1NotPresent",
25513 FT_BOOLEAN
, 8, NULL
, 0x08,
25515 { &hf_itsv1_PositionOfOccupants_row2LeftOccupied
,
25516 { "row2LeftOccupied", "itsv1.PositionOfOccupants.row2LeftOccupied",
25517 FT_BOOLEAN
, 8, NULL
, 0x04,
25519 { &hf_itsv1_PositionOfOccupants_row2RightOccupied
,
25520 { "row2RightOccupied", "itsv1.PositionOfOccupants.row2RightOccupied",
25521 FT_BOOLEAN
, 8, NULL
, 0x02,
25523 { &hf_itsv1_PositionOfOccupants_row2MidOccupied
,
25524 { "row2MidOccupied", "itsv1.PositionOfOccupants.row2MidOccupied",
25525 FT_BOOLEAN
, 8, NULL
, 0x01,
25527 { &hf_itsv1_PositionOfOccupants_row2NotDetectable
,
25528 { "row2NotDetectable", "itsv1.PositionOfOccupants.row2NotDetectable",
25529 FT_BOOLEAN
, 8, NULL
, 0x80,
25531 { &hf_itsv1_PositionOfOccupants_row2NotPresent
,
25532 { "row2NotPresent", "itsv1.PositionOfOccupants.row2NotPresent",
25533 FT_BOOLEAN
, 8, NULL
, 0x40,
25535 { &hf_itsv1_PositionOfOccupants_row3LeftOccupied
,
25536 { "row3LeftOccupied", "itsv1.PositionOfOccupants.row3LeftOccupied",
25537 FT_BOOLEAN
, 8, NULL
, 0x20,
25539 { &hf_itsv1_PositionOfOccupants_row3RightOccupied
,
25540 { "row3RightOccupied", "itsv1.PositionOfOccupants.row3RightOccupied",
25541 FT_BOOLEAN
, 8, NULL
, 0x10,
25543 { &hf_itsv1_PositionOfOccupants_row3MidOccupied
,
25544 { "row3MidOccupied", "itsv1.PositionOfOccupants.row3MidOccupied",
25545 FT_BOOLEAN
, 8, NULL
, 0x08,
25547 { &hf_itsv1_PositionOfOccupants_row3NotDetectable
,
25548 { "row3NotDetectable", "itsv1.PositionOfOccupants.row3NotDetectable",
25549 FT_BOOLEAN
, 8, NULL
, 0x04,
25551 { &hf_itsv1_PositionOfOccupants_row3NotPresent
,
25552 { "row3NotPresent", "itsv1.PositionOfOccupants.row3NotPresent",
25553 FT_BOOLEAN
, 8, NULL
, 0x02,
25555 { &hf_itsv1_PositionOfOccupants_row4LeftOccupied
,
25556 { "row4LeftOccupied", "itsv1.PositionOfOccupants.row4LeftOccupied",
25557 FT_BOOLEAN
, 8, NULL
, 0x01,
25559 { &hf_itsv1_PositionOfOccupants_row4RightOccupied
,
25560 { "row4RightOccupied", "itsv1.PositionOfOccupants.row4RightOccupied",
25561 FT_BOOLEAN
, 8, NULL
, 0x80,
25563 { &hf_itsv1_PositionOfOccupants_row4MidOccupied
,
25564 { "row4MidOccupied", "itsv1.PositionOfOccupants.row4MidOccupied",
25565 FT_BOOLEAN
, 8, NULL
, 0x40,
25567 { &hf_itsv1_PositionOfOccupants_row4NotDetectable
,
25568 { "row4NotDetectable", "itsv1.PositionOfOccupants.row4NotDetectable",
25569 FT_BOOLEAN
, 8, NULL
, 0x20,
25571 { &hf_itsv1_PositionOfOccupants_row4NotPresent
,
25572 { "row4NotPresent", "itsv1.PositionOfOccupants.row4NotPresent",
25573 FT_BOOLEAN
, 8, NULL
, 0x10,
25575 { &hf_itsv1_EnergyStorageType_hydrogenStorage
,
25576 { "hydrogenStorage", "itsv1.EnergyStorageType.hydrogenStorage",
25577 FT_BOOLEAN
, 8, NULL
, 0x80,
25579 { &hf_itsv1_EnergyStorageType_electricEnergyStorage
,
25580 { "electricEnergyStorage", "itsv1.EnergyStorageType.electricEnergyStorage",
25581 FT_BOOLEAN
, 8, NULL
, 0x40,
25583 { &hf_itsv1_EnergyStorageType_liquidPropaneGas
,
25584 { "liquidPropaneGas", "itsv1.EnergyStorageType.liquidPropaneGas",
25585 FT_BOOLEAN
, 8, NULL
, 0x20,
25587 { &hf_itsv1_EnergyStorageType_compressedNaturalGas
,
25588 { "compressedNaturalGas", "itsv1.EnergyStorageType.compressedNaturalGas",
25589 FT_BOOLEAN
, 8, NULL
, 0x10,
25591 { &hf_itsv1_EnergyStorageType_diesel
,
25592 { "diesel", "itsv1.EnergyStorageType.diesel",
25593 FT_BOOLEAN
, 8, NULL
, 0x08,
25595 { &hf_itsv1_EnergyStorageType_gasoline
,
25596 { "gasoline", "itsv1.EnergyStorageType.gasoline",
25597 FT_BOOLEAN
, 8, NULL
, 0x04,
25599 { &hf_itsv1_EnergyStorageType_ammonia
,
25600 { "ammonia", "itsv1.EnergyStorageType.ammonia",
25601 FT_BOOLEAN
, 8, NULL
, 0x02,
25603 { &hf_itsv1_EmergencyPriority_requestForRightOfWay
,
25604 { "requestForRightOfWay", "itsv1.EmergencyPriority.requestForRightOfWay",
25605 FT_BOOLEAN
, 8, NULL
, 0x80,
25607 { &hf_itsv1_EmergencyPriority_requestForFreeCrossingAtATrafficLight
,
25608 { "requestForFreeCrossingAtATrafficLight", "itsv1.EmergencyPriority.requestForFreeCrossingAtATrafficLight",
25609 FT_BOOLEAN
, 8, NULL
, 0x40,
25612 /* --- Module EfcDsrcApplication --- --- --- */
25614 { &hf_dsrc_app_maxLadenweightOnAxle1
,
25615 { "maxLadenweightOnAxle1", "dsrc_app.maxLadenweightOnAxle1",
25616 FT_UINT32
, BASE_DEC
, NULL
, 0,
25618 { &hf_dsrc_app_maxLadenweightOnAxle2
,
25619 { "maxLadenweightOnAxle2", "dsrc_app.maxLadenweightOnAxle2",
25620 FT_UINT32
, BASE_DEC
, NULL
, 0,
25622 { &hf_dsrc_app_maxLadenweightOnAxle3
,
25623 { "maxLadenweightOnAxle3", "dsrc_app.maxLadenweightOnAxle3",
25624 FT_UINT32
, BASE_DEC
, NULL
, 0,
25626 { &hf_dsrc_app_maxLadenweightOnAxle4
,
25627 { "maxLadenweightOnAxle4", "dsrc_app.maxLadenweightOnAxle4",
25628 FT_UINT32
, BASE_DEC
, NULL
, 0,
25630 { &hf_dsrc_app_maxLadenweightOnAxle5
,
25631 { "maxLadenweightOnAxle5", "dsrc_app.maxLadenweightOnAxle5",
25632 FT_UINT32
, BASE_DEC
, NULL
, 0,
25634 { &hf_dsrc_app_particulate
,
25635 { "particulate", "dsrc_app.particulate_element",
25636 FT_NONE
, BASE_NONE
, NULL
, 0,
25638 { &hf_dsrc_app_unitType
,
25639 { "unitType", "dsrc_app.unitType",
25640 FT_UINT32
, BASE_DEC
, VALS(dsrc_app_UnitType_vals
), 0,
25642 { &hf_dsrc_app_value
,
25643 { "value", "dsrc_app.value",
25644 FT_UINT32
, BASE_DEC
, NULL
, 0,
25645 "INTEGER_0_32767", HFILL
}},
25646 { &hf_dsrc_app_absorptionCoeff
,
25647 { "absorptionCoeff", "dsrc_app.absorptionCoeff",
25648 FT_UINT32
, BASE_DEC
, NULL
, 0,
25650 { &hf_dsrc_app_euroValue
,
25651 { "euroValue", "dsrc_app.euroValue",
25652 FT_UINT32
, BASE_DEC
, VALS(dsrc_app_EuroValue_vals
), 0,
25654 { &hf_dsrc_app_copValue
,
25655 { "copValue", "dsrc_app.copValue",
25656 FT_UINT32
, BASE_DEC
, VALS(dsrc_app_CopValue_vals
), 0,
25658 { &hf_dsrc_app_emissionCO
,
25659 { "emissionCO", "dsrc_app.emissionCO",
25660 FT_UINT32
, BASE_DEC
, NULL
, 0,
25661 "INTEGER_0_32767", HFILL
}},
25662 { &hf_dsrc_app_emissionHC
,
25663 { "emissionHC", "dsrc_app.emissionHC",
25664 FT_UINT32
, BASE_DEC
, NULL
, 0,
25666 { &hf_dsrc_app_emissionNOX
,
25667 { "emissionNOX", "dsrc_app.emissionNOX",
25668 FT_UINT32
, BASE_DEC
, NULL
, 0,
25670 { &hf_dsrc_app_emissionHCNOX
,
25671 { "emissionHCNOX", "dsrc_app.emissionHCNOX",
25672 FT_UINT32
, BASE_DEC
, NULL
, 0,
25674 { &hf_dsrc_app_numberOfSeats
,
25675 { "numberOfSeats", "dsrc_app.numberOfSeats",
25676 FT_UINT32
, BASE_DEC
, NULL
, 0,
25678 { &hf_dsrc_app_numberOfStandingPlaces
,
25679 { "numberOfStandingPlaces", "dsrc_app.numberOfStandingPlaces",
25680 FT_UINT32
, BASE_DEC
, NULL
, 0,
25682 { &hf_dsrc_app_countryCode
,
25683 { "countryCode", "dsrc_app.countryCode",
25684 FT_BYTES
, BASE_NONE
, NULL
, 0,
25686 { &hf_dsrc_app_providerIdentifier
,
25687 { "providerIdentifier", "dsrc_app.providerIdentifier",
25688 FT_UINT32
, BASE_DEC
, NULL
, 0,
25689 "AVIAEIIssuerIdentifier", HFILL
}},
25690 { &hf_dsrc_app_soundstationary
,
25691 { "soundstationary", "dsrc_app.soundstationary",
25692 FT_UINT32
, BASE_DEC
, NULL
, 0,
25694 { &hf_dsrc_app_sounddriveby
,
25695 { "sounddriveby", "dsrc_app.sounddriveby",
25696 FT_UINT32
, BASE_DEC
, NULL
, 0,
25698 { &hf_dsrc_app_vehicleLengthOverall
,
25699 { "vehicleLengthOverall", "dsrc_app.vehicleLengthOverall",
25700 FT_UINT32
, BASE_DEC
, NULL
, 0,
25702 { &hf_dsrc_app_vehicleHeigthOverall
,
25703 { "vehicleHeigthOverall", "dsrc_app.vehicleHeigthOverall",
25704 FT_UINT32
, BASE_DEC
, NULL
, 0,
25706 { &hf_dsrc_app_vehicleWidthOverall
,
25707 { "vehicleWidthOverall", "dsrc_app.vehicleWidthOverall",
25708 FT_UINT32
, BASE_DEC
, NULL
, 0,
25710 { &hf_dsrc_app_vehicleMaxLadenWeight
,
25711 { "vehicleMaxLadenWeight", "dsrc_app.vehicleMaxLadenWeight",
25712 FT_UINT32
, BASE_DEC
, NULL
, 0,
25714 { &hf_dsrc_app_vehicleTrainMaximumWeight
,
25715 { "vehicleTrainMaximumWeight", "dsrc_app.vehicleTrainMaximumWeight",
25716 FT_UINT32
, BASE_DEC
, NULL
, 0,
25718 { &hf_dsrc_app_vehicleWeightUnladen
,
25719 { "vehicleWeightUnladen", "dsrc_app.vehicleWeightUnladen",
25720 FT_UINT32
, BASE_DEC
, NULL
, 0,
25723 /* --- Module DSRC --- --- --- */
25725 { &hf_dsrc_dsrc_MapData_PDU
,
25726 { "MapData", "dsrc.MapData_element",
25727 FT_NONE
, BASE_NONE
, NULL
, 0,
25729 { &hf_dsrc_dsrc_RTCMcorrections_PDU
,
25730 { "RTCMcorrections", "dsrc.RTCMcorrections_element",
25731 FT_NONE
, BASE_NONE
, NULL
, 0,
25733 { &hf_dsrc_dsrc_SPAT_PDU
,
25734 { "SPAT", "dsrc.SPAT_element",
25735 FT_NONE
, BASE_NONE
, NULL
, 0,
25737 { &hf_dsrc_dsrc_SignalRequestMessage_PDU
,
25738 { "SignalRequestMessage", "dsrc.SignalRequestMessage_element",
25739 FT_NONE
, BASE_NONE
, NULL
, 0,
25741 { &hf_dsrc_dsrc_SignalStatusMessage_PDU
,
25742 { "SignalStatusMessage", "dsrc.SignalStatusMessage_element",
25743 FT_NONE
, BASE_NONE
, NULL
, 0,
25745 { &hf_dsrc_regionId
,
25746 { "regionId", "dsrc.regionId",
25747 FT_UINT32
, BASE_DEC
, VALS(dsrc_RegionId_vals
), 0,
25749 { &hf_dsrc_regExtValue
,
25750 { "regExtValue", "dsrc.regExtValue_element",
25751 FT_NONE
, BASE_NONE
, NULL
, 0,
25753 { &hf_dsrc_mdTimeStamp
,
25754 { "timeStamp", "dsrc.timeStamp",
25755 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_moi_fmt
), 0,
25756 "MinuteOfTheYear", HFILL
}},
25757 { &hf_dsrc_msgIssueRevision
,
25758 { "msgIssueRevision", "dsrc.msgIssueRevision",
25759 FT_UINT32
, BASE_DEC
, NULL
, 0,
25760 "MsgCount", HFILL
}},
25761 { &hf_dsrc_layerType
,
25762 { "layerType", "dsrc.layerType",
25763 FT_UINT32
, BASE_DEC
, VALS(dsrc_LayerType_vals
), 0,
25765 { &hf_dsrc_layerID
,
25766 { "layerID", "dsrc.layerID",
25767 FT_UINT32
, BASE_DEC
, NULL
, 0,
25769 { &hf_dsrc_mdIntersections
,
25770 { "intersections", "dsrc.intersections",
25771 FT_UINT32
, BASE_DEC
, NULL
, 0,
25772 "IntersectionGeometryList", HFILL
}},
25773 { &hf_dsrc_roadSegments
,
25774 { "roadSegments", "dsrc.roadSegments",
25775 FT_UINT32
, BASE_DEC
, NULL
, 0,
25776 "RoadSegmentList", HFILL
}},
25777 { &hf_dsrc_dataParameters
,
25778 { "dataParameters", "dsrc.dataParameters_element",
25779 FT_NONE
, BASE_NONE
, NULL
, 0,
25781 { &hf_dsrc_restrictionList
,
25782 { "restrictionList", "dsrc.restrictionList",
25783 FT_UINT32
, BASE_DEC
, NULL
, 0,
25784 "RestrictionClassList", HFILL
}},
25785 { &hf_dsrc_mapRegional
,
25786 { "regional", "dsrc.regional",
25787 FT_UINT32
, BASE_DEC
, NULL
, 0,
25788 "T_MAPRegional", HFILL
}},
25789 { &hf_dsrc_mapRegional_item
,
25790 { "RegionalExtension", "dsrc.RegionalExtension_element",
25791 FT_NONE
, BASE_NONE
, NULL
, 0,
25794 { "msgCnt", "dsrc.msgCnt",
25795 FT_UINT32
, BASE_DEC
, NULL
, 0,
25796 "MsgCount", HFILL
}},
25798 { "rev", "dsrc.rev",
25799 FT_UINT32
, BASE_DEC
, VALS(dsrc_RTCM_Revision_vals
), 0,
25800 "RTCM_Revision", HFILL
}},
25801 { &hf_dsrc_timeStamp
,
25802 { "timeStamp", "dsrc.timeStamp",
25803 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_moi_fmt
), 0,
25804 "MinuteOfTheYear", HFILL
}},
25805 { &hf_dsrc_anchorPoint
,
25806 { "anchorPoint", "dsrc.anchorPoint_element",
25807 FT_NONE
, BASE_NONE
, NULL
, 0,
25808 "FullPositionVector", HFILL
}},
25809 { &hf_dsrc_rtcmHeader
,
25810 { "rtcmHeader", "dsrc.rtcmHeader_element",
25811 FT_NONE
, BASE_NONE
, NULL
, 0,
25814 { "msgs", "dsrc.msgs",
25815 FT_UINT32
, BASE_DEC
, NULL
, 0,
25816 "RTCMmessageList", HFILL
}},
25817 { &hf_dsrc_regional
,
25818 { "regional", "dsrc.regional",
25819 FT_UINT32
, BASE_DEC
, NULL
, 0,
25820 "SEQUENCE_SIZE_1_4_OF_RegionalExtension", HFILL
}},
25821 { &hf_dsrc_regional_item
,
25822 { "RegionalExtension", "dsrc.RegionalExtension_element",
25823 FT_NONE
, BASE_NONE
, NULL
, 0,
25825 { &hf_dsrc_spatTimeStamp
,
25826 { "timeStamp", "dsrc.timeStamp",
25827 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_moi_fmt
), 0,
25828 "MinuteOfTheYear", HFILL
}},
25830 { "name", "dsrc.name",
25831 FT_STRING
, BASE_NONE
, NULL
, 0,
25832 "DescriptiveName", HFILL
}},
25833 { &hf_dsrc_spatIntersections
,
25834 { "intersections", "dsrc.intersections",
25835 FT_UINT32
, BASE_DEC
, NULL
, 0,
25836 "IntersectionStateList", HFILL
}},
25837 { &hf_dsrc_spatRegional
,
25838 { "regional", "dsrc.regional",
25839 FT_UINT32
, BASE_DEC
, NULL
, 0,
25840 "T_SPATRegional", HFILL
}},
25841 { &hf_dsrc_spatRegional_item
,
25842 { "RegionalExtension", "dsrc.RegionalExtension_element",
25843 FT_NONE
, BASE_NONE
, NULL
, 0,
25845 { &hf_dsrc_srmTimeStamp
,
25846 { "timeStamp", "dsrc.timeStamp",
25847 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_moi_fmt
), 0,
25848 "MinuteOfTheYear", HFILL
}},
25850 { "second", "dsrc.second",
25851 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_dsecond_fmt
), 0,
25852 "DSecond", HFILL
}},
25853 { &hf_dsrc_sequenceNumber
,
25854 { "sequenceNumber", "dsrc.sequenceNumber",
25855 FT_UINT32
, BASE_DEC
, NULL
, 0,
25856 "MsgCount", HFILL
}},
25857 { &hf_dsrc_requests
,
25858 { "requests", "dsrc.requests",
25859 FT_UINT32
, BASE_DEC
, NULL
, 0,
25860 "SignalRequestList", HFILL
}},
25861 { &hf_dsrc_requestor
,
25862 { "requestor", "dsrc.requestor_element",
25863 FT_NONE
, BASE_NONE
, NULL
, 0,
25864 "RequestorDescription", HFILL
}},
25865 { &hf_dsrc_srmRegional
,
25866 { "regional", "dsrc.regional",
25867 FT_UINT32
, BASE_DEC
, NULL
, 0,
25868 "T_SRMRegional", HFILL
}},
25869 { &hf_dsrc_srmRegional_item
,
25870 { "RegionalExtension", "dsrc.RegionalExtension_element",
25871 FT_NONE
, BASE_NONE
, NULL
, 0,
25873 { &hf_dsrc_ssmTimeStamp
,
25874 { "timeStamp", "dsrc.timeStamp",
25875 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_moi_fmt
), 0,
25876 "MinuteOfTheYear", HFILL
}},
25877 { &hf_dsrc_ssmStatus
,
25878 { "status", "dsrc.signalStatusMessage.status",
25879 FT_UINT32
, BASE_DEC
, NULL
, 0,
25880 "SignalStatusList", HFILL
}},
25881 { &hf_dsrc_ssmRegional
,
25882 { "regional", "dsrc.regional",
25883 FT_UINT32
, BASE_DEC
, NULL
, 0,
25884 "T_SSMRegional", HFILL
}},
25885 { &hf_dsrc_ssmRegional_item
,
25886 { "RegionalExtension", "dsrc.RegionalExtension_element",
25887 FT_NONE
, BASE_NONE
, NULL
, 0,
25890 { "type", "dsrc.type",
25891 FT_UINT32
, BASE_DEC
, VALS(dsrc_AdvisorySpeedType_vals
), 0,
25892 "AdvisorySpeedType", HFILL
}},
25893 { &hf_dsrc_asSpeed
,
25894 { "speed", "dsrc.speed",
25895 FT_UINT32
, BASE_DEC
, NULL
, 0,
25896 "SpeedAdvice", HFILL
}},
25897 { &hf_dsrc_asConfidence
,
25898 { "confidence", "dsrc.confidence",
25899 FT_UINT32
, BASE_DEC
, VALS(dsrc_SpeedConfidenceDSRC_vals
), 0,
25900 "SpeedConfidenceDSRC", HFILL
}},
25901 { &hf_dsrc_distance
,
25902 { "distance", "dsrc.distance",
25903 FT_UINT32
, BASE_DEC
, NULL
, 0,
25904 "ZoneLength", HFILL
}},
25906 { "class", "dsrc.class",
25907 FT_UINT32
, BASE_DEC
, NULL
, 0,
25908 "RestrictionClassID", HFILL
}},
25909 { &hf_dsrc_asRegional
,
25910 { "regional", "dsrc.regional",
25911 FT_UINT32
, BASE_DEC
, NULL
, 0,
25912 "T_AdvisorySpeedRegional", HFILL
}},
25913 { &hf_dsrc_asRegional_item
,
25914 { "RegionalExtension", "dsrc.RegionalExtension_element",
25915 FT_NONE
, BASE_NONE
, NULL
, 0,
25917 { &hf_dsrc_AdvisorySpeedList_item
,
25918 { "AdvisorySpeed", "dsrc.AdvisorySpeed_element",
25919 FT_NONE
, BASE_NONE
, NULL
, 0,
25921 { &hf_dsrc_antOffsetX
,
25922 { "antOffsetX", "dsrc.antOffsetX",
25923 FT_INT32
, BASE_DEC
, NULL
, 0,
25924 "Offset_B12", HFILL
}},
25925 { &hf_dsrc_antOffsetY
,
25926 { "antOffsetY", "dsrc.antOffsetY",
25927 FT_INT32
, BASE_DEC
, NULL
, 0,
25928 "Offset_B09", HFILL
}},
25929 { &hf_dsrc_antOffsetZ
,
25930 { "antOffsetZ", "dsrc.antOffsetZ",
25931 FT_INT32
, BASE_DEC
, NULL
, 0,
25932 "Offset_B10", HFILL
}},
25933 { &hf_dsrc_referenceLaneId
,
25934 { "referenceLaneId", "dsrc.referenceLaneId",
25935 FT_UINT32
, BASE_DEC
, NULL
, 0,
25936 "LaneID", HFILL
}},
25937 { &hf_dsrc_offsetXaxis
,
25938 { "offsetXaxis", "dsrc.offsetXaxis",
25939 FT_UINT32
, BASE_DEC
, VALS(dsrc_T_offsetXaxis_vals
), 0,
25942 { "small", "dsrc.small",
25943 FT_INT32
, BASE_DEC
, NULL
, 0,
25944 "DrivenLineOffsetSm", HFILL
}},
25946 { "large", "dsrc.large",
25947 FT_INT32
, BASE_DEC
, NULL
, 0,
25948 "DrivenLineOffsetLg", HFILL
}},
25949 { &hf_dsrc_offsetYaxis
,
25950 { "offsetYaxis", "dsrc.offsetYaxis",
25951 FT_UINT32
, BASE_DEC
, VALS(dsrc_T_offsetYaxis_vals
), 0,
25953 { &hf_dsrc_rotateXY
,
25954 { "rotateXY", "dsrc.rotateXY",
25955 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_angle_fmt
), 0,
25957 { &hf_dsrc_scaleXaxis
,
25958 { "scaleXaxis", "dsrc.scaleXaxis",
25959 FT_INT32
, BASE_DEC
, NULL
, 0,
25960 "Scale_B12", HFILL
}},
25961 { &hf_dsrc_scaleYaxis
,
25962 { "scaleYaxis", "dsrc.scaleYaxis",
25963 FT_INT32
, BASE_DEC
, NULL
, 0,
25964 "Scale_B12", HFILL
}},
25965 { &hf_dsrc_clRegional
,
25966 { "regional", "dsrc.regional",
25967 FT_UINT32
, BASE_DEC
, NULL
, 0,
25968 "T_ComputedLaneRegional", HFILL
}},
25969 { &hf_dsrc_clRegional_item
,
25970 { "RegionalExtension", "dsrc.RegionalExtension_element",
25971 FT_NONE
, BASE_NONE
, NULL
, 0,
25973 { &hf_dsrc_ConnectsToList_item
,
25974 { "Connection", "dsrc.Connection_element",
25975 FT_NONE
, BASE_NONE
, NULL
, 0,
25978 { "lane", "dsrc.lane",
25979 FT_UINT32
, BASE_DEC
, NULL
, 0,
25980 "LaneID", HFILL
}},
25981 { &hf_dsrc_maneuver
,
25982 { "maneuver", "dsrc.maneuver",
25983 FT_BYTES
, BASE_NONE
, NULL
, 0,
25984 "AllowedManeuvers", HFILL
}},
25985 { &hf_dsrc_connectingLane
,
25986 { "connectingLane", "dsrc.connectingLane_element",
25987 FT_NONE
, BASE_NONE
, NULL
, 0,
25989 { &hf_dsrc_remoteIntersection
,
25990 { "remoteIntersection", "dsrc.remoteIntersection_element",
25991 FT_NONE
, BASE_NONE
, NULL
, 0,
25992 "IntersectionReferenceID", HFILL
}},
25993 { &hf_dsrc_signalGroup
,
25994 { "signalGroup", "dsrc.signalGroup",
25995 FT_UINT32
, BASE_DEC
, NULL
, 0,
25996 "SignalGroupID", HFILL
}},
25997 { &hf_dsrc_userClass
,
25998 { "userClass", "dsrc.userClass",
25999 FT_UINT32
, BASE_DEC
, NULL
, 0,
26000 "RestrictionClassID", HFILL
}},
26001 { &hf_dsrc_connectionID
,
26002 { "connectionID", "dsrc.connectionID",
26003 FT_UINT32
, BASE_DEC
, NULL
, 0,
26004 "LaneConnectionID", HFILL
}},
26005 { &hf_dsrc_queueLength
,
26006 { "queueLength", "dsrc.queueLength",
26007 FT_UINT32
, BASE_DEC
, NULL
, 0,
26008 "ZoneLength", HFILL
}},
26009 { &hf_dsrc_availableStorageLength
,
26010 { "availableStorageLength", "dsrc.availableStorageLength",
26011 FT_UINT32
, BASE_DEC
, NULL
, 0,
26012 "ZoneLength", HFILL
}},
26013 { &hf_dsrc_waitOnStop
,
26014 { "waitOnStop", "dsrc.waitOnStop",
26015 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
26016 "WaitOnStopline", HFILL
}},
26017 { &hf_dsrc_pedBicycleDetect
,
26018 { "pedBicycleDetect", "dsrc.pedBicycleDetect",
26019 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
26020 "PedestrianBicycleDetect", HFILL
}},
26021 { &hf_dsrc_cmaRegional
,
26022 { "regional", "dsrc.regional",
26023 FT_UINT32
, BASE_DEC
, NULL
, 0,
26024 "T_ConnectionManeuverAssistRegional", HFILL
}},
26025 { &hf_dsrc_cmaRegional_item
,
26026 { "RegionalExtension", "dsrc.RegionalExtension_element",
26027 FT_NONE
, BASE_NONE
, NULL
, 0,
26029 { &hf_dsrc_processMethod
,
26030 { "processMethod", "dsrc.processMethod",
26031 FT_STRING
, BASE_NONE
, NULL
, 0,
26032 "IA5String_SIZE_1_255", HFILL
}},
26033 { &hf_dsrc_processAgency
,
26034 { "processAgency", "dsrc.processAgency",
26035 FT_STRING
, BASE_NONE
, NULL
, 0,
26036 "IA5String_SIZE_1_255", HFILL
}},
26037 { &hf_dsrc_lastCheckedDate
,
26038 { "lastCheckedDate", "dsrc.lastCheckedDate",
26039 FT_STRING
, BASE_NONE
, NULL
, 0,
26040 "IA5String_SIZE_1_255", HFILL
}},
26041 { &hf_dsrc_geoidUsed
,
26042 { "geoidUsed", "dsrc.geoidUsed",
26043 FT_STRING
, BASE_NONE
, NULL
, 0,
26044 "IA5String_SIZE_1_255", HFILL
}},
26046 { "year", "dsrc.year",
26047 FT_UINT32
, BASE_DEC
, NULL
, 0,
26050 { "month", "dsrc.month",
26051 FT_UINT32
, BASE_DEC
, NULL
, 0,
26052 "DMonth", HFILL
}},
26054 { "day", "dsrc.day",
26055 FT_UINT32
, BASE_DEC
, NULL
, 0,
26058 { "hour", "dsrc.hour",
26059 FT_UINT32
, BASE_DEC
, NULL
, 0,
26062 { "minute", "dsrc.minute",
26063 FT_UINT32
, BASE_DEC
, NULL
, 0,
26064 "DMinute", HFILL
}},
26066 { "offset", "dsrc.offset",
26067 FT_INT32
, BASE_DEC
, NULL
, 0,
26068 "DOffset", HFILL
}},
26069 { &hf_dsrc_EnabledLaneList_item
,
26070 { "LaneID", "dsrc.LaneID",
26071 FT_UINT32
, BASE_DEC
, NULL
, 0,
26073 { &hf_dsrc_utcTime
,
26074 { "utcTime", "dsrc.utcTime_element",
26075 FT_NONE
, BASE_NONE
, NULL
, 0,
26076 "DDateTime", HFILL
}},
26078 { "long", "dsrc.long",
26079 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_longitude_fmt
), 0,
26080 "Longitude", HFILL
}},
26082 { "lat", "dsrc.lat",
26083 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_latitude_fmt
), 0,
26084 "Latitude", HFILL
}},
26085 { &hf_dsrc_fpvElevation
,
26086 { "elevation", "dsrc.fullPositionVector.elevation",
26087 FT_INT32
, BASE_DEC
, NULL
, 0,
26089 { &hf_dsrc_fpvHeading
,
26090 { "heading", "dsrc.heading",
26091 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_angle_fmt
), 0,
26092 "HeadingDSRC", HFILL
}},
26093 { &hf_dsrc_fpvSpeed
,
26094 { "speed", "dsrc.speed_element",
26095 FT_NONE
, BASE_NONE
, NULL
, 0,
26096 "TransmissionAndSpeed", HFILL
}},
26097 { &hf_dsrc_posAccuracy
,
26098 { "posAccuracy", "dsrc.posAccuracy_element",
26099 FT_NONE
, BASE_NONE
, NULL
, 0,
26100 "PositionalAccuracy", HFILL
}},
26101 { &hf_dsrc_timeConfidence
,
26102 { "timeConfidence", "dsrc.timeConfidence",
26103 FT_UINT32
, BASE_DEC
, VALS(dsrc_TimeConfidence_vals
), 0,
26105 { &hf_dsrc_posConfidence
,
26106 { "posConfidence", "dsrc.posConfidence_element",
26107 FT_NONE
, BASE_NONE
, NULL
, 0,
26108 "PositionConfidenceSet", HFILL
}},
26109 { &hf_dsrc_speedConfidence
,
26110 { "speedConfidence", "dsrc.speedConfidence_element",
26111 FT_NONE
, BASE_NONE
, NULL
, 0,
26112 "SpeedandHeadingandThrottleConfidence", HFILL
}},
26114 { "laneID", "dsrc.laneID",
26115 FT_UINT32
, BASE_DEC
, NULL
, 0,
26117 { &hf_dsrc_ingressApproach
,
26118 { "ingressApproach", "dsrc.ingressApproach",
26119 FT_UINT32
, BASE_DEC
, NULL
, 0,
26120 "ApproachID", HFILL
}},
26121 { &hf_dsrc_egressApproach
,
26122 { "egressApproach", "dsrc.egressApproach",
26123 FT_UINT32
, BASE_DEC
, NULL
, 0,
26124 "ApproachID", HFILL
}},
26125 { &hf_dsrc_laneAttributes
,
26126 { "laneAttributes", "dsrc.laneAttributes_element",
26127 FT_NONE
, BASE_NONE
, NULL
, 0,
26129 { &hf_dsrc_maneuvers
,
26130 { "maneuvers", "dsrc.maneuvers",
26131 FT_BYTES
, BASE_NONE
, NULL
, 0,
26132 "AllowedManeuvers", HFILL
}},
26133 { &hf_dsrc_nodeList
,
26134 { "nodeList", "dsrc.nodeList",
26135 FT_UINT32
, BASE_DEC
, VALS(dsrc_NodeListXY_vals
), 0,
26136 "NodeListXY", HFILL
}},
26137 { &hf_dsrc_connectsTo
,
26138 { "connectsTo", "dsrc.connectsTo",
26139 FT_UINT32
, BASE_DEC
, NULL
, 0,
26140 "ConnectsToList", HFILL
}},
26141 { &hf_dsrc_overlays
,
26142 { "overlays", "dsrc.overlays",
26143 FT_UINT32
, BASE_DEC
, NULL
, 0,
26144 "OverlayLaneList", HFILL
}},
26145 { &hf_dsrc_glRegional
,
26146 { "regional", "dsrc.regional",
26147 FT_UINT32
, BASE_DEC
, NULL
, 0,
26148 "T_GenericLaneRegional", HFILL
}},
26149 { &hf_dsrc_glRegional_item
,
26150 { "RegionalExtension", "dsrc.RegionalExtension_element",
26151 FT_NONE
, BASE_NONE
, NULL
, 0,
26153 { &hf_dsrc_approach
,
26154 { "approach", "dsrc.approach",
26155 FT_UINT32
, BASE_DEC
, NULL
, 0,
26156 "ApproachID", HFILL
}},
26157 { &hf_dsrc_connection
,
26158 { "connection", "dsrc.connection",
26159 FT_UINT32
, BASE_DEC
, NULL
, 0,
26160 "LaneConnectionID", HFILL
}},
26162 { "id", "dsrc.id_element",
26163 FT_NONE
, BASE_NONE
, NULL
, 0,
26164 "IntersectionReferenceID", HFILL
}},
26165 { &hf_dsrc_revision
,
26166 { "revision", "dsrc.revision",
26167 FT_UINT32
, BASE_DEC
, NULL
, 0,
26168 "MsgCount", HFILL
}},
26169 { &hf_dsrc_refPoint
,
26170 { "refPoint", "dsrc.refPoint_element",
26171 FT_NONE
, BASE_NONE
, NULL
, 0,
26172 "Position3D", HFILL
}},
26173 { &hf_dsrc_laneWidth
,
26174 { "laneWidth", "dsrc.laneWidth",
26175 FT_UINT32
, BASE_DEC
, NULL
, 0,
26177 { &hf_dsrc_speedLimits
,
26178 { "speedLimits", "dsrc.speedLimits",
26179 FT_UINT32
, BASE_DEC
, NULL
, 0,
26180 "SpeedLimitList", HFILL
}},
26181 { &hf_dsrc_laneSet
,
26182 { "laneSet", "dsrc.laneSet",
26183 FT_UINT32
, BASE_DEC
, NULL
, 0,
26184 "LaneList", HFILL
}},
26185 { &hf_dsrc_preemptPriorityData
,
26186 { "preemptPriorityData", "dsrc.preemptPriorityData",
26187 FT_UINT32
, BASE_DEC
, NULL
, 0,
26188 "PreemptPriorityList", HFILL
}},
26189 { &hf_dsrc_igRegional
,
26190 { "regional", "dsrc.regional",
26191 FT_UINT32
, BASE_DEC
, NULL
, 0,
26192 "T_IntersectionGeometryRegional", HFILL
}},
26193 { &hf_dsrc_igRegional_item
,
26194 { "RegionalExtension", "dsrc.RegionalExtension_element",
26195 FT_NONE
, BASE_NONE
, NULL
, 0,
26197 { &hf_dsrc_IntersectionGeometryList_item
,
26198 { "IntersectionGeometry", "dsrc.IntersectionGeometry_element",
26199 FT_NONE
, BASE_NONE
, NULL
, 0,
26202 { "region", "dsrc.region",
26203 FT_UINT32
, BASE_DEC
, NULL
, 0,
26204 "RoadRegulatorID", HFILL
}},
26207 FT_UINT32
, BASE_DEC
, NULL
, 0,
26208 "IntersectionID", HFILL
}},
26210 { "id", "dsrc.id_element",
26211 FT_NONE
, BASE_NONE
, NULL
, 0,
26212 "IntersectionReferenceID", HFILL
}},
26213 { &hf_dsrc_isStatus
,
26214 { "status", "dsrc.intersectionState.status",
26215 FT_BYTES
, BASE_NONE
, NULL
, 0,
26216 "IntersectionStatusObject", HFILL
}},
26218 { "moy", "dsrc.moy",
26219 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_moi_fmt
), 0,
26220 "MinuteOfTheYear", HFILL
}},
26221 { &hf_dsrc_isTimeStamp
,
26222 { "timeStamp", "dsrc.timeStamp",
26223 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_dsecond_fmt
), 0,
26224 "DSecond", HFILL
}},
26225 { &hf_dsrc_enabledLanes
,
26226 { "enabledLanes", "dsrc.enabledLanes",
26227 FT_UINT32
, BASE_DEC
, NULL
, 0,
26228 "EnabledLaneList", HFILL
}},
26230 { "states", "dsrc.states",
26231 FT_UINT32
, BASE_DEC
, NULL
, 0,
26232 "MovementList", HFILL
}},
26233 { &hf_dsrc_maneuverAssistList
,
26234 { "maneuverAssistList", "dsrc.maneuverAssistList",
26235 FT_UINT32
, BASE_DEC
, NULL
, 0,
26237 { &hf_dsrc_isRegional
,
26238 { "regional", "dsrc.regional",
26239 FT_UINT32
, BASE_DEC
, NULL
, 0,
26240 "T_IntersectionStateRegional", HFILL
}},
26241 { &hf_dsrc_isRegional_item
,
26242 { "RegionalExtension", "dsrc.RegionalExtension_element",
26243 FT_NONE
, BASE_NONE
, NULL
, 0,
26245 { &hf_dsrc_IntersectionStateList_item
,
26246 { "IntersectionState", "dsrc.IntersectionState_element",
26247 FT_NONE
, BASE_NONE
, NULL
, 0,
26249 { &hf_dsrc_directionalUse
,
26250 { "directionalUse", "dsrc.directionalUse",
26251 FT_BYTES
, BASE_NONE
, NULL
, 0,
26252 "LaneDirection", HFILL
}},
26253 { &hf_dsrc_sharedWith
,
26254 { "sharedWith", "dsrc.sharedWith",
26255 FT_BYTES
, BASE_NONE
, NULL
, 0,
26256 "LaneSharing", HFILL
}},
26257 { &hf_dsrc_laneType
,
26258 { "laneType", "dsrc.laneType",
26259 FT_UINT32
, BASE_DEC
, VALS(dsrc_LaneTypeAttributes_vals
), 0,
26260 "LaneTypeAttributes", HFILL
}},
26261 { &hf_dsrc_laRegional
,
26262 { "regional", "dsrc.regional_element",
26263 FT_NONE
, BASE_NONE
, NULL
, 0,
26264 "RegionalExtension", HFILL
}},
26265 { &hf_dsrc_pathEndPointAngle
,
26266 { "pathEndPointAngle", "dsrc.pathEndPointAngle",
26267 FT_INT32
, BASE_DEC
, NULL
, 0,
26268 "DeltaAngle", HFILL
}},
26269 { &hf_dsrc_laneCrownPointCenter
,
26270 { "laneCrownPointCenter", "dsrc.laneCrownPointCenter",
26271 FT_INT32
, BASE_DEC
, NULL
, 0,
26272 "RoadwayCrownAngle", HFILL
}},
26273 { &hf_dsrc_laneCrownPointLeft
,
26274 { "laneCrownPointLeft", "dsrc.laneCrownPointLeft",
26275 FT_INT32
, BASE_DEC
, NULL
, 0,
26276 "RoadwayCrownAngle", HFILL
}},
26277 { &hf_dsrc_laneCrownPointRight
,
26278 { "laneCrownPointRight", "dsrc.laneCrownPointRight",
26279 FT_INT32
, BASE_DEC
, NULL
, 0,
26280 "RoadwayCrownAngle", HFILL
}},
26281 { &hf_dsrc_laneAngle
,
26282 { "laneAngle", "dsrc.laneAngle",
26283 FT_INT32
, BASE_DEC
, NULL
, 0,
26284 "MergeDivergeNodeAngle", HFILL
}},
26285 { &hf_dsrc_ldaRegional
,
26286 { "regional", "dsrc.regional",
26287 FT_UINT32
, BASE_DEC
, NULL
, 0,
26288 "T_LaneDataAttributeRegional", HFILL
}},
26289 { &hf_dsrc_ldaRegional_item
,
26290 { "RegionalExtension", "dsrc.RegionalExtension_element",
26291 FT_NONE
, BASE_NONE
, NULL
, 0,
26293 { &hf_dsrc_LaneDataAttributeList_item
,
26294 { "LaneDataAttribute", "dsrc.LaneDataAttribute",
26295 FT_UINT32
, BASE_DEC
, VALS(dsrc_LaneDataAttribute_vals
), 0,
26297 { &hf_dsrc_LaneList_item
,
26298 { "GenericLane", "dsrc.GenericLane_element",
26299 FT_NONE
, BASE_NONE
, NULL
, 0,
26301 { &hf_dsrc_vehicle
,
26302 { "vehicle", "dsrc.vehicle",
26303 FT_BYTES
, BASE_NONE
, NULL
, 0,
26304 "LaneAttributes_Vehicle", HFILL
}},
26305 { &hf_dsrc_crosswalk
,
26306 { "crosswalk", "dsrc.crosswalk",
26307 FT_BYTES
, BASE_NONE
, NULL
, 0,
26308 "LaneAttributes_Crosswalk", HFILL
}},
26309 { &hf_dsrc_bikeLane
,
26310 { "bikeLane", "dsrc.bikeLane",
26311 FT_BYTES
, BASE_NONE
, NULL
, 0,
26312 "LaneAttributes_Bike", HFILL
}},
26313 { &hf_dsrc_sidewalk
,
26314 { "sidewalk", "dsrc.sidewalk",
26315 FT_BYTES
, BASE_NONE
, NULL
, 0,
26316 "LaneAttributes_Sidewalk", HFILL
}},
26318 { "median", "dsrc.median",
26319 FT_BYTES
, BASE_NONE
, NULL
, 0,
26320 "LaneAttributes_Barrier", HFILL
}},
26321 { &hf_dsrc_striping
,
26322 { "striping", "dsrc.striping",
26323 FT_BYTES
, BASE_NONE
, NULL
, 0,
26324 "LaneAttributes_Striping", HFILL
}},
26325 { &hf_dsrc_trackedVehicle
,
26326 { "trackedVehicle", "dsrc.trackedVehicle",
26327 FT_BYTES
, BASE_NONE
, NULL
, 0,
26328 "LaneAttributes_TrackedVehicle", HFILL
}},
26329 { &hf_dsrc_parking
,
26330 { "parking", "dsrc.parking",
26331 FT_BYTES
, BASE_NONE
, NULL
, 0,
26332 "LaneAttributes_Parking", HFILL
}},
26333 { &hf_dsrc_ManeuverAssistList_item
,
26334 { "ConnectionManeuverAssist", "dsrc.ConnectionManeuverAssist_element",
26335 FT_NONE
, BASE_NONE
, NULL
, 0,
26337 { &hf_dsrc_eventState
,
26338 { "eventState", "dsrc.eventState",
26339 FT_UINT32
, BASE_DEC
, VALS(dsrc_MovementPhaseState_vals
), 0,
26340 "MovementPhaseState", HFILL
}},
26342 { "timing", "dsrc.timing_element",
26343 FT_NONE
, BASE_NONE
, NULL
, 0,
26344 "TimeChangeDetails", HFILL
}},
26346 { "speeds", "dsrc.speeds",
26347 FT_UINT32
, BASE_DEC
, NULL
, 0,
26348 "AdvisorySpeedList", HFILL
}},
26349 { &hf_dsrc_meRegional
,
26350 { "regional", "dsrc.regional",
26351 FT_UINT32
, BASE_DEC
, NULL
, 0,
26352 "T_MovementEventRegional", HFILL
}},
26353 { &hf_dsrc_meRegional_item
,
26354 { "RegionalExtension", "dsrc.RegionalExtension_element",
26355 FT_NONE
, BASE_NONE
, NULL
, 0,
26357 { &hf_dsrc_MovementEventList_item
,
26358 { "MovementEvent", "dsrc.MovementEvent_element",
26359 FT_NONE
, BASE_NONE
, NULL
, 0,
26361 { &hf_dsrc_MovementList_item
,
26362 { "MovementState", "dsrc.MovementState_element",
26363 FT_NONE
, BASE_NONE
, NULL
, 0,
26365 { &hf_dsrc_movementName
,
26366 { "movementName", "dsrc.movementName",
26367 FT_STRING
, BASE_NONE
, NULL
, 0,
26368 "DescriptiveName", HFILL
}},
26369 { &hf_dsrc_state_time_speed
,
26370 { "state-time-speed", "dsrc.state_time_speed",
26371 FT_UINT32
, BASE_DEC
, NULL
, 0,
26372 "MovementEventList", HFILL
}},
26373 { &hf_dsrc_msRegional
,
26374 { "regional", "dsrc.regional",
26375 FT_UINT32
, BASE_DEC
, NULL
, 0,
26376 "T_MovementStateRegional", HFILL
}},
26377 { &hf_dsrc_msRegional_item
,
26378 { "RegionalExtension", "dsrc.RegionalExtension_element",
26379 FT_NONE
, BASE_NONE
, NULL
, 0,
26381 { &hf_dsrc_localNode
,
26382 { "localNode", "dsrc.localNode",
26383 FT_UINT32
, BASE_DEC
, NULL
, 0,
26384 "NodeAttributeXYList", HFILL
}},
26385 { &hf_dsrc_disabled
,
26386 { "disabled", "dsrc.disabled",
26387 FT_UINT32
, BASE_DEC
, NULL
, 0,
26388 "SegmentAttributeXYList", HFILL
}},
26389 { &hf_dsrc_enabled
,
26390 { "enabled", "dsrc.enabled",
26391 FT_UINT32
, BASE_DEC
, NULL
, 0,
26392 "SegmentAttributeXYList", HFILL
}},
26394 { "data", "dsrc.data",
26395 FT_UINT32
, BASE_DEC
, NULL
, 0,
26396 "LaneDataAttributeList", HFILL
}},
26398 { "dWidth", "dsrc.dWidth",
26399 FT_INT32
, BASE_DEC
, NULL
, 0,
26400 "Offset_B10", HFILL
}},
26401 { &hf_dsrc_dElevation
,
26402 { "dElevation", "dsrc.dElevation",
26403 FT_INT32
, BASE_DEC
, NULL
, 0,
26404 "Offset_B10", HFILL
}},
26405 { &hf_dsrc_nasxyRegional
,
26406 { "regional", "dsrc.regional",
26407 FT_UINT32
, BASE_DEC
, NULL
, 0,
26408 "T_NodeAttributeSetXYRegional", HFILL
}},
26409 { &hf_dsrc_nasxyRegional_item
,
26410 { "RegionalExtension", "dsrc.RegionalExtension_element",
26411 FT_NONE
, BASE_NONE
, NULL
, 0,
26413 { &hf_dsrc_NodeAttributeXYList_item
,
26414 { "NodeAttributeXY", "dsrc.NodeAttributeXY",
26415 FT_UINT32
, BASE_DEC
, VALS(dsrc_NodeAttributeXY_vals
), 0,
26418 { "lon", "dsrc.lon",
26419 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_longitude_fmt
), 0,
26420 "Longitude", HFILL
}},
26423 FT_INT32
, BASE_DEC
, NULL
, 0,
26424 "Offset_B10", HFILL
}},
26427 FT_INT32
, BASE_DEC
, NULL
, 0,
26428 "Offset_B10", HFILL
}},
26431 FT_INT32
, BASE_DEC
, NULL
, 0,
26432 "Offset_B11", HFILL
}},
26435 FT_INT32
, BASE_DEC
, NULL
, 0,
26436 "Offset_B11", HFILL
}},
26439 FT_INT32
, BASE_DEC
, NULL
, 0,
26440 "Offset_B12", HFILL
}},
26443 FT_INT32
, BASE_DEC
, NULL
, 0,
26444 "Offset_B12", HFILL
}},
26447 FT_INT32
, BASE_DEC
, NULL
, 0,
26448 "Offset_B13", HFILL
}},
26451 FT_INT32
, BASE_DEC
, NULL
, 0,
26452 "Offset_B13", HFILL
}},
26455 FT_INT32
, BASE_DEC
, NULL
, 0,
26456 "Offset_B14", HFILL
}},
26459 FT_INT32
, BASE_DEC
, NULL
, 0,
26460 "Offset_B14", HFILL
}},
26463 FT_INT32
, BASE_DEC
, NULL
, 0,
26464 "Offset_B16", HFILL
}},
26467 FT_INT32
, BASE_DEC
, NULL
, 0,
26468 "Offset_B16", HFILL
}},
26470 { "nodes", "dsrc.nodes",
26471 FT_UINT32
, BASE_DEC
, NULL
, 0,
26472 "NodeSetXY", HFILL
}},
26473 { &hf_dsrc_computed
,
26474 { "computed", "dsrc.computed_element",
26475 FT_NONE
, BASE_NONE
, NULL
, 0,
26476 "ComputedLane", HFILL
}},
26477 { &hf_dsrc_node_XY1
,
26478 { "node-XY1", "dsrc.node_XY1_element",
26479 FT_NONE
, BASE_NONE
, NULL
, 0,
26480 "Node_XY_20b", HFILL
}},
26481 { &hf_dsrc_node_XY2
,
26482 { "node-XY2", "dsrc.node_XY2_element",
26483 FT_NONE
, BASE_NONE
, NULL
, 0,
26484 "Node_XY_22b", HFILL
}},
26485 { &hf_dsrc_node_XY3
,
26486 { "node-XY3", "dsrc.node_XY3_element",
26487 FT_NONE
, BASE_NONE
, NULL
, 0,
26488 "Node_XY_24b", HFILL
}},
26489 { &hf_dsrc_node_XY4
,
26490 { "node-XY4", "dsrc.node_XY4_element",
26491 FT_NONE
, BASE_NONE
, NULL
, 0,
26492 "Node_XY_26b", HFILL
}},
26493 { &hf_dsrc_node_XY5
,
26494 { "node-XY5", "dsrc.node_XY5_element",
26495 FT_NONE
, BASE_NONE
, NULL
, 0,
26496 "Node_XY_28b", HFILL
}},
26497 { &hf_dsrc_node_XY6
,
26498 { "node-XY6", "dsrc.node_XY6_element",
26499 FT_NONE
, BASE_NONE
, NULL
, 0,
26500 "Node_XY_32b", HFILL
}},
26501 { &hf_dsrc_node_LatLon
,
26502 { "node-LatLon", "dsrc.node_LatLon_element",
26503 FT_NONE
, BASE_NONE
, NULL
, 0,
26504 "Node_LLmD_64b", HFILL
}},
26505 { &hf_dsrc_nopxyRegional
,
26506 { "regional", "dsrc.regional_element",
26507 FT_NONE
, BASE_NONE
, NULL
, 0,
26508 "RegionalExtension", HFILL
}},
26510 { "delta", "dsrc.delta",
26511 FT_UINT32
, BASE_DEC
, VALS(dsrc_NodeOffsetPointXY_vals
), 0,
26512 "NodeOffsetPointXY", HFILL
}},
26513 { &hf_dsrc_attributes
,
26514 { "attributes", "dsrc.attributes_element",
26515 FT_NONE
, BASE_NONE
, NULL
, 0,
26516 "NodeAttributeSetXY", HFILL
}},
26517 { &hf_dsrc_NodeSetXY_item
,
26518 { "NodeXY", "dsrc.NodeXY_element",
26519 FT_NONE
, BASE_NONE
, NULL
, 0,
26521 { &hf_dsrc_OverlayLaneList_item
,
26522 { "LaneID", "dsrc.LaneID",
26523 FT_UINT32
, BASE_DEC
, NULL
, 0,
26525 { &hf_dsrc_semiMajor
,
26526 { "semiMajor", "dsrc.semiMajor",
26527 FT_UINT32
, BASE_DEC
, NULL
, 0,
26528 "SemiMajorAxisAccuracy", HFILL
}},
26529 { &hf_dsrc_semiMinor
,
26530 { "semiMinor", "dsrc.semiMinor",
26531 FT_UINT32
, BASE_DEC
, NULL
, 0,
26532 "SemiMinorAxisAccuracy", HFILL
}},
26533 { &hf_dsrc_orientation
,
26534 { "orientation", "dsrc.orientation",
26535 FT_UINT32
, BASE_DEC
, NULL
, 0,
26536 "SemiMajorAxisOrientation", HFILL
}},
26538 { "pos", "dsrc.pos",
26539 FT_UINT32
, BASE_DEC
, VALS(dsrc_PositionConfidence_vals
), 0,
26540 "PositionConfidence", HFILL
}},
26541 { &hf_dsrc_pcsElevation
,
26542 { "elevation", "dsrc.positionConfidenceSet.elevation",
26543 FT_UINT32
, BASE_DEC
, VALS(dsrc_ElevationConfidence_vals
), 0,
26544 "ElevationConfidence", HFILL
}},
26545 { &hf_dsrc_p3dElevation
,
26546 { "elevation", "dsrc.position3D.elevation",
26547 FT_INT32
, BASE_DEC
, NULL
, 0,
26549 { &hf_dsrc_p3dRegional
,
26550 { "regional", "dsrc.regional",
26551 FT_UINT32
, BASE_DEC
, NULL
, 0,
26552 "T_Position3DRegional", HFILL
}},
26553 { &hf_dsrc_p3dRegional_item
,
26554 { "RegionalExtension", "dsrc.RegionalExtension_element",
26555 FT_NONE
, BASE_NONE
, NULL
, 0,
26557 { &hf_dsrc_PreemptPriorityList_item
,
26558 { "SignalControlZone", "dsrc.SignalControlZone_element",
26559 FT_NONE
, BASE_NONE
, NULL
, 0,
26561 { &hf_dsrc_rslType
,
26562 { "type", "dsrc.type",
26563 FT_UINT32
, BASE_DEC
, VALS(dsrc_SpeedLimitType_vals
), 0,
26564 "SpeedLimitType", HFILL
}},
26565 { &hf_dsrc_rslSpeed
,
26566 { "speed", "dsrc.speed",
26567 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_velocity_fmt
), 0,
26568 "Velocity", HFILL
}},
26571 FT_UINT32
, BASE_DEC
, VALS(dsrc_VehicleID_vals
), 0,
26572 "VehicleID", HFILL
}},
26574 { "type", "dsrc.type_element",
26575 FT_NONE
, BASE_NONE
, NULL
, 0,
26576 "RequestorType", HFILL
}},
26577 { &hf_dsrc_rdPosition
,
26578 { "position", "dsrc.position_element",
26579 FT_NONE
, BASE_NONE
, NULL
, 0,
26580 "RequestorPositionVector", HFILL
}},
26581 { &hf_dsrc_routeName
,
26582 { "routeName", "dsrc.routeName",
26583 FT_STRING
, BASE_NONE
, NULL
, 0,
26584 "DescriptiveName", HFILL
}},
26585 { &hf_dsrc_transitStatus
,
26586 { "transitStatus", "dsrc.transitStatus",
26587 FT_BYTES
, BASE_NONE
, NULL
, 0,
26588 "TransitVehicleStatus", HFILL
}},
26589 { &hf_dsrc_transitOccupancy
,
26590 { "transitOccupancy", "dsrc.transitOccupancy",
26591 FT_UINT32
, BASE_DEC
, VALS(dsrc_TransitVehicleOccupancy_vals
), 0,
26592 "TransitVehicleOccupancy", HFILL
}},
26593 { &hf_dsrc_transitSchedule
,
26594 { "transitSchedule", "dsrc.transitSchedule",
26595 FT_INT32
, BASE_CUSTOM
, CF_FUNC(dsrc_delta_time_fmt
), 0,
26596 "DeltaTime", HFILL
}},
26597 { &hf_dsrc_rdRegional
,
26598 { "regional", "dsrc.regional",
26599 FT_UINT32
, BASE_DEC
, NULL
, 0,
26600 "T_RequestorDescriptionRegional", HFILL
}},
26601 { &hf_dsrc_rdRegional_item
,
26602 { "RegionalExtension", "dsrc.RegionalExtension_element",
26603 FT_NONE
, BASE_NONE
, NULL
, 0,
26605 { &hf_dsrc_rpvPosition
,
26606 { "position", "dsrc.position_element",
26607 FT_NONE
, BASE_NONE
, NULL
, 0,
26608 "Position3D", HFILL
}},
26609 { &hf_dsrc_rpvHeading
,
26610 { "heading", "dsrc.heading",
26611 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_angle_fmt
), 0,
26613 { &hf_dsrc_rpvSpeed
,
26614 { "speed", "dsrc.speed_element",
26615 FT_NONE
, BASE_NONE
, NULL
, 0,
26616 "TransmissionAndSpeed", HFILL
}},
26618 { "role", "dsrc.role",
26619 FT_UINT32
, BASE_DEC
, VALS(dsrc_BasicVehicleRole_vals
), 0,
26620 "BasicVehicleRole", HFILL
}},
26621 { &hf_dsrc_subrole
,
26622 { "subrole", "dsrc.subrole",
26623 FT_UINT32
, BASE_DEC
, VALS(dsrc_RequestSubRole_vals
), 0,
26624 "RequestSubRole", HFILL
}},
26625 { &hf_dsrc_rtRequest
,
26626 { "request", "dsrc.request",
26627 FT_UINT32
, BASE_DEC
, VALS(dsrc_RequestImportanceLevel_vals
), 0,
26628 "RequestImportanceLevel", HFILL
}},
26629 { &hf_dsrc_iso3883
,
26630 { "iso3883", "dsrc.iso3883",
26631 FT_UINT32
, BASE_DEC
, VALS(its_Iso3833VehicleType_vals
), 0,
26632 "Iso3833VehicleType", HFILL
}},
26633 { &hf_dsrc_hpmsType
,
26634 { "hpmsType", "dsrc.hpmsType",
26635 FT_UINT32
, BASE_DEC
, VALS(dsrc_VehicleType_vals
), 0,
26636 "VehicleType", HFILL
}},
26637 { &hf_dsrc_rtRegional
,
26638 { "regional", "dsrc.regional_element",
26639 FT_NONE
, BASE_NONE
, NULL
, 0,
26640 "RegionalExtension", HFILL
}},
26643 FT_UINT32
, BASE_DEC
, NULL
, 0,
26644 "RestrictionClassID", HFILL
}},
26646 { "users", "dsrc.users",
26647 FT_UINT32
, BASE_DEC
, NULL
, 0,
26648 "RestrictionUserTypeList", HFILL
}},
26649 { &hf_dsrc_RestrictionClassList_item
,
26650 { "RestrictionClassAssignment", "dsrc.RestrictionClassAssignment_element",
26651 FT_NONE
, BASE_NONE
, NULL
, 0,
26653 { &hf_dsrc_basicType
,
26654 { "basicType", "dsrc.basicType",
26655 FT_UINT32
, BASE_DEC
, VALS(dsrc_RestrictionAppliesTo_vals
), 0,
26656 "RestrictionAppliesTo", HFILL
}},
26657 { &hf_dsrc_rutRegional
,
26658 { "regional", "dsrc.regional",
26659 FT_UINT32
, BASE_DEC
, NULL
, 0,
26660 "T_RestrictionUserTypeRegional", HFILL
}},
26661 { &hf_dsrc_rutRegional_item
,
26662 { "RegionalExtension", "dsrc.RegionalExtension_element",
26663 FT_NONE
, BASE_NONE
, NULL
, 0,
26665 { &hf_dsrc_RestrictionUserTypeList_item
,
26666 { "RestrictionUserType", "dsrc.RestrictionUserType",
26667 FT_UINT32
, BASE_DEC
, VALS(dsrc_RestrictionUserType_vals
), 0,
26669 { &hf_dsrc_RoadLaneSetList_item
,
26670 { "GenericLane", "dsrc.GenericLane_element",
26671 FT_NONE
, BASE_NONE
, NULL
, 0,
26675 FT_UINT32
, BASE_DEC
, NULL
, 0,
26676 "RoadSegmentID", HFILL
}},
26678 { "id", "dsrc.id_element",
26679 FT_NONE
, BASE_NONE
, NULL
, 0,
26680 "RoadSegmentReferenceID", HFILL
}},
26681 { &hf_dsrc_roadLaneSet
,
26682 { "roadLaneSet", "dsrc.roadLaneSet",
26683 FT_UINT32
, BASE_DEC
, NULL
, 0,
26684 "RoadLaneSetList", HFILL
}},
26685 { &hf_dsrc_rsRegional
,
26686 { "regional", "dsrc.regional",
26687 FT_UINT32
, BASE_DEC
, NULL
, 0,
26688 "T_RoadSegmentRegional", HFILL
}},
26689 { &hf_dsrc_rsRegional_item
,
26690 { "RegionalExtension", "dsrc.RegionalExtension_element",
26691 FT_NONE
, BASE_NONE
, NULL
, 0,
26693 { &hf_dsrc_RoadSegmentList_item
,
26694 { "RoadSegment", "dsrc.RoadSegment_element",
26695 FT_NONE
, BASE_NONE
, NULL
, 0,
26698 { "status", "dsrc.status",
26699 FT_BYTES
, BASE_NONE
, NULL
, 0,
26700 "GNSSstatus", HFILL
}},
26701 { &hf_dsrc_offsetSet
,
26702 { "offsetSet", "dsrc.offsetSet_element",
26703 FT_NONE
, BASE_NONE
, NULL
, 0,
26704 "AntennaOffsetSet", HFILL
}},
26705 { &hf_dsrc_RTCMmessageList_item
,
26706 { "RTCMmessage", "dsrc.RTCMmessage",
26707 FT_BYTES
, BASE_NONE
, NULL
, 0,
26709 { &hf_dsrc_SegmentAttributeXYList_item
,
26710 { "SegmentAttributeXY", "dsrc.SegmentAttributeXY",
26711 FT_UINT32
, BASE_DEC
, VALS(dsrc_SegmentAttributeXY_vals
), 0,
26714 { "zone", "dsrc.zone_element",
26715 FT_NONE
, BASE_NONE
, NULL
, 0,
26716 "RegionalExtension", HFILL
}},
26719 FT_UINT32
, BASE_DEC
, VALS(dsrc_VehicleID_vals
), 0,
26720 "VehicleID", HFILL
}},
26721 { &hf_dsrc_sriRequest
,
26722 { "request", "dsrc.request",
26723 FT_UINT32
, BASE_DEC
, NULL
, 0,
26724 "RequestID", HFILL
}},
26725 { &hf_dsrc_typeData
,
26726 { "typeData", "dsrc.typeData_element",
26727 FT_NONE
, BASE_NONE
, NULL
, 0,
26728 "RequestorType", HFILL
}},
26730 { "id", "dsrc.id_element",
26731 FT_NONE
, BASE_NONE
, NULL
, 0,
26732 "IntersectionReferenceID", HFILL
}},
26733 { &hf_dsrc_requestID
,
26734 { "requestID", "dsrc.requestID",
26735 FT_UINT32
, BASE_DEC
, NULL
, 0,
26737 { &hf_dsrc_requestType
,
26738 { "requestType", "dsrc.requestType",
26739 FT_UINT32
, BASE_DEC
, VALS(dsrc_PriorityRequestType_vals
), 0,
26740 "PriorityRequestType", HFILL
}},
26741 { &hf_dsrc_inBoundLane
,
26742 { "inBoundLane", "dsrc.inBoundLane",
26743 FT_UINT32
, BASE_DEC
, VALS(dsrc_IntersectionAccessPoint_vals
), 0,
26744 "IntersectionAccessPoint", HFILL
}},
26745 { &hf_dsrc_outBoundLane
,
26746 { "outBoundLane", "dsrc.outBoundLane",
26747 FT_UINT32
, BASE_DEC
, VALS(dsrc_IntersectionAccessPoint_vals
), 0,
26748 "IntersectionAccessPoint", HFILL
}},
26749 { &hf_dsrc_srRegional
,
26750 { "regional", "dsrc.regional",
26751 FT_UINT32
, BASE_DEC
, NULL
, 0,
26752 "T_SignalRequestRegional", HFILL
}},
26753 { &hf_dsrc_srRegional_item
,
26754 { "RegionalExtension", "dsrc.RegionalExtension_element",
26755 FT_NONE
, BASE_NONE
, NULL
, 0,
26757 { &hf_dsrc_SignalRequestList_item
,
26758 { "SignalRequestPackage", "dsrc.SignalRequestPackage_element",
26759 FT_NONE
, BASE_NONE
, NULL
, 0,
26761 { &hf_dsrc_srpRequest
,
26762 { "request", "dsrc.request_element",
26763 FT_NONE
, BASE_NONE
, NULL
, 0,
26764 "SignalRequest", HFILL
}},
26765 { &hf_dsrc_srpMinute
,
26766 { "minute", "dsrc.minute",
26767 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_moi_fmt
), 0,
26768 "MinuteOfTheYear", HFILL
}},
26769 { &hf_dsrc_duration
,
26770 { "duration", "dsrc.duration",
26771 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_dsecond_fmt
), 0,
26772 "DSecond", HFILL
}},
26773 { &hf_dsrc_srpRegional
,
26774 { "regional", "dsrc.regional",
26775 FT_UINT32
, BASE_DEC
, NULL
, 0,
26776 "T_SignalRequestPackageRegional", HFILL
}},
26777 { &hf_dsrc_srpRegional_item
,
26778 { "RegionalExtension", "dsrc.RegionalExtension_element",
26779 FT_NONE
, BASE_NONE
, NULL
, 0,
26782 { "id", "dsrc.id_element",
26783 FT_NONE
, BASE_NONE
, NULL
, 0,
26784 "IntersectionReferenceID", HFILL
}},
26785 { &hf_dsrc_sigStatus
,
26786 { "sigStatus", "dsrc.sigStatus",
26787 FT_UINT32
, BASE_DEC
, NULL
, 0,
26788 "SignalStatusPackageList", HFILL
}},
26789 { &hf_dsrc_ssRegional
,
26790 { "regional", "dsrc.regional",
26791 FT_UINT32
, BASE_DEC
, NULL
, 0,
26792 "T_SignalStatusRegional", HFILL
}},
26793 { &hf_dsrc_ssRegional_item
,
26794 { "RegionalExtension", "dsrc.RegionalExtension_element",
26795 FT_NONE
, BASE_NONE
, NULL
, 0,
26797 { &hf_dsrc_SignalStatusList_item
,
26798 { "SignalStatus", "dsrc.SignalStatus_element",
26799 FT_NONE
, BASE_NONE
, NULL
, 0,
26801 { &hf_dsrc_SignalStatusPackageList_item
,
26802 { "SignalStatusPackage", "dsrc.SignalStatusPackage_element",
26803 FT_NONE
, BASE_NONE
, NULL
, 0,
26805 { &hf_dsrc_requester
,
26806 { "requester", "dsrc.requester_element",
26807 FT_NONE
, BASE_NONE
, NULL
, 0,
26808 "SignalRequesterInfo", HFILL
}},
26809 { &hf_dsrc_inboundOn
,
26810 { "inboundOn", "dsrc.inboundOn",
26811 FT_UINT32
, BASE_DEC
, VALS(dsrc_IntersectionAccessPoint_vals
), 0,
26812 "IntersectionAccessPoint", HFILL
}},
26813 { &hf_dsrc_outboundOn
,
26814 { "outboundOn", "dsrc.outboundOn",
26815 FT_UINT32
, BASE_DEC
, VALS(dsrc_IntersectionAccessPoint_vals
), 0,
26816 "IntersectionAccessPoint", HFILL
}},
26817 { &hf_dsrc_sspMinute
,
26818 { "minute", "dsrc.minute",
26819 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_moi_fmt
), 0,
26820 "MinuteOfTheYear", HFILL
}},
26821 { &hf_dsrc_sspStatus
,
26822 { "status", "dsrc.signalStatusPackage.status",
26823 FT_UINT32
, BASE_DEC
, VALS(dsrc_PrioritizationResponseStatus_vals
), 0,
26824 "PrioritizationResponseStatus", HFILL
}},
26825 { &hf_dsrc_sspRegional
,
26826 { "regional", "dsrc.regional",
26827 FT_UINT32
, BASE_DEC
, NULL
, 0,
26828 "T_SignalStatusPackageRegional", HFILL
}},
26829 { &hf_dsrc_sspRegional_item
,
26830 { "RegionalExtension", "dsrc.RegionalExtension_element",
26831 FT_NONE
, BASE_NONE
, NULL
, 0,
26833 { &hf_dsrc_shtcheading
,
26834 { "heading", "dsrc.heading",
26835 FT_UINT32
, BASE_DEC
, VALS(dsrc_HeadingConfidenceDSRC_vals
), 0,
26836 "HeadingConfidenceDSRC", HFILL
}},
26837 { &hf_dsrc_shtcSpeed
,
26838 { "speed", "dsrc.speed",
26839 FT_UINT32
, BASE_DEC
, VALS(dsrc_SpeedConfidenceDSRC_vals
), 0,
26840 "SpeedConfidenceDSRC", HFILL
}},
26841 { &hf_dsrc_throttle
,
26842 { "throttle", "dsrc.throttle",
26843 FT_UINT32
, BASE_DEC
, VALS(dsrc_ThrottleConfidence_vals
), 0,
26844 "ThrottleConfidence", HFILL
}},
26845 { &hf_dsrc_SpeedLimitList_item
,
26846 { "RegulatorySpeedLimit", "dsrc.RegulatorySpeedLimit_element",
26847 FT_NONE
, BASE_NONE
, NULL
, 0,
26849 { &hf_dsrc_startTime
,
26850 { "startTime", "dsrc.startTime",
26851 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_time_mark_fmt
), 0,
26852 "TimeMark", HFILL
}},
26853 { &hf_dsrc_minEndTime
,
26854 { "minEndTime", "dsrc.minEndTime",
26855 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_time_mark_fmt
), 0,
26856 "TimeMark", HFILL
}},
26857 { &hf_dsrc_maxEndTime
,
26858 { "maxEndTime", "dsrc.maxEndTime",
26859 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_time_mark_fmt
), 0,
26860 "TimeMark", HFILL
}},
26861 { &hf_dsrc_likelyTime
,
26862 { "likelyTime", "dsrc.likelyTime",
26863 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_time_mark_fmt
), 0,
26864 "TimeMark", HFILL
}},
26865 { &hf_dsrc_tcdConfidence
,
26866 { "confidence", "dsrc.confidence",
26867 FT_UINT32
, BASE_DEC
, VALS(dsrc_TimeIntervalConfidence_vals
), 0,
26868 "TimeIntervalConfidence", HFILL
}},
26869 { &hf_dsrc_nextTime
,
26870 { "nextTime", "dsrc.nextTime",
26871 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_time_mark_fmt
), 0,
26872 "TimeMark", HFILL
}},
26873 { &hf_dsrc_transmisson
,
26874 { "transmisson", "dsrc.transmisson",
26875 FT_UINT32
, BASE_DEC
, VALS(dsrc_TransmissionState_vals
), 0,
26876 "TransmissionState", HFILL
}},
26877 { &hf_dsrc_tasSpeed
,
26878 { "speed", "dsrc.speed",
26879 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(dsrc_velocity_fmt
), 0,
26880 "Velocity", HFILL
}},
26881 { &hf_dsrc_entityID
,
26882 { "entityID", "dsrc.entityID",
26883 FT_BYTES
, BASE_NONE
, NULL
, 0,
26884 "TemporaryID", HFILL
}},
26885 { &hf_dsrc_stationID
,
26886 { "stationID", "dsrc.stationID",
26887 FT_UINT32
, BASE_DEC
, NULL
, 0,
26889 { &hf_dsrc_LaneSharing_overlappingLaneDescriptionProvided
,
26890 { "overlappingLaneDescriptionProvided", "dsrc.LaneSharing.overlappingLaneDescriptionProvided",
26891 FT_BOOLEAN
, 8, NULL
, 0x80,
26893 { &hf_dsrc_LaneSharing_multipleLanesTreatedAsOneLane
,
26894 { "multipleLanesTreatedAsOneLane", "dsrc.LaneSharing.multipleLanesTreatedAsOneLane",
26895 FT_BOOLEAN
, 8, NULL
, 0x40,
26897 { &hf_dsrc_LaneSharing_otherNonMotorizedTrafficTypes
,
26898 { "otherNonMotorizedTrafficTypes", "dsrc.LaneSharing.otherNonMotorizedTrafficTypes",
26899 FT_BOOLEAN
, 8, NULL
, 0x20,
26901 { &hf_dsrc_LaneSharing_individualMotorizedVehicleTraffic
,
26902 { "individualMotorizedVehicleTraffic", "dsrc.LaneSharing.individualMotorizedVehicleTraffic",
26903 FT_BOOLEAN
, 8, NULL
, 0x10,
26905 { &hf_dsrc_LaneSharing_busVehicleTraffic
,
26906 { "busVehicleTraffic", "dsrc.LaneSharing.busVehicleTraffic",
26907 FT_BOOLEAN
, 8, NULL
, 0x08,
26909 { &hf_dsrc_LaneSharing_taxiVehicleTraffic
,
26910 { "taxiVehicleTraffic", "dsrc.LaneSharing.taxiVehicleTraffic",
26911 FT_BOOLEAN
, 8, NULL
, 0x04,
26913 { &hf_dsrc_LaneSharing_pedestriansTraffic
,
26914 { "pedestriansTraffic", "dsrc.LaneSharing.pedestriansTraffic",
26915 FT_BOOLEAN
, 8, NULL
, 0x02,
26917 { &hf_dsrc_LaneSharing_cyclistVehicleTraffic
,
26918 { "cyclistVehicleTraffic", "dsrc.LaneSharing.cyclistVehicleTraffic",
26919 FT_BOOLEAN
, 8, NULL
, 0x01,
26921 { &hf_dsrc_LaneSharing_trackedVehicleTraffic
,
26922 { "trackedVehicleTraffic", "dsrc.LaneSharing.trackedVehicleTraffic",
26923 FT_BOOLEAN
, 8, NULL
, 0x80,
26925 { &hf_dsrc_LaneSharing_pedestrianTraffic
,
26926 { "pedestrianTraffic", "dsrc.LaneSharing.pedestrianTraffic",
26927 FT_BOOLEAN
, 8, NULL
, 0x40,
26929 { &hf_dsrc_AllowedManeuvers_maneuverStraightAllowed
,
26930 { "maneuverStraightAllowed", "dsrc.AllowedManeuvers.maneuverStraightAllowed",
26931 FT_BOOLEAN
, 8, NULL
, 0x80,
26933 { &hf_dsrc_AllowedManeuvers_maneuverLeftAllowed
,
26934 { "maneuverLeftAllowed", "dsrc.AllowedManeuvers.maneuverLeftAllowed",
26935 FT_BOOLEAN
, 8, NULL
, 0x40,
26937 { &hf_dsrc_AllowedManeuvers_maneuverRightAllowed
,
26938 { "maneuverRightAllowed", "dsrc.AllowedManeuvers.maneuverRightAllowed",
26939 FT_BOOLEAN
, 8, NULL
, 0x20,
26941 { &hf_dsrc_AllowedManeuvers_maneuverUTurnAllowed
,
26942 { "maneuverUTurnAllowed", "dsrc.AllowedManeuvers.maneuverUTurnAllowed",
26943 FT_BOOLEAN
, 8, NULL
, 0x10,
26945 { &hf_dsrc_AllowedManeuvers_maneuverLeftTurnOnRedAllowed
,
26946 { "maneuverLeftTurnOnRedAllowed", "dsrc.AllowedManeuvers.maneuverLeftTurnOnRedAllowed",
26947 FT_BOOLEAN
, 8, NULL
, 0x08,
26949 { &hf_dsrc_AllowedManeuvers_maneuverRightTurnOnRedAllowed
,
26950 { "maneuverRightTurnOnRedAllowed", "dsrc.AllowedManeuvers.maneuverRightTurnOnRedAllowed",
26951 FT_BOOLEAN
, 8, NULL
, 0x04,
26953 { &hf_dsrc_AllowedManeuvers_maneuverLaneChangeAllowed
,
26954 { "maneuverLaneChangeAllowed", "dsrc.AllowedManeuvers.maneuverLaneChangeAllowed",
26955 FT_BOOLEAN
, 8, NULL
, 0x02,
26957 { &hf_dsrc_AllowedManeuvers_maneuverNoStoppingAllowed
,
26958 { "maneuverNoStoppingAllowed", "dsrc.AllowedManeuvers.maneuverNoStoppingAllowed",
26959 FT_BOOLEAN
, 8, NULL
, 0x01,
26961 { &hf_dsrc_AllowedManeuvers_yieldAllwaysRequired
,
26962 { "yieldAllwaysRequired", "dsrc.AllowedManeuvers.yieldAllwaysRequired",
26963 FT_BOOLEAN
, 8, NULL
, 0x80,
26965 { &hf_dsrc_AllowedManeuvers_goWithHalt
,
26966 { "goWithHalt", "dsrc.AllowedManeuvers.goWithHalt",
26967 FT_BOOLEAN
, 8, NULL
, 0x40,
26969 { &hf_dsrc_AllowedManeuvers_caution
,
26970 { "caution", "dsrc.AllowedManeuvers.caution",
26971 FT_BOOLEAN
, 8, NULL
, 0x20,
26973 { &hf_dsrc_AllowedManeuvers_reserved1
,
26974 { "reserved1", "dsrc.AllowedManeuvers.reserved1",
26975 FT_BOOLEAN
, 8, NULL
, 0x10,
26977 { &hf_dsrc_GNSSstatus_unavailable
,
26978 { "unavailable", "dsrc.GNSSstatus.unavailable",
26979 FT_BOOLEAN
, 8, NULL
, 0x80,
26981 { &hf_dsrc_GNSSstatus_isHealthy
,
26982 { "isHealthy", "dsrc.GNSSstatus.isHealthy",
26983 FT_BOOLEAN
, 8, NULL
, 0x40,
26985 { &hf_dsrc_GNSSstatus_isMonitored
,
26986 { "isMonitored", "dsrc.GNSSstatus.isMonitored",
26987 FT_BOOLEAN
, 8, NULL
, 0x20,
26989 { &hf_dsrc_GNSSstatus_baseStationType
,
26990 { "baseStationType", "dsrc.GNSSstatus.baseStationType",
26991 FT_BOOLEAN
, 8, NULL
, 0x10,
26993 { &hf_dsrc_GNSSstatus_aPDOPofUnder5
,
26994 { "aPDOPofUnder5", "dsrc.GNSSstatus.aPDOPofUnder5",
26995 FT_BOOLEAN
, 8, NULL
, 0x08,
26997 { &hf_dsrc_GNSSstatus_inViewOfUnder5
,
26998 { "inViewOfUnder5", "dsrc.GNSSstatus.inViewOfUnder5",
26999 FT_BOOLEAN
, 8, NULL
, 0x04,
27001 { &hf_dsrc_GNSSstatus_localCorrectionsPresent
,
27002 { "localCorrectionsPresent", "dsrc.GNSSstatus.localCorrectionsPresent",
27003 FT_BOOLEAN
, 8, NULL
, 0x02,
27005 { &hf_dsrc_GNSSstatus_networkCorrectionsPresent
,
27006 { "networkCorrectionsPresent", "dsrc.GNSSstatus.networkCorrectionsPresent",
27007 FT_BOOLEAN
, 8, NULL
, 0x01,
27009 { &hf_dsrc_IntersectionStatusObject_manualControlIsEnabled
,
27010 { "manualControlIsEnabled", "dsrc.IntersectionStatusObject.manualControlIsEnabled",
27011 FT_BOOLEAN
, 8, NULL
, 0x80,
27013 { &hf_dsrc_IntersectionStatusObject_stopTimeIsActivated
,
27014 { "stopTimeIsActivated", "dsrc.IntersectionStatusObject.stopTimeIsActivated",
27015 FT_BOOLEAN
, 8, NULL
, 0x40,
27017 { &hf_dsrc_IntersectionStatusObject_failureFlash
,
27018 { "failureFlash", "dsrc.IntersectionStatusObject.failureFlash",
27019 FT_BOOLEAN
, 8, NULL
, 0x20,
27021 { &hf_dsrc_IntersectionStatusObject_preemptIsActive
,
27022 { "preemptIsActive", "dsrc.IntersectionStatusObject.preemptIsActive",
27023 FT_BOOLEAN
, 8, NULL
, 0x10,
27025 { &hf_dsrc_IntersectionStatusObject_signalPriorityIsActive
,
27026 { "signalPriorityIsActive", "dsrc.IntersectionStatusObject.signalPriorityIsActive",
27027 FT_BOOLEAN
, 8, NULL
, 0x08,
27029 { &hf_dsrc_IntersectionStatusObject_fixedTimeOperation
,
27030 { "fixedTimeOperation", "dsrc.IntersectionStatusObject.fixedTimeOperation",
27031 FT_BOOLEAN
, 8, NULL
, 0x04,
27033 { &hf_dsrc_IntersectionStatusObject_trafficDependentOperation
,
27034 { "trafficDependentOperation", "dsrc.IntersectionStatusObject.trafficDependentOperation",
27035 FT_BOOLEAN
, 8, NULL
, 0x02,
27037 { &hf_dsrc_IntersectionStatusObject_standbyOperation
,
27038 { "standbyOperation", "dsrc.IntersectionStatusObject.standbyOperation",
27039 FT_BOOLEAN
, 8, NULL
, 0x01,
27041 { &hf_dsrc_IntersectionStatusObject_failureMode
,
27042 { "failureMode", "dsrc.IntersectionStatusObject.failureMode",
27043 FT_BOOLEAN
, 8, NULL
, 0x80,
27045 { &hf_dsrc_IntersectionStatusObject_off
,
27046 { "off", "dsrc.IntersectionStatusObject.off",
27047 FT_BOOLEAN
, 8, NULL
, 0x40,
27049 { &hf_dsrc_IntersectionStatusObject_recentMAPmessageUpdate
,
27050 { "recentMAPmessageUpdate", "dsrc.IntersectionStatusObject.recentMAPmessageUpdate",
27051 FT_BOOLEAN
, 8, NULL
, 0x20,
27053 { &hf_dsrc_IntersectionStatusObject_recentChangeInMAPassignedLanesIDsUsed
,
27054 { "recentChangeInMAPassignedLanesIDsUsed", "dsrc.IntersectionStatusObject.recentChangeInMAPassignedLanesIDsUsed",
27055 FT_BOOLEAN
, 8, NULL
, 0x10,
27057 { &hf_dsrc_IntersectionStatusObject_noValidMAPisAvailableAtThisTime
,
27058 { "noValidMAPisAvailableAtThisTime", "dsrc.IntersectionStatusObject.noValidMAPisAvailableAtThisTime",
27059 FT_BOOLEAN
, 8, NULL
, 0x08,
27061 { &hf_dsrc_IntersectionStatusObject_noValidSPATisAvailableAtThisTime
,
27062 { "noValidSPATisAvailableAtThisTime", "dsrc.IntersectionStatusObject.noValidSPATisAvailableAtThisTime",
27063 FT_BOOLEAN
, 8, NULL
, 0x04,
27065 { &hf_dsrc_LaneAttributes_Barrier_median_RevocableLane
,
27066 { "median-RevocableLane", "dsrc.LaneAttributes.Barrier.median.RevocableLane",
27067 FT_BOOLEAN
, 8, NULL
, 0x80,
27069 { &hf_dsrc_LaneAttributes_Barrier_median
,
27070 { "median", "dsrc.LaneAttributes.Barrier.median",
27071 FT_BOOLEAN
, 8, NULL
, 0x40,
27073 { &hf_dsrc_LaneAttributes_Barrier_whiteLineHashing
,
27074 { "whiteLineHashing", "dsrc.LaneAttributes.Barrier.whiteLineHashing",
27075 FT_BOOLEAN
, 8, NULL
, 0x20,
27077 { &hf_dsrc_LaneAttributes_Barrier_stripedLines
,
27078 { "stripedLines", "dsrc.LaneAttributes.Barrier.stripedLines",
27079 FT_BOOLEAN
, 8, NULL
, 0x10,
27081 { &hf_dsrc_LaneAttributes_Barrier_doubleStripedLines
,
27082 { "doubleStripedLines", "dsrc.LaneAttributes.Barrier.doubleStripedLines",
27083 FT_BOOLEAN
, 8, NULL
, 0x08,
27085 { &hf_dsrc_LaneAttributes_Barrier_trafficCones
,
27086 { "trafficCones", "dsrc.LaneAttributes.Barrier.trafficCones",
27087 FT_BOOLEAN
, 8, NULL
, 0x04,
27089 { &hf_dsrc_LaneAttributes_Barrier_constructionBarrier
,
27090 { "constructionBarrier", "dsrc.LaneAttributes.Barrier.constructionBarrier",
27091 FT_BOOLEAN
, 8, NULL
, 0x02,
27093 { &hf_dsrc_LaneAttributes_Barrier_trafficChannels
,
27094 { "trafficChannels", "dsrc.LaneAttributes.Barrier.trafficChannels",
27095 FT_BOOLEAN
, 8, NULL
, 0x01,
27097 { &hf_dsrc_LaneAttributes_Barrier_lowCurbs
,
27098 { "lowCurbs", "dsrc.LaneAttributes.Barrier.lowCurbs",
27099 FT_BOOLEAN
, 8, NULL
, 0x80,
27101 { &hf_dsrc_LaneAttributes_Barrier_highCurbs
,
27102 { "highCurbs", "dsrc.LaneAttributes.Barrier.highCurbs",
27103 FT_BOOLEAN
, 8, NULL
, 0x40,
27105 { &hf_dsrc_LaneAttributes_Bike_bikeRevocableLane
,
27106 { "bikeRevocableLane", "dsrc.LaneAttributes.Bike.bikeRevocableLane",
27107 FT_BOOLEAN
, 8, NULL
, 0x80,
27109 { &hf_dsrc_LaneAttributes_Bike_pedestrianUseAllowed
,
27110 { "pedestrianUseAllowed", "dsrc.LaneAttributes.Bike.pedestrianUseAllowed",
27111 FT_BOOLEAN
, 8, NULL
, 0x40,
27113 { &hf_dsrc_LaneAttributes_Bike_isBikeFlyOverLane
,
27114 { "isBikeFlyOverLane", "dsrc.LaneAttributes.Bike.isBikeFlyOverLane",
27115 FT_BOOLEAN
, 8, NULL
, 0x20,
27117 { &hf_dsrc_LaneAttributes_Bike_fixedCycleTime
,
27118 { "fixedCycleTime", "dsrc.LaneAttributes.Bike.fixedCycleTime",
27119 FT_BOOLEAN
, 8, NULL
, 0x10,
27121 { &hf_dsrc_LaneAttributes_Bike_biDirectionalCycleTimes
,
27122 { "biDirectionalCycleTimes", "dsrc.LaneAttributes.Bike.biDirectionalCycleTimes",
27123 FT_BOOLEAN
, 8, NULL
, 0x08,
27125 { &hf_dsrc_LaneAttributes_Bike_isolatedByBarrier
,
27126 { "isolatedByBarrier", "dsrc.LaneAttributes.Bike.isolatedByBarrier",
27127 FT_BOOLEAN
, 8, NULL
, 0x04,
27129 { &hf_dsrc_LaneAttributes_Bike_unsignalizedSegmentsPresent
,
27130 { "unsignalizedSegmentsPresent", "dsrc.LaneAttributes.Bike.unsignalizedSegmentsPresent",
27131 FT_BOOLEAN
, 8, NULL
, 0x02,
27133 { &hf_dsrc_LaneAttributes_Crosswalk_crosswalkRevocableLane
,
27134 { "crosswalkRevocableLane", "dsrc.LaneAttributes.Crosswalk.crosswalkRevocableLane",
27135 FT_BOOLEAN
, 8, NULL
, 0x80,
27137 { &hf_dsrc_LaneAttributes_Crosswalk_bicyleUseAllowed
,
27138 { "bicyleUseAllowed", "dsrc.LaneAttributes.Crosswalk.bicyleUseAllowed",
27139 FT_BOOLEAN
, 8, NULL
, 0x40,
27141 { &hf_dsrc_LaneAttributes_Crosswalk_isXwalkFlyOverLane
,
27142 { "isXwalkFlyOverLane", "dsrc.LaneAttributes.Crosswalk.isXwalkFlyOverLane",
27143 FT_BOOLEAN
, 8, NULL
, 0x20,
27145 { &hf_dsrc_LaneAttributes_Crosswalk_fixedCycleTime
,
27146 { "fixedCycleTime", "dsrc.LaneAttributes.Crosswalk.fixedCycleTime",
27147 FT_BOOLEAN
, 8, NULL
, 0x10,
27149 { &hf_dsrc_LaneAttributes_Crosswalk_biDirectionalCycleTimes
,
27150 { "biDirectionalCycleTimes", "dsrc.LaneAttributes.Crosswalk.biDirectionalCycleTimes",
27151 FT_BOOLEAN
, 8, NULL
, 0x08,
27153 { &hf_dsrc_LaneAttributes_Crosswalk_hasPushToWalkButton
,
27154 { "hasPushToWalkButton", "dsrc.LaneAttributes.Crosswalk.hasPushToWalkButton",
27155 FT_BOOLEAN
, 8, NULL
, 0x04,
27157 { &hf_dsrc_LaneAttributes_Crosswalk_audioSupport
,
27158 { "audioSupport", "dsrc.LaneAttributes.Crosswalk.audioSupport",
27159 FT_BOOLEAN
, 8, NULL
, 0x02,
27161 { &hf_dsrc_LaneAttributes_Crosswalk_rfSignalRequestPresent
,
27162 { "rfSignalRequestPresent", "dsrc.LaneAttributes.Crosswalk.rfSignalRequestPresent",
27163 FT_BOOLEAN
, 8, NULL
, 0x01,
27165 { &hf_dsrc_LaneAttributes_Crosswalk_unsignalizedSegmentsPresent
,
27166 { "unsignalizedSegmentsPresent", "dsrc.LaneAttributes.Crosswalk.unsignalizedSegmentsPresent",
27167 FT_BOOLEAN
, 8, NULL
, 0x80,
27169 { &hf_dsrc_LaneAttributes_Parking_parkingRevocableLane
,
27170 { "parkingRevocableLane", "dsrc.LaneAttributes.Parking.parkingRevocableLane",
27171 FT_BOOLEAN
, 8, NULL
, 0x80,
27173 { &hf_dsrc_LaneAttributes_Parking_parallelParkingInUse
,
27174 { "parallelParkingInUse", "dsrc.LaneAttributes.Parking.parallelParkingInUse",
27175 FT_BOOLEAN
, 8, NULL
, 0x40,
27177 { &hf_dsrc_LaneAttributes_Parking_headInParkingInUse
,
27178 { "headInParkingInUse", "dsrc.LaneAttributes.Parking.headInParkingInUse",
27179 FT_BOOLEAN
, 8, NULL
, 0x20,
27181 { &hf_dsrc_LaneAttributes_Parking_doNotParkZone
,
27182 { "doNotParkZone", "dsrc.LaneAttributes.Parking.doNotParkZone",
27183 FT_BOOLEAN
, 8, NULL
, 0x10,
27185 { &hf_dsrc_LaneAttributes_Parking_parkingForBusUse
,
27186 { "parkingForBusUse", "dsrc.LaneAttributes.Parking.parkingForBusUse",
27187 FT_BOOLEAN
, 8, NULL
, 0x08,
27189 { &hf_dsrc_LaneAttributes_Parking_parkingForTaxiUse
,
27190 { "parkingForTaxiUse", "dsrc.LaneAttributes.Parking.parkingForTaxiUse",
27191 FT_BOOLEAN
, 8, NULL
, 0x04,
27193 { &hf_dsrc_LaneAttributes_Parking_noPublicParkingUse
,
27194 { "noPublicParkingUse", "dsrc.LaneAttributes.Parking.noPublicParkingUse",
27195 FT_BOOLEAN
, 8, NULL
, 0x02,
27197 { &hf_dsrc_LaneAttributes_Sidewalk_sidewalk_RevocableLane
,
27198 { "sidewalk-RevocableLane", "dsrc.LaneAttributes.Sidewalk.sidewalk.RevocableLane",
27199 FT_BOOLEAN
, 8, NULL
, 0x80,
27201 { &hf_dsrc_LaneAttributes_Sidewalk_bicyleUseAllowed
,
27202 { "bicyleUseAllowed", "dsrc.LaneAttributes.Sidewalk.bicyleUseAllowed",
27203 FT_BOOLEAN
, 8, NULL
, 0x40,
27205 { &hf_dsrc_LaneAttributes_Sidewalk_isSidewalkFlyOverLane
,
27206 { "isSidewalkFlyOverLane", "dsrc.LaneAttributes.Sidewalk.isSidewalkFlyOverLane",
27207 FT_BOOLEAN
, 8, NULL
, 0x20,
27209 { &hf_dsrc_LaneAttributes_Sidewalk_walkBikes
,
27210 { "walkBikes", "dsrc.LaneAttributes.Sidewalk.walkBikes",
27211 FT_BOOLEAN
, 8, NULL
, 0x10,
27213 { &hf_dsrc_LaneAttributes_Striping_stripeToConnectingLanesRevocableLane
,
27214 { "stripeToConnectingLanesRevocableLane", "dsrc.LaneAttributes.Striping.stripeToConnectingLanesRevocableLane",
27215 FT_BOOLEAN
, 8, NULL
, 0x80,
27217 { &hf_dsrc_LaneAttributes_Striping_stripeDrawOnLeft
,
27218 { "stripeDrawOnLeft", "dsrc.LaneAttributes.Striping.stripeDrawOnLeft",
27219 FT_BOOLEAN
, 8, NULL
, 0x40,
27221 { &hf_dsrc_LaneAttributes_Striping_stripeDrawOnRight
,
27222 { "stripeDrawOnRight", "dsrc.LaneAttributes.Striping.stripeDrawOnRight",
27223 FT_BOOLEAN
, 8, NULL
, 0x20,
27225 { &hf_dsrc_LaneAttributes_Striping_stripeToConnectingLanesLeft
,
27226 { "stripeToConnectingLanesLeft", "dsrc.LaneAttributes.Striping.stripeToConnectingLanesLeft",
27227 FT_BOOLEAN
, 8, NULL
, 0x10,
27229 { &hf_dsrc_LaneAttributes_Striping_stripeToConnectingLanesRight
,
27230 { "stripeToConnectingLanesRight", "dsrc.LaneAttributes.Striping.stripeToConnectingLanesRight",
27231 FT_BOOLEAN
, 8, NULL
, 0x08,
27233 { &hf_dsrc_LaneAttributes_Striping_stripeToConnectingLanesAhead
,
27234 { "stripeToConnectingLanesAhead", "dsrc.LaneAttributes.Striping.stripeToConnectingLanesAhead",
27235 FT_BOOLEAN
, 8, NULL
, 0x04,
27237 { &hf_dsrc_LaneAttributes_TrackedVehicle_spec_RevocableLane
,
27238 { "spec-RevocableLane", "dsrc.LaneAttributes.TrackedVehicle.spec.RevocableLane",
27239 FT_BOOLEAN
, 8, NULL
, 0x80,
27241 { &hf_dsrc_LaneAttributes_TrackedVehicle_spec_commuterRailRoadTrack
,
27242 { "spec-commuterRailRoadTrack", "dsrc.LaneAttributes.TrackedVehicle.spec.commuterRailRoadTrack",
27243 FT_BOOLEAN
, 8, NULL
, 0x40,
27245 { &hf_dsrc_LaneAttributes_TrackedVehicle_spec_lightRailRoadTrack
,
27246 { "spec-lightRailRoadTrack", "dsrc.LaneAttributes.TrackedVehicle.spec.lightRailRoadTrack",
27247 FT_BOOLEAN
, 8, NULL
, 0x20,
27249 { &hf_dsrc_LaneAttributes_TrackedVehicle_spec_heavyRailRoadTrack
,
27250 { "spec-heavyRailRoadTrack", "dsrc.LaneAttributes.TrackedVehicle.spec.heavyRailRoadTrack",
27251 FT_BOOLEAN
, 8, NULL
, 0x10,
27253 { &hf_dsrc_LaneAttributes_TrackedVehicle_spec_otherRailType
,
27254 { "spec-otherRailType", "dsrc.LaneAttributes.TrackedVehicle.spec.otherRailType",
27255 FT_BOOLEAN
, 8, NULL
, 0x08,
27257 { &hf_dsrc_LaneAttributes_Vehicle_isVehicleRevocableLane
,
27258 { "isVehicleRevocableLane", "dsrc.LaneAttributes.Vehicle.isVehicleRevocableLane",
27259 FT_BOOLEAN
, 8, NULL
, 0x80,
27261 { &hf_dsrc_LaneAttributes_Vehicle_isVehicleFlyOverLane
,
27262 { "isVehicleFlyOverLane", "dsrc.LaneAttributes.Vehicle.isVehicleFlyOverLane",
27263 FT_BOOLEAN
, 8, NULL
, 0x40,
27265 { &hf_dsrc_LaneAttributes_Vehicle_hovLaneUseOnly
,
27266 { "hovLaneUseOnly", "dsrc.LaneAttributes.Vehicle.hovLaneUseOnly",
27267 FT_BOOLEAN
, 8, NULL
, 0x20,
27269 { &hf_dsrc_LaneAttributes_Vehicle_restrictedToBusUse
,
27270 { "restrictedToBusUse", "dsrc.LaneAttributes.Vehicle.restrictedToBusUse",
27271 FT_BOOLEAN
, 8, NULL
, 0x10,
27273 { &hf_dsrc_LaneAttributes_Vehicle_restrictedToTaxiUse
,
27274 { "restrictedToTaxiUse", "dsrc.LaneAttributes.Vehicle.restrictedToTaxiUse",
27275 FT_BOOLEAN
, 8, NULL
, 0x08,
27277 { &hf_dsrc_LaneAttributes_Vehicle_restrictedFromPublicUse
,
27278 { "restrictedFromPublicUse", "dsrc.LaneAttributes.Vehicle.restrictedFromPublicUse",
27279 FT_BOOLEAN
, 8, NULL
, 0x04,
27281 { &hf_dsrc_LaneAttributes_Vehicle_hasIRbeaconCoverage
,
27282 { "hasIRbeaconCoverage", "dsrc.LaneAttributes.Vehicle.hasIRbeaconCoverage",
27283 FT_BOOLEAN
, 8, NULL
, 0x02,
27285 { &hf_dsrc_LaneAttributes_Vehicle_permissionOnRequest
,
27286 { "permissionOnRequest", "dsrc.LaneAttributes.Vehicle.permissionOnRequest",
27287 FT_BOOLEAN
, 8, NULL
, 0x01,
27289 { &hf_dsrc_LaneDirection_ingressPath
,
27290 { "ingressPath", "dsrc.LaneDirection.ingressPath",
27291 FT_BOOLEAN
, 8, NULL
, 0x80,
27293 { &hf_dsrc_LaneDirection_egressPath
,
27294 { "egressPath", "dsrc.LaneDirection.egressPath",
27295 FT_BOOLEAN
, 8, NULL
, 0x40,
27297 { &hf_dsrc_TransitVehicleStatus_loading
,
27298 { "loading", "dsrc.TransitVehicleStatus.loading",
27299 FT_BOOLEAN
, 8, NULL
, 0x80,
27301 { &hf_dsrc_TransitVehicleStatus_anADAuse
,
27302 { "anADAuse", "dsrc.TransitVehicleStatus.anADAuse",
27303 FT_BOOLEAN
, 8, NULL
, 0x40,
27305 { &hf_dsrc_TransitVehicleStatus_aBikeLoad
,
27306 { "aBikeLoad", "dsrc.TransitVehicleStatus.aBikeLoad",
27307 FT_BOOLEAN
, 8, NULL
, 0x20,
27309 { &hf_dsrc_TransitVehicleStatus_doorOpen
,
27310 { "doorOpen", "dsrc.TransitVehicleStatus.doorOpen",
27311 FT_BOOLEAN
, 8, NULL
, 0x10,
27313 { &hf_dsrc_TransitVehicleStatus_charging
,
27314 { "charging", "dsrc.TransitVehicleStatus.charging",
27315 FT_BOOLEAN
, 8, NULL
, 0x08,
27317 { &hf_dsrc_TransitVehicleStatus_atStopLine
,
27318 { "atStopLine", "dsrc.TransitVehicleStatus.atStopLine",
27319 FT_BOOLEAN
, 8, NULL
, 0x04,
27322 /* --- Module AddGrpC --- --- --- */
27324 { &hf_AddGrpC_AddGrpC_ConnectionManeuverAssist_addGrpC_PDU
,
27325 { "ConnectionManeuverAssist-addGrpC", "AddGrpC.ConnectionManeuverAssist_addGrpC_element",
27326 FT_NONE
, BASE_NONE
, NULL
, 0,
27328 { &hf_AddGrpC_AddGrpC_ConnectionTrajectory_addGrpC_PDU
,
27329 { "ConnectionTrajectory-addGrpC", "AddGrpC.ConnectionTrajectory_addGrpC_element",
27330 FT_NONE
, BASE_NONE
, NULL
, 0,
27332 { &hf_AddGrpC_AddGrpC_IntersectionState_addGrpC_PDU
,
27333 { "IntersectionState-addGrpC", "AddGrpC.IntersectionState_addGrpC_element",
27334 FT_NONE
, BASE_NONE
, NULL
, 0,
27336 { &hf_AddGrpC_AddGrpC_LaneAttributes_addGrpC_PDU
,
27337 { "LaneAttributes-addGrpC", "AddGrpC.LaneAttributes_addGrpC_element",
27338 FT_NONE
, BASE_NONE
, NULL
, 0,
27340 { &hf_AddGrpC_AddGrpC_MapData_addGrpC_PDU
,
27341 { "MapData-addGrpC", "AddGrpC.MapData_addGrpC_element",
27342 FT_NONE
, BASE_NONE
, NULL
, 0,
27344 { &hf_AddGrpC_AddGrpC_MovementEvent_addGrpC_PDU
,
27345 { "MovementEvent-addGrpC", "AddGrpC.MovementEvent_addGrpC_element",
27346 FT_NONE
, BASE_NONE
, NULL
, 0,
27348 { &hf_AddGrpC_AddGrpC_NodeAttributeSet_addGrpC_PDU
,
27349 { "NodeAttributeSet-addGrpC", "AddGrpC.NodeAttributeSet_addGrpC_element",
27350 FT_NONE
, BASE_NONE
, NULL
, 0,
27352 { &hf_AddGrpC_AddGrpC_Position3D_addGrpC_PDU
,
27353 { "Position3D-addGrpC", "AddGrpC.Position3D_addGrpC_element",
27354 FT_NONE
, BASE_NONE
, NULL
, 0,
27356 { &hf_AddGrpC_AddGrpC_RestrictionUserType_addGrpC_PDU
,
27357 { "RestrictionUserType-addGrpC", "AddGrpC.RestrictionUserType_addGrpC_element",
27358 FT_NONE
, BASE_NONE
, NULL
, 0,
27360 { &hf_AddGrpC_AddGrpC_RequestorDescription_addGrpC_PDU
,
27361 { "RequestorDescription-addGrpC", "AddGrpC.RequestorDescription_addGrpC_element",
27362 FT_NONE
, BASE_NONE
, NULL
, 0,
27364 { &hf_AddGrpC_AddGrpC_SignalStatusPackage_addGrpC_PDU
,
27365 { "SignalStatusPackage-addGrpC", "AddGrpC.SignalStatusPackage_addGrpC_element",
27366 FT_NONE
, BASE_NONE
, NULL
, 0,
27368 { &hf_AddGrpC_itsStationPosition
,
27369 { "itsStationPosition", "AddGrpC.itsStationPosition",
27370 FT_UINT32
, BASE_DEC
, NULL
, 0,
27371 "ItsStationPositionList", HFILL
}},
27372 { &hf_AddGrpC_nodes
,
27373 { "nodes", "AddGrpC.nodes",
27374 FT_UINT32
, BASE_DEC
, NULL
, 0,
27375 "NodeSetXY", HFILL
}},
27376 { &hf_AddGrpC_connectionID
,
27377 { "connectionID", "AddGrpC.connectionID",
27378 FT_UINT32
, BASE_DEC
, NULL
, 0,
27379 "LaneConnectionID", HFILL
}},
27380 { &hf_AddGrpC_activePrioritizations
,
27381 { "activePrioritizations", "AddGrpC.activePrioritizations",
27382 FT_UINT32
, BASE_DEC
, NULL
, 0,
27383 "PrioritizationResponseList", HFILL
}},
27384 { &hf_AddGrpC_maxVehicleHeight
,
27385 { "maxVehicleHeight", "AddGrpC.maxVehicleHeight",
27386 FT_UINT32
, BASE_DEC
, VALS(its_VehicleHeight_vals
), 0,
27387 "VehicleHeight", HFILL
}},
27388 { &hf_AddGrpC_maxVehicleWeight
,
27389 { "maxVehicleWeight", "AddGrpC.maxVehicleWeight",
27390 FT_UINT32
, BASE_DEC
, VALS(its_VehicleMass_vals
), 0,
27391 "VehicleMass", HFILL
}},
27392 { &hf_AddGrpC_signalHeadLocations
,
27393 { "signalHeadLocations", "AddGrpC.signalHeadLocations",
27394 FT_UINT32
, BASE_DEC
, NULL
, 0,
27395 "SignalHeadLocationList", HFILL
}},
27396 { &hf_AddGrpC_stateChangeReason
,
27397 { "stateChangeReason", "AddGrpC.stateChangeReason",
27398 FT_UINT32
, BASE_DEC
, VALS(AddGrpC_ExceptionalCondition_vals
), 0,
27399 "ExceptionalCondition", HFILL
}},
27400 { &hf_AddGrpC_ptvRequest
,
27401 { "ptvRequest", "AddGrpC.ptvRequest",
27402 FT_UINT32
, BASE_DEC
, VALS(AddGrpC_PtvRequestType_vals
), 0,
27403 "PtvRequestType", HFILL
}},
27404 { &hf_AddGrpC_nodeLink
,
27405 { "nodeLink", "AddGrpC.nodeLink",
27406 FT_UINT32
, BASE_DEC
, NULL
, 0,
27408 { &hf_AddGrpC_node
,
27409 { "node", "AddGrpC.node_element",
27410 FT_NONE
, BASE_NONE
, NULL
, 0,
27412 { &hf_AddGrpC_altitude
,
27413 { "altitude", "AddGrpC.altitude_element",
27414 FT_NONE
, BASE_NONE
, NULL
, 0,
27416 { &hf_AddGrpC_emission
,
27417 { "emission", "AddGrpC.emission",
27418 FT_UINT32
, BASE_DEC
, VALS(AddGrpC_EmissionType_vals
), 0,
27419 "EmissionType", HFILL
}},
27420 { &hf_AddGrpC_fuel
,
27421 { "fuel", "AddGrpC.fuel",
27422 FT_UINT32
, BASE_DEC
, VALS(dsrc_FuelType_vals
), 0,
27423 "FuelType", HFILL
}},
27424 { &hf_AddGrpC_batteryStatus
,
27425 { "batteryStatus", "AddGrpC.batteryStatus",
27426 FT_UINT32
, BASE_DEC
, VALS(AddGrpC_BatteryStatus_vals
), 0,
27428 { &hf_AddGrpC_synchToSchedule
,
27429 { "synchToSchedule", "AddGrpC.synchToSchedule",
27430 FT_INT32
, BASE_CUSTOM
, CF_FUNC(dsrc_delta_time_fmt
), 0,
27431 "DeltaTime", HFILL
}},
27432 { &hf_AddGrpC_rejectedReason
,
27433 { "rejectedReason", "AddGrpC.rejectedReason",
27434 FT_UINT32
, BASE_DEC
, VALS(AddGrpC_RejectedReason_vals
), 0,
27436 { &hf_AddGrpC_stationID
,
27437 { "stationID", "AddGrpC.stationID",
27438 FT_UINT32
, BASE_DEC
, NULL
, 0,
27440 { &hf_AddGrpC_laneID
,
27441 { "laneID", "AddGrpC.laneID",
27442 FT_UINT32
, BASE_DEC
, NULL
, 0,
27444 { &hf_AddGrpC_nodeXY
,
27445 { "nodeXY", "AddGrpC.nodeXY",
27446 FT_UINT32
, BASE_DEC
, VALS(dsrc_NodeOffsetPointXY_vals
), 0,
27447 "NodeOffsetPointXY", HFILL
}},
27448 { &hf_AddGrpC_timeReference
,
27449 { "timeReference", "AddGrpC.timeReference",
27450 FT_UINT32
, BASE_DEC
, VALS(AddGrpC_TimeReference_vals
), 0,
27452 { &hf_AddGrpC_ItsStationPositionList_item
,
27453 { "ItsStationPosition", "AddGrpC.ItsStationPosition_element",
27454 FT_NONE
, BASE_NONE
, NULL
, 0,
27457 { "id", "AddGrpC.id",
27458 FT_INT32
, BASE_DEC
, NULL
, 0,
27459 "INTEGER", HFILL
}},
27460 { &hf_AddGrpC_lane
,
27461 { "lane", "AddGrpC.lane",
27462 FT_UINT32
, BASE_DEC
, NULL
, 0,
27463 "LaneID", HFILL
}},
27464 { &hf_AddGrpC_intersectionID
,
27465 { "intersectionID", "AddGrpC.intersectionID",
27466 FT_UINT32
, BASE_DEC
, NULL
, 0,
27468 { &hf_AddGrpC_NodeLink_item
,
27469 { "Node", "AddGrpC.Node_element",
27470 FT_NONE
, BASE_NONE
, NULL
, 0,
27472 { &hf_AddGrpC_priorState
,
27473 { "priorState", "AddGrpC.priorState",
27474 FT_UINT32
, BASE_DEC
, VALS(dsrc_PrioritizationResponseStatus_vals
), 0,
27475 "PrioritizationResponseStatus", HFILL
}},
27476 { &hf_AddGrpC_signalGroup
,
27477 { "signalGroup", "AddGrpC.signalGroup",
27478 FT_UINT32
, BASE_DEC
, NULL
, 0,
27479 "SignalGroupID", HFILL
}},
27480 { &hf_AddGrpC_PrioritizationResponseList_item
,
27481 { "PrioritizationResponse", "AddGrpC.PrioritizationResponse_element",
27482 FT_NONE
, BASE_NONE
, NULL
, 0,
27484 { &hf_AddGrpC_nodeZ
,
27485 { "nodeZ", "AddGrpC.nodeZ",
27486 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_delta_altitude_fmt
), 0,
27487 "DeltaAltitude", HFILL
}},
27488 { &hf_AddGrpC_signalGroupID
,
27489 { "signalGroupID", "AddGrpC.signalGroupID",
27490 FT_UINT32
, BASE_DEC
, NULL
, 0,
27492 { &hf_AddGrpC_SignalHeadLocationList_item
,
27493 { "SignalHeadLocation", "AddGrpC.SignalHeadLocation_element",
27494 FT_NONE
, BASE_NONE
, NULL
, 0,
27497 /* --- Module GDD --- --- --- */
27499 { &hf_gdd_pictogramCode
,
27500 { "pictogramCode", "gdd.pictogramCode_element",
27501 FT_NONE
, BASE_NONE
, NULL
, 0,
27502 "Pictogram", HFILL
}},
27503 { &hf_gdd_attributes
,
27504 { "attributes", "gdd.attributes",
27505 FT_UINT32
, BASE_DEC
, NULL
, 0,
27506 "GddAttributes", HFILL
}},
27507 { &hf_gdd_countryCode
,
27508 { "countryCode", "gdd.countryCode",
27509 FT_BYTES
, BASE_NONE
, NULL
, 0,
27510 "Pictogram_countryCode", HFILL
}},
27511 { &hf_gdd_serviceCategoryCode
,
27512 { "serviceCategoryCode", "gdd.serviceCategoryCode",
27513 FT_UINT32
, BASE_DEC
, VALS(gdd_Pictogram_serviceCategory_vals
), 0,
27514 "Pictogram_serviceCategory", HFILL
}},
27515 { &hf_gdd_pictogramCategoryCode
,
27516 { "pictogramCategoryCode", "gdd.pictogramCategoryCode_element",
27517 FT_NONE
, BASE_NONE
, NULL
, 0,
27518 "Pictogram_category", HFILL
}},
27519 { &hf_gdd_trafficSignPictogram
,
27520 { "trafficSignPictogram", "gdd.trafficSignPictogram",
27521 FT_UINT32
, BASE_DEC
, VALS(gdd_Pictogram_trafficSign_vals
), 0,
27522 "Pictogram_trafficSign", HFILL
}},
27523 { &hf_gdd_publicFacilitiesPictogram
,
27524 { "publicFacilitiesPictogram", "gdd.publicFacilitiesPictogram",
27525 FT_UINT32
, BASE_DEC
, VALS(gdd_Pictogram_publicFacilitySign_vals
), 0,
27526 "Pictogram_publicFacilitySign", HFILL
}},
27527 { &hf_gdd_ambientOrRoadConditionPictogram
,
27528 { "ambientOrRoadConditionPictogram", "gdd.ambientOrRoadConditionPictogram",
27529 FT_UINT32
, BASE_DEC
, VALS(gdd_Pictogram_conditionsSign_vals
), 0,
27530 "Pictogram_conditionsSign", HFILL
}},
27532 { "nature", "gdd.nature",
27533 FT_UINT32
, BASE_DEC
, NULL
, 0,
27534 "Pictogram_nature", HFILL
}},
27535 { &hf_gdd_serialNumber
,
27536 { "serialNumber", "gdd.serialNumber",
27537 FT_UINT32
, BASE_DEC
, NULL
, 0,
27538 "Pictogram_serialNumber", HFILL
}},
27539 { &hf_gdd_GddAttributes_item
,
27540 { "GddAttributes item", "gdd.GddAttributes_item",
27541 FT_UINT32
, BASE_DEC
, VALS(gdd_GddAttributes_item_vals
), 0,
27544 { "dtm", "gdd.dtm_element",
27545 FT_NONE
, BASE_NONE
, NULL
, 0,
27546 "InternationalSign_applicablePeriod", HFILL
}},
27548 { "edt", "gdd.edt_element",
27549 FT_NONE
, BASE_NONE
, NULL
, 0,
27550 "InternationalSign_exemptedApplicablePeriod", HFILL
}},
27552 { "dfl", "gdd.dfl",
27553 FT_UINT32
, BASE_DEC
, VALS(gdd_InternationalSign_directionalFlowOfLane_vals
), 0,
27554 "InternationalSign_directionalFlowOfLane", HFILL
}},
27556 { "ved", "gdd.ved_element",
27557 FT_NONE
, BASE_NONE
, NULL
, 0,
27558 "InternationalSign_applicableVehicleDimensions", HFILL
}},
27560 { "spe", "gdd.spe_element",
27561 FT_NONE
, BASE_NONE
, NULL
, 0,
27562 "InternationalSign_speedLimits", HFILL
}},
27564 { "roi", "gdd.roi",
27565 FT_UINT32
, BASE_DEC
, NULL
, 0,
27566 "InternationalSign_rateOfIncline", HFILL
}},
27568 { "dbv", "gdd.dbv_element",
27569 FT_NONE
, BASE_NONE
, NULL
, 0,
27570 "InternationalSign_distanceBetweenVehicles", HFILL
}},
27572 { "ddd", "gdd.ddd_element",
27573 FT_NONE
, BASE_NONE
, NULL
, 0,
27574 "InternationalSign_destinationInformation", HFILL
}},
27576 { "set", "gdd.set_element",
27577 FT_NONE
, BASE_NONE
, NULL
, 0,
27578 "InternationalSign_section", HFILL
}},
27580 { "nol", "gdd.nol",
27581 FT_UINT32
, BASE_DEC
, NULL
, 0,
27582 "InternationalSign_numberOfLane", HFILL
}},
27584 { "year", "gdd.year_element",
27585 FT_NONE
, BASE_NONE
, NULL
, 0,
27587 { &hf_gdd_yearRangeStartYear
,
27588 { "yearRangeStartYear", "gdd.yearRangeStartYear",
27589 FT_UINT32
, BASE_DEC
, NULL
, 0,
27591 { &hf_gdd_yearRangeEndYear
,
27592 { "yearRangeEndYear", "gdd.yearRangeEndYear",
27593 FT_UINT32
, BASE_DEC
, NULL
, 0,
27595 { &hf_gdd_month_day
,
27596 { "month-day", "gdd.month_day_element",
27597 FT_NONE
, BASE_NONE
, NULL
, 0,
27599 { &hf_gdd_dateRangeStartMonthDate
,
27600 { "dateRangeStartMonthDate", "gdd.dateRangeStartMonthDate_element",
27601 FT_NONE
, BASE_NONE
, NULL
, 0,
27602 "MonthDay", HFILL
}},
27603 { &hf_gdd_dateRangeEndMonthDate
,
27604 { "dateRangeEndMonthDate", "gdd.dateRangeEndMonthDate_element",
27605 FT_NONE
, BASE_NONE
, NULL
, 0,
27606 "MonthDay", HFILL
}},
27607 { &hf_gdd_repeatingPeriodDayTypes
,
27608 { "repeatingPeriodDayTypes", "gdd.repeatingPeriodDayTypes",
27609 FT_BYTES
, BASE_NONE
, NULL
, 0,
27611 { &hf_gdd_hourMinutes
,
27612 { "hourMinutes", "gdd.hourMinutes_element",
27613 FT_NONE
, BASE_NONE
, NULL
, 0,
27615 { &hf_gdd_timeRangeStartTime
,
27616 { "timeRangeStartTime", "gdd.timeRangeStartTime_element",
27617 FT_NONE
, BASE_NONE
, NULL
, 0,
27618 "HoursMinutes", HFILL
}},
27619 { &hf_gdd_timeRangeEndTime
,
27620 { "timeRangeEndTime", "gdd.timeRangeEndTime_element",
27621 FT_NONE
, BASE_NONE
, NULL
, 0,
27622 "HoursMinutes", HFILL
}},
27623 { &hf_gdd_dateRangeOfWeek
,
27624 { "dateRangeOfWeek", "gdd.dateRangeOfWeek",
27625 FT_BYTES
, BASE_NONE
, NULL
, 0,
27626 "DayOfWeek", HFILL
}},
27627 { &hf_gdd_durationHourminute
,
27628 { "durationHourminute", "gdd.durationHourminute_element",
27629 FT_NONE
, BASE_NONE
, NULL
, 0,
27630 "HoursMinutes", HFILL
}},
27632 { "month", "gdd.month",
27633 FT_UINT32
, BASE_DEC
, NULL
, 0,
27634 "MonthDay_month", HFILL
}},
27636 { "day", "gdd.day",
27637 FT_UINT32
, BASE_DEC
, NULL
, 0,
27638 "MonthDay_day", HFILL
}},
27640 { "hours", "gdd.hours",
27641 FT_UINT32
, BASE_DEC
, NULL
, 0,
27642 "HoursMinutes_hours", HFILL
}},
27644 { "mins", "gdd.mins",
27645 FT_UINT32
, BASE_DEC
, NULL
, 0,
27646 "HoursMinutes_mins", HFILL
}},
27647 { &hf_gdd_startingPointLength
,
27648 { "startingPointLength", "gdd.startingPointLength_element",
27649 FT_NONE
, BASE_NONE
, NULL
, 0,
27650 "Distance", HFILL
}},
27651 { &hf_gdd_continuityLength
,
27652 { "continuityLength", "gdd.continuityLength_element",
27653 FT_NONE
, BASE_NONE
, NULL
, 0,
27654 "Distance", HFILL
}},
27655 { &hf_gdd_vehicleHeight
,
27656 { "vehicleHeight", "gdd.vehicleHeight_element",
27657 FT_NONE
, BASE_NONE
, NULL
, 0,
27658 "Distance", HFILL
}},
27659 { &hf_gdd_vehicleWidth
,
27660 { "vehicleWidth", "gdd.vehicleWidth_element",
27661 FT_NONE
, BASE_NONE
, NULL
, 0,
27662 "Distance", HFILL
}},
27663 { &hf_gdd_vehicleLength
,
27664 { "vehicleLength", "gdd.vehicleLength_element",
27665 FT_NONE
, BASE_NONE
, NULL
, 0,
27666 "Distance", HFILL
}},
27667 { &hf_gdd_vehicleWeight
,
27668 { "vehicleWeight", "gdd.vehicleWeight_element",
27669 FT_NONE
, BASE_NONE
, NULL
, 0,
27670 "Weight", HFILL
}},
27672 { "value", "gdd.value",
27673 FT_UINT32
, BASE_DEC
, NULL
, 0,
27674 "INTEGER_1_16384", HFILL
}},
27676 { "unit", "gdd.unit",
27677 FT_UINT32
, BASE_DEC
, VALS(gdd_Code_Units_vals
), 0,
27678 "Code_Units_CONSTR002", HFILL
}},
27680 { "value", "gdd.value",
27681 FT_UINT32
, BASE_DEC
, NULL
, 0,
27682 "INTEGER_1_16384", HFILL
}},
27684 { "unit", "gdd.unit",
27685 FT_UINT32
, BASE_DEC
, VALS(gdd_Code_Units_vals
), 0,
27686 "Code_Units_10_12", HFILL
}},
27687 { &hf_gdd_speedLimitMax
,
27688 { "speedLimitMax", "gdd.speedLimitMax",
27689 FT_UINT32
, BASE_DEC
, NULL
, 0,
27690 "INTEGER_0_250", HFILL
}},
27691 { &hf_gdd_speedLimitMin
,
27692 { "speedLimitMin", "gdd.speedLimitMin",
27693 FT_UINT32
, BASE_DEC
, NULL
, 0,
27694 "INTEGER_0_250", HFILL
}},
27696 { "unit", "gdd.unit",
27697 FT_UINT32
, BASE_DEC
, VALS(gdd_Code_Units_vals
), 0,
27698 "Code_Units_0_1", HFILL
}},
27699 { &hf_gdd_junctionDirection
,
27700 { "junctionDirection", "gdd.junctionDirection",
27701 FT_UINT32
, BASE_DEC
, NULL
, 0,
27702 "DistinInfo_junctionDirection", HFILL
}},
27703 { &hf_gdd_roundaboutCwDirection
,
27704 { "roundaboutCwDirection", "gdd.roundaboutCwDirection",
27705 FT_UINT32
, BASE_DEC
, NULL
, 0,
27706 "DistinInfo_roundaboutCwDirection", HFILL
}},
27707 { &hf_gdd_roundaboutCcwDirection
,
27708 { "roundaboutCcwDirection", "gdd.roundaboutCcwDirection",
27709 FT_UINT32
, BASE_DEC
, NULL
, 0,
27710 "DistinInfo_roundaboutCcwDirection", HFILL
}},
27712 { "ioList", "gdd.ioList",
27713 FT_UINT32
, BASE_DEC
, NULL
, 0,
27714 "SEQUENCE_SIZE_1_8__OF_DestinationInformationIO", HFILL
}},
27715 { &hf_gdd_ioList_item
,
27716 { "DestinationInformationIO", "gdd.DestinationInformationIO_element",
27717 FT_NONE
, BASE_NONE
, NULL
, 0,
27719 { &hf_gdd_arrowDirection
,
27720 { "arrowDirection", "gdd.arrowDirection",
27721 FT_UINT32
, BASE_DEC
, NULL
, 0,
27722 "IO_arrowDirection", HFILL
}},
27723 { &hf_gdd_destPlace
,
27724 { "destPlace", "gdd.destPlace",
27725 FT_UINT32
, BASE_DEC
, NULL
, 0,
27726 "SEQUENCE_SIZE_1_4__OF_DestinationPlace", HFILL
}},
27727 { &hf_gdd_destPlace_item
,
27728 { "DestinationPlace", "gdd.DestinationPlace_element",
27729 FT_NONE
, BASE_NONE
, NULL
, 0,
27731 { &hf_gdd_destRoad
,
27732 { "destRoad", "gdd.destRoad",
27733 FT_UINT32
, BASE_DEC
, NULL
, 0,
27734 "SEQUENCE_SIZE_1_4__OF_DestinationRoad", HFILL
}},
27735 { &hf_gdd_destRoad_item
,
27736 { "DestinationRoad", "gdd.DestinationRoad_element",
27737 FT_NONE
, BASE_NONE
, NULL
, 0,
27739 { &hf_gdd_roadNumberIdentifier
,
27740 { "roadNumberIdentifier", "gdd.roadNumberIdentifier",
27741 FT_UINT32
, BASE_DEC
, NULL
, 0,
27742 "IO_roadNumberIdentifier", HFILL
}},
27743 { &hf_gdd_streetName
,
27744 { "streetName", "gdd.streetName",
27745 FT_UINT32
, BASE_DEC
, NULL
, 0,
27746 "IO_streetName", HFILL
}},
27747 { &hf_gdd_streetNameText
,
27748 { "streetNameText", "gdd.streetNameText",
27749 FT_STRING
, BASE_NONE
, NULL
, 0,
27750 "IO_streetNameText", HFILL
}},
27751 { &hf_gdd_distanceToDivergingPoint
,
27752 { "distanceToDivergingPoint", "gdd.distanceToDivergingPoint_element",
27753 FT_NONE
, BASE_NONE
, NULL
, 0,
27754 "DistanceOrDuration", HFILL
}},
27755 { &hf_gdd_distanceToDestinationPlace
,
27756 { "distanceToDestinationPlace", "gdd.distanceToDestinationPlace_element",
27757 FT_NONE
, BASE_NONE
, NULL
, 0,
27758 "DistanceOrDuration", HFILL
}},
27759 { &hf_gdd_destType
,
27760 { "destType", "gdd.destType",
27761 FT_UINT32
, BASE_DEC
, VALS(gdd_DestinationType_vals
), 0,
27762 "DestinationType", HFILL
}},
27763 { &hf_gdd_destRSCode
,
27764 { "destRSCode", "gdd.destRSCode_element",
27765 FT_NONE
, BASE_NONE
, NULL
, 0,
27766 "GddStructure", HFILL
}},
27767 { &hf_gdd_destBlob
,
27768 { "destBlob", "gdd.destBlob",
27769 FT_BYTES
, BASE_NONE
, NULL
, 0,
27770 "DestPlace_destBlob", HFILL
}},
27771 { &hf_gdd_placeNameIdentification
,
27772 { "placeNameIdentification", "gdd.placeNameIdentification",
27773 FT_UINT32
, BASE_DEC
, NULL
, 0,
27774 "DestPlace_placeNameIdentification", HFILL
}},
27775 { &hf_gdd_placeNameText
,
27776 { "placeNameText", "gdd.placeNameText",
27777 FT_STRING
, BASE_NONE
, NULL
, 0,
27778 "DestPlace_placeNameText", HFILL
}},
27780 { "derType", "gdd.derType",
27781 FT_UINT32
, BASE_DEC
, VALS(gdd_DestinationRoadType_vals
), 0,
27782 "DestinationRoadType", HFILL
}},
27783 { &hf_gdd_roadNumberIdentifier_01
,
27784 { "roadNumberIdentifier", "gdd.roadNumberIdentifier",
27785 FT_UINT32
, BASE_DEC
, NULL
, 0,
27786 "DestRoad_roadNumberIdentifier", HFILL
}},
27787 { &hf_gdd_roadNumberText
,
27788 { "roadNumberText", "gdd.roadNumberText",
27789 FT_STRING
, BASE_NONE
, NULL
, 0,
27790 "DestRoad_roadNumberText", HFILL
}},
27791 { &hf_gdd_dodValue
,
27792 { "value", "gdd.value",
27793 FT_UINT32
, BASE_DEC
, NULL
, 0,
27794 "DistOrDuration_value", HFILL
}},
27796 { "unit", "gdd.unit",
27797 FT_UINT32
, BASE_DEC
, VALS(gdd_Code_Units_vals
), 0,
27798 "DistOrDuration_Units", HFILL
}},
27799 { &hf_gdd_RPDT_national_holiday
,
27800 { "national-holiday", "gdd.RPDT.national.holiday",
27801 FT_BOOLEAN
, 8, NULL
, 0x80,
27803 { &hf_gdd_RPDT_even_days
,
27804 { "even-days", "gdd.RPDT.even.days",
27805 FT_BOOLEAN
, 8, NULL
, 0x40,
27807 { &hf_gdd_RPDT_odd_days
,
27808 { "odd-days", "gdd.RPDT.odd.days",
27809 FT_BOOLEAN
, 8, NULL
, 0x20,
27811 { &hf_gdd_RPDT_market_day
,
27812 { "market-day", "gdd.RPDT.market.day",
27813 FT_BOOLEAN
, 8, NULL
, 0x10,
27815 { &hf_gdd_DayOfWeek_unused
,
27816 { "unused", "gdd.DayOfWeek.unused",
27817 FT_BOOLEAN
, 8, NULL
, 0x80,
27819 { &hf_gdd_DayOfWeek_monday
,
27820 { "monday", "gdd.DayOfWeek.monday",
27821 FT_BOOLEAN
, 8, NULL
, 0x40,
27823 { &hf_gdd_DayOfWeek_tuesday
,
27824 { "tuesday", "gdd.DayOfWeek.tuesday",
27825 FT_BOOLEAN
, 8, NULL
, 0x20,
27827 { &hf_gdd_DayOfWeek_wednesday
,
27828 { "wednesday", "gdd.DayOfWeek.wednesday",
27829 FT_BOOLEAN
, 8, NULL
, 0x10,
27831 { &hf_gdd_DayOfWeek_thursday
,
27832 { "thursday", "gdd.DayOfWeek.thursday",
27833 FT_BOOLEAN
, 8, NULL
, 0x08,
27835 { &hf_gdd_DayOfWeek_friday
,
27836 { "friday", "gdd.DayOfWeek.friday",
27837 FT_BOOLEAN
, 8, NULL
, 0x04,
27839 { &hf_gdd_DayOfWeek_saturday
,
27840 { "saturday", "gdd.DayOfWeek.saturday",
27841 FT_BOOLEAN
, 8, NULL
, 0x02,
27843 { &hf_gdd_DayOfWeek_sunday
,
27844 { "sunday", "gdd.DayOfWeek.sunday",
27845 FT_BOOLEAN
, 8, NULL
, 0x01,
27848 /* --- Module IVI --- --- --- */
27850 { &hf_ivi_ivi_IviStructure_PDU
,
27851 { "IviStructure", "ivi.IviStructure_element",
27852 FT_NONE
, BASE_NONE
, NULL
, 0,
27854 { &hf_ivi_mandatory
,
27855 { "mandatory", "ivi.mandatory_element",
27856 FT_NONE
, BASE_NONE
, NULL
, 0,
27857 "IviManagementContainer", HFILL
}},
27858 { &hf_ivi_optional
,
27859 { "optional", "ivi.optional",
27860 FT_UINT32
, BASE_DEC
, NULL
, 0,
27861 "IviContainers", HFILL
}},
27862 { &hf_ivi_IviContainers_item
,
27863 { "IviContainer", "ivi.IviContainer",
27864 FT_UINT32
, BASE_DEC
, VALS(ivi_IviContainer_vals
), 0,
27867 { "glc", "ivi.glc_element",
27868 FT_NONE
, BASE_NONE
, NULL
, 0,
27869 "GeographicLocationContainer", HFILL
}},
27871 { "giv", "ivi.giv",
27872 FT_UINT32
, BASE_DEC
, NULL
, 0,
27873 "GeneralIviContainer", HFILL
}},
27875 { "rcc", "ivi.rcc",
27876 FT_UINT32
, BASE_DEC
, NULL
, 0,
27877 "RoadConfigurationContainer", HFILL
}},
27880 FT_UINT32
, BASE_DEC
, NULL
, 0,
27881 "TextContainer", HFILL
}},
27883 { "lac", "ivi.lac_element",
27884 FT_NONE
, BASE_NONE
, NULL
, 0,
27885 "LayoutContainer", HFILL
}},
27887 { "avc", "ivi.avc",
27888 FT_UINT32
, BASE_DEC
, NULL
, 0,
27889 "AutomatedVehicleContainer", HFILL
}},
27891 { "mlc", "ivi.mlc_element",
27892 FT_NONE
, BASE_NONE
, NULL
, 0,
27893 "MapLocationContainer", HFILL
}},
27895 { "rsc", "ivi.rsc",
27896 FT_UINT32
, BASE_DEC
, NULL
, 0,
27897 "RoadSurfaceContainer", HFILL
}},
27898 { &hf_ivi_serviceProviderId
,
27899 { "serviceProviderId", "ivi.serviceProviderId_element",
27900 FT_NONE
, BASE_NONE
, NULL
, 0,
27901 "Provider", HFILL
}},
27902 { &hf_ivi_iviIdentificationNumber
,
27903 { "iviIdentificationNumber", "ivi.iviIdentificationNumber",
27904 FT_UINT32
, BASE_DEC
, NULL
, 0,
27906 { &hf_ivi_timeStamp
,
27907 { "timeStamp", "ivi.timeStamp",
27908 FT_UINT64
, BASE_CUSTOM
, CF_FUNC(its_timestamp_fmt
), 0,
27909 "TimestampIts", HFILL
}},
27910 { &hf_ivi_validFrom
,
27911 { "validFrom", "ivi.validFrom",
27912 FT_UINT64
, BASE_CUSTOM
, CF_FUNC(its_timestamp_fmt
), 0,
27913 "TimestampIts", HFILL
}},
27915 { "validTo", "ivi.validTo",
27916 FT_UINT64
, BASE_CUSTOM
, CF_FUNC(its_timestamp_fmt
), 0,
27917 "TimestampIts", HFILL
}},
27918 { &hf_ivi_connectedIviStructures
,
27919 { "connectedIviStructures", "ivi.connectedIviStructures",
27920 FT_UINT32
, BASE_DEC
, NULL
, 0,
27921 "IviIdentificationNumbers", HFILL
}},
27922 { &hf_ivi_iviStatus
,
27923 { "iviStatus", "ivi.iviStatus",
27924 FT_UINT32
, BASE_DEC
, VALS(ivi_IviStatus_vals
), 0,
27926 { &hf_ivi_connectedDenms
,
27927 { "connectedDenms", "ivi.connectedDenms",
27928 FT_UINT32
, BASE_DEC
, NULL
, 0,
27930 { &hf_ivi_referencePosition
,
27931 { "referencePosition", "ivi.referencePosition_element",
27932 FT_NONE
, BASE_NONE
, NULL
, 0,
27934 { &hf_ivi_referencePositionTime
,
27935 { "referencePositionTime", "ivi.referencePositionTime",
27936 FT_UINT64
, BASE_CUSTOM
, CF_FUNC(its_timestamp_fmt
), 0,
27937 "TimestampIts", HFILL
}},
27938 { &hf_ivi_referencePositionHeading
,
27939 { "referencePositionHeading", "ivi.referencePositionHeading_element",
27940 FT_NONE
, BASE_NONE
, NULL
, 0,
27941 "Heading", HFILL
}},
27942 { &hf_ivi_referencePositionSpeed
,
27943 { "referencePositionSpeed", "ivi.referencePositionSpeed_element",
27944 FT_NONE
, BASE_NONE
, NULL
, 0,
27947 { "parts", "ivi.parts",
27948 FT_UINT32
, BASE_DEC
, NULL
, 0,
27949 "GlcParts", HFILL
}},
27950 { &hf_ivi_GlcParts_item
,
27951 { "GlcPart", "ivi.GlcPart_element",
27952 FT_NONE
, BASE_NONE
, NULL
, 0,
27955 { "zoneId", "ivi.zoneId",
27956 FT_UINT32
, BASE_DEC
, NULL
, 0,
27958 { &hf_ivi_laneNumber
,
27959 { "laneNumber", "ivi.laneNumber",
27960 FT_INT32
, BASE_DEC
, VALS(its_LanePosition_vals
), 0,
27961 "LanePosition", HFILL
}},
27962 { &hf_ivi_zoneExtension
,
27963 { "zoneExtension", "ivi.zoneExtension",
27964 FT_UINT32
, BASE_DEC
, NULL
, 0,
27965 "INTEGER_0_255", HFILL
}},
27966 { &hf_ivi_zoneHeading
,
27967 { "zoneHeading", "ivi.zoneHeading",
27968 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_heading_value_fmt
), 0,
27969 "HeadingValue", HFILL
}},
27971 { "zone", "ivi.zone",
27972 FT_UINT32
, BASE_DEC
, VALS(ivi_Zone_vals
), 0,
27974 { &hf_ivi_GeneralIviContainer_item
,
27975 { "GicPart", "ivi.GicPart_element",
27976 FT_NONE
, BASE_NONE
, NULL
, 0,
27978 { &hf_ivi_gpDetectionZoneIds
,
27979 { "detectionZoneIds", "ivi.detectionZoneIds",
27980 FT_UINT32
, BASE_DEC
, NULL
, 0,
27981 "T_GicPartDetectionZoneIds", HFILL
}},
27982 { &hf_ivi_its_Rrid
,
27983 { "its-Rrid", "ivi.its_Rrid",
27984 FT_UINT32
, BASE_DEC
, VALS(its_VarLengthNumber_vals
), 0,
27985 "VarLengthNumber", HFILL
}},
27986 { &hf_ivi_gpRelevanceZoneIds
,
27987 { "relevanceZoneIds", "ivi.relevanceZoneIds",
27988 FT_UINT32
, BASE_DEC
, NULL
, 0,
27989 "T_GicPartRelevanceZoneIds", HFILL
}},
27990 { &hf_ivi_direction
,
27991 { "direction", "ivi.direction",
27992 FT_UINT32
, BASE_DEC
, VALS(ivi_Direction_vals
), 0,
27994 { &hf_ivi_gpDriverAwarenessZoneIds
,
27995 { "driverAwarenessZoneIds", "ivi.driverAwarenessZoneIds",
27996 FT_UINT32
, BASE_DEC
, NULL
, 0,
27997 "T_GicPartDriverAwarenessZoneIds", HFILL
}},
27998 { &hf_ivi_minimumAwarenessTime
,
27999 { "minimumAwarenessTime", "ivi.minimumAwarenessTime",
28000 FT_UINT32
, BASE_DEC
, NULL
, 0,
28001 "INTEGER_0_255", HFILL
}},
28002 { &hf_ivi_applicableLanes
,
28003 { "applicableLanes", "ivi.applicableLanes",
28004 FT_UINT32
, BASE_DEC
, NULL
, 0,
28005 "LanePositions", HFILL
}},
28007 { "iviType", "ivi.iviType",
28008 FT_UINT32
, BASE_DEC
, VALS(ivi_IviType_vals
), 0,
28010 { &hf_ivi_iviPurpose
,
28011 { "iviPurpose", "ivi.iviPurpose",
28012 FT_UINT32
, BASE_DEC
, VALS(ivi_IviPurpose_vals
), 0,
28014 { &hf_ivi_laneStatus
,
28015 { "laneStatus", "ivi.laneStatus",
28016 FT_UINT32
, BASE_DEC
, VALS(ivi_LaneStatus_vals
), 0,
28018 { &hf_ivi_vehicleCharacteristics
,
28019 { "vehicleCharacteristics", "ivi.vehicleCharacteristics",
28020 FT_UINT32
, BASE_DEC
, NULL
, 0,
28021 "VehicleCharacteristicsList", HFILL
}},
28022 { &hf_ivi_driverCharacteristics
,
28023 { "driverCharacteristics", "ivi.driverCharacteristics",
28024 FT_UINT32
, BASE_DEC
, VALS(ivi_DriverCharacteristics_vals
), 0,
28026 { &hf_ivi_layoutId
,
28027 { "layoutId", "ivi.layoutId",
28028 FT_UINT32
, BASE_DEC
, NULL
, 0,
28029 "INTEGER_1_4_", HFILL
}},
28030 { &hf_ivi_preStoredlayoutId
,
28031 { "preStoredlayoutId", "ivi.preStoredlayoutId",
28032 FT_UINT32
, BASE_DEC
, NULL
, 0,
28033 "INTEGER_1_64_", HFILL
}},
28034 { &hf_ivi_roadSignCodes
,
28035 { "roadSignCodes", "ivi.roadSignCodes",
28036 FT_UINT32
, BASE_DEC
, NULL
, 0,
28038 { &hf_ivi_extraText
,
28039 { "extraText", "ivi.extraText",
28040 FT_UINT32
, BASE_DEC
, NULL
, 0,
28041 "T_GicPartExtraText", HFILL
}},
28042 { &hf_ivi_RoadConfigurationContainer_item
,
28043 { "RccPart", "ivi.RccPart_element",
28044 FT_NONE
, BASE_NONE
, NULL
, 0,
28046 { &hf_ivi_relevanceZoneIds
,
28047 { "relevanceZoneIds", "ivi.relevanceZoneIds",
28048 FT_UINT32
, BASE_DEC
, NULL
, 0,
28049 "ZoneIds", HFILL
}},
28050 { &hf_ivi_roadType
,
28051 { "roadType", "ivi.roadType",
28052 FT_UINT32
, BASE_DEC
, VALS(its_RoadType_vals
), 0,
28054 { &hf_ivi_laneConfiguration
,
28055 { "laneConfiguration", "ivi.laneConfiguration",
28056 FT_UINT32
, BASE_DEC
, NULL
, 0,
28058 { &hf_ivi_RoadSurfaceContainer_item
,
28059 { "RscPart", "ivi.RscPart_element",
28060 FT_NONE
, BASE_NONE
, NULL
, 0,
28062 { &hf_ivi_detectionZoneIds
,
28063 { "detectionZoneIds", "ivi.detectionZoneIds",
28064 FT_UINT32
, BASE_DEC
, NULL
, 0,
28065 "ZoneIds", HFILL
}},
28066 { &hf_ivi_roadSurfaceStaticCharacteristics
,
28067 { "roadSurfaceStaticCharacteristics", "ivi.roadSurfaceStaticCharacteristics_element",
28068 FT_NONE
, BASE_NONE
, NULL
, 0,
28070 { &hf_ivi_roadSurfaceDynamicCharacteristics
,
28071 { "roadSurfaceDynamicCharacteristics", "ivi.roadSurfaceDynamicCharacteristics_element",
28072 FT_NONE
, BASE_NONE
, NULL
, 0,
28074 { &hf_ivi_TextContainer_item
,
28075 { "TcPart", "ivi.TcPart_element",
28076 FT_NONE
, BASE_NONE
, NULL
, 0,
28078 { &hf_ivi_tpDetectionZoneIds
,
28079 { "detectionZoneIds", "ivi.detectionZoneIds",
28080 FT_UINT32
, BASE_DEC
, NULL
, 0,
28081 "T_TcPartDetectionZoneIds", HFILL
}},
28082 { &hf_ivi_tpRelevanceZoneIds
,
28083 { "relevanceZoneIds", "ivi.relevanceZoneIds",
28084 FT_UINT32
, BASE_DEC
, NULL
, 0,
28085 "T_TcPartRelevanceZoneIds", HFILL
}},
28086 { &hf_ivi_tpDriverAwarenessZoneIds
,
28087 { "driverAwarenessZoneIds", "ivi.driverAwarenessZoneIds",
28088 FT_UINT32
, BASE_DEC
, NULL
, 0,
28089 "T_TcPartDriverAwarenessZoneIds", HFILL
}},
28091 { "text", "ivi.text",
28092 FT_UINT32
, BASE_DEC
, NULL
, 0,
28093 "T_TcPartText", HFILL
}},
28095 { "data", "ivi.data",
28096 FT_BYTES
, BASE_NONE
, NULL
, 0,
28097 "OCTET_STRING", HFILL
}},
28099 { "height", "ivi.height",
28100 FT_UINT32
, BASE_DEC
, NULL
, 0,
28101 "INTEGER_10_73", HFILL
}},
28103 { "width", "ivi.width",
28104 FT_UINT32
, BASE_DEC
, NULL
, 0,
28105 "INTEGER_10_265", HFILL
}},
28106 { &hf_ivi_layoutComponents
,
28107 { "layoutComponents", "ivi.layoutComponents",
28108 FT_UINT32
, BASE_DEC
, NULL
, 0,
28110 { &hf_ivi_AutomatedVehicleContainer_item
,
28111 { "AvcPart", "ivi.AvcPart_element",
28112 FT_NONE
, BASE_NONE
, NULL
, 0,
28114 { &hf_ivi_automatedVehicleRules
,
28115 { "automatedVehicleRules", "ivi.automatedVehicleRules",
28116 FT_UINT32
, BASE_DEC
, NULL
, 0,
28118 { &hf_ivi_platooningRules
,
28119 { "platooningRules", "ivi.platooningRules",
28120 FT_UINT32
, BASE_DEC
, NULL
, 0,
28122 { &hf_ivi_reference
,
28123 { "reference", "ivi.reference",
28124 FT_UINT32
, BASE_DEC
, VALS(ivi_MapReference_vals
), 0,
28125 "MapReference", HFILL
}},
28126 { &hf_ivi_parts_01
,
28127 { "parts", "ivi.parts",
28128 FT_UINT32
, BASE_DEC
, NULL
, 0,
28129 "MlcParts", HFILL
}},
28130 { &hf_ivi_MlcParts_item
,
28131 { "MlcPart", "ivi.MlcPart_element",
28132 FT_NONE
, BASE_NONE
, NULL
, 0,
28135 { "laneIds", "ivi.laneIds",
28136 FT_UINT32
, BASE_DEC
, NULL
, 0,
28138 { &hf_ivi_AbsolutePositions_item
,
28139 { "AbsolutePosition", "ivi.AbsolutePosition_element",
28140 FT_NONE
, BASE_NONE
, NULL
, 0,
28142 { &hf_ivi_AbsolutePositionsWAltitude_item
,
28143 { "AbsolutePositionWAltitude", "ivi.AbsolutePositionWAltitude_element",
28144 FT_NONE
, BASE_NONE
, NULL
, 0,
28146 { &hf_ivi_AutomatedVehicleRules_item
,
28147 { "AutomatedVehicleRule", "ivi.AutomatedVehicleRule_element",
28148 FT_NONE
, BASE_NONE
, NULL
, 0,
28150 { &hf_ivi_ConnectedDenms_item
,
28151 { "ActionID", "ivi.ActionID_element",
28152 FT_NONE
, BASE_NONE
, NULL
, 0,
28154 { &hf_ivi_DeltaPositions_item
,
28155 { "DeltaPosition", "ivi.DeltaPosition_element",
28156 FT_NONE
, BASE_NONE
, NULL
, 0,
28158 { &hf_ivi_DeltaReferencePositions_item
,
28159 { "DeltaReferencePosition", "ivi.DeltaReferencePosition_element",
28160 FT_NONE
, BASE_NONE
, NULL
, 0,
28162 { &hf_ivi_ConstraintTextLines1_item
,
28163 { "Text", "ivi.Text_element",
28164 FT_NONE
, BASE_NONE
, NULL
, 0,
28166 { &hf_ivi_ConstraintTextLines2_item
,
28167 { "Text", "ivi.Text_element",
28168 FT_NONE
, BASE_NONE
, NULL
, 0,
28170 { &hf_ivi_IviIdentificationNumbers_item
,
28171 { "IviIdentificationNumber", "ivi.IviIdentificationNumber",
28172 FT_UINT32
, BASE_DEC
, NULL
, 0,
28174 { &hf_ivi_ISO14823Attributes_item
,
28175 { "ISO14823Attribute", "ivi.ISO14823Attribute",
28176 FT_UINT32
, BASE_DEC
, VALS(ivi_ISO14823Attribute_vals
), 0,
28178 { &hf_ivi_LaneConfiguration_item
,
28179 { "LaneInformation", "ivi.LaneInformation_element",
28180 FT_NONE
, BASE_NONE
, NULL
, 0,
28182 { &hf_ivi_LaneIds_item
,
28183 { "LaneID", "ivi.LaneID",
28184 FT_UINT32
, BASE_DEC
, NULL
, 0,
28186 { &hf_ivi_LanePositions_item
,
28187 { "LanePosition", "ivi.LanePosition",
28188 FT_INT32
, BASE_DEC
, VALS(its_LanePosition_vals
), 0,
28190 { &hf_ivi_LayoutComponents_item
,
28191 { "LayoutComponent", "ivi.LayoutComponent_element",
28192 FT_NONE
, BASE_NONE
, NULL
, 0,
28194 { &hf_ivi_PlatooningRules_item
,
28195 { "PlatooningRule", "ivi.PlatooningRule_element",
28196 FT_NONE
, BASE_NONE
, NULL
, 0,
28198 { &hf_ivi_RoadSignCodes_item
,
28199 { "RSCode", "ivi.RSCode_element",
28200 FT_NONE
, BASE_NONE
, NULL
, 0,
28202 { &hf_ivi_TextLines_item
,
28203 { "Text", "ivi.Text_element",
28204 FT_NONE
, BASE_NONE
, NULL
, 0,
28206 { &hf_ivi_TrailerCharacteristicsList_item
,
28207 { "TrailerCharacteristics", "ivi.TrailerCharacteristics_element",
28208 FT_NONE
, BASE_NONE
, NULL
, 0,
28210 { &hf_ivi_TrailerCharacteristicsFixValuesList_item
,
28211 { "VehicleCharacteristicsFixValues", "ivi.VehicleCharacteristicsFixValues",
28212 FT_UINT32
, BASE_DEC
, VALS(ivi_VehicleCharacteristicsFixValues_vals
), 0,
28214 { &hf_ivi_TrailerCharacteristicsRangesList_item
,
28215 { "VehicleCharacteristicsRanges", "ivi.VehicleCharacteristicsRanges_element",
28216 FT_NONE
, BASE_NONE
, NULL
, 0,
28218 { &hf_ivi_SaeAutomationLevels_item
,
28219 { "SaeAutomationLevel", "ivi.SaeAutomationLevel",
28220 FT_UINT32
, BASE_DEC
, NULL
, 0,
28222 { &hf_ivi_VehicleCharacteristicsFixValuesList_item
,
28223 { "VehicleCharacteristicsFixValues", "ivi.VehicleCharacteristicsFixValues",
28224 FT_UINT32
, BASE_DEC
, VALS(ivi_VehicleCharacteristicsFixValues_vals
), 0,
28226 { &hf_ivi_VehicleCharacteristicsList_item
,
28227 { "CompleteVehicleCharacteristics", "ivi.CompleteVehicleCharacteristics_element",
28228 FT_NONE
, BASE_NONE
, NULL
, 0,
28230 { &hf_ivi_VehicleCharacteristicsRangesList_item
,
28231 { "VehicleCharacteristicsRanges", "ivi.VehicleCharacteristicsRanges_element",
28232 FT_NONE
, BASE_NONE
, NULL
, 0,
28234 { &hf_ivi_ValidityPeriods_item
,
28235 { "InternationalSign-applicablePeriod", "ivi.InternationalSign_applicablePeriod_element",
28236 FT_NONE
, BASE_NONE
, NULL
, 0,
28238 { &hf_ivi_ZoneIds_item
,
28239 { "Zid", "ivi.Zid",
28240 FT_UINT32
, BASE_DEC
, NULL
, 0,
28242 { &hf_ivi_latitude
,
28243 { "latitude", "ivi.latitude",
28244 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_latitude_fmt
), 0,
28246 { &hf_ivi_longitude
,
28247 { "longitude", "ivi.longitude",
28248 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_longitude_fmt
), 0,
28250 { &hf_ivi_altitude
,
28251 { "altitude", "ivi.altitude_element",
28252 FT_NONE
, BASE_NONE
, NULL
, 0,
28255 { "owner", "ivi.owner_element",
28256 FT_NONE
, BASE_NONE
, NULL
, 0,
28257 "Provider", HFILL
}},
28259 { "version", "ivi.version",
28260 FT_UINT32
, BASE_DEC
, NULL
, 0,
28261 "INTEGER_0_255", HFILL
}},
28262 { &hf_ivi_acPictogramCode
,
28263 { "pictogramCode", "ivi.pictogramCode",
28264 FT_UINT32
, BASE_DEC
, NULL
, 0,
28265 "INTEGER_0_65535", HFILL
}},
28267 { "value", "ivi.value",
28268 FT_UINT32
, BASE_DEC
, NULL
, 0,
28269 "INTEGER_0_65535", HFILL
}},
28271 { "unit", "ivi.unit",
28272 FT_UINT32
, BASE_DEC
, VALS(ivi_RSCUnit_vals
), 0,
28273 "RSCUnit", HFILL
}},
28274 { &hf_ivi_attributes
,
28275 { "attributes", "ivi.attributes",
28276 FT_UINT32
, BASE_DEC
, NULL
, 0,
28277 "ISO14823Attributes", HFILL
}},
28278 { &hf_ivi_priority
,
28279 { "priority", "ivi.priority",
28280 FT_UINT32
, BASE_DEC
, NULL
, 0,
28281 "PriorityLevel", HFILL
}},
28282 { &hf_ivi_allowedSaeAutomationLevels
,
28283 { "allowedSaeAutomationLevels", "ivi.allowedSaeAutomationLevels",
28284 FT_UINT32
, BASE_DEC
, NULL
, 0,
28285 "SaeAutomationLevels", HFILL
}},
28286 { &hf_ivi_minGapBetweenVehicles
,
28287 { "minGapBetweenVehicles", "ivi.minGapBetweenVehicles",
28288 FT_UINT32
, BASE_DEC
, NULL
, 0,
28289 "GapBetweenVehicles", HFILL
}},
28290 { &hf_ivi_recGapBetweenVehicles
,
28291 { "recGapBetweenVehicles", "ivi.recGapBetweenVehicles",
28292 FT_UINT32
, BASE_DEC
, NULL
, 0,
28293 "GapBetweenVehicles", HFILL
}},
28294 { &hf_ivi_automatedVehicleMaxSpeedLimit
,
28295 { "automatedVehicleMaxSpeedLimit", "ivi.automatedVehicleMaxSpeedLimit",
28296 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_value_fmt
), 0,
28297 "SpeedValue", HFILL
}},
28298 { &hf_ivi_automatedVehicleMinSpeedLimit
,
28299 { "automatedVehicleMinSpeedLimit", "ivi.automatedVehicleMinSpeedLimit",
28300 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_value_fmt
), 0,
28301 "SpeedValue", HFILL
}},
28302 { &hf_ivi_automatedVehicleSpeedRecommendation
,
28303 { "automatedVehicleSpeedRecommendation", "ivi.automatedVehicleSpeedRecommendation",
28304 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_value_fmt
), 0,
28305 "SpeedValue", HFILL
}},
28306 { &hf_ivi_extraText_01
,
28307 { "extraText", "ivi.extraText",
28308 FT_UINT32
, BASE_DEC
, NULL
, 0,
28309 "ConstraintTextLines2", HFILL
}},
28311 { "tractor", "ivi.tractor_element",
28312 FT_NONE
, BASE_NONE
, NULL
, 0,
28313 "TractorCharacteristics", HFILL
}},
28315 { "trailer", "ivi.trailer",
28316 FT_UINT32
, BASE_DEC
, NULL
, 0,
28317 "TrailerCharacteristicsList", HFILL
}},
28319 { "train", "ivi.train_element",
28320 FT_NONE
, BASE_NONE
, NULL
, 0,
28321 "TrainCharacteristics", HFILL
}},
28322 { &hf_ivi_laneWidth
,
28323 { "laneWidth", "ivi.laneWidth",
28324 FT_UINT32
, BASE_DEC
, NULL
, 0,
28325 "IviLaneWidth", HFILL
}},
28326 { &hf_ivi_offsetDistance
,
28327 { "offsetDistance", "ivi.offsetDistance",
28328 FT_INT32
, BASE_DEC
, NULL
, 0,
28329 "INTEGER_M32768_32767", HFILL
}},
28330 { &hf_ivi_offsetPosition
,
28331 { "offsetPosition", "ivi.offsetPosition_element",
28332 FT_NONE
, BASE_NONE
, NULL
, 0,
28333 "DeltaReferencePosition", HFILL
}},
28334 { &hf_ivi_deltaLatitude
,
28335 { "deltaLatitude", "ivi.deltaLatitude",
28336 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_delta_latitude_fmt
), 0,
28338 { &hf_ivi_deltaLongitude
,
28339 { "deltaLongitude", "ivi.deltaLongitude",
28340 FT_INT32
, BASE_CUSTOM
, CF_FUNC(its_delta_longitude_fmt
), 0,
28343 { "dtm", "ivi.dtm_element",
28344 FT_NONE
, BASE_NONE
, NULL
, 0,
28345 "InternationalSign_applicablePeriod", HFILL
}},
28347 { "edt", "ivi.edt_element",
28348 FT_NONE
, BASE_NONE
, NULL
, 0,
28349 "InternationalSign_exemptedApplicablePeriod", HFILL
}},
28351 { "dfl", "ivi.dfl",
28352 FT_UINT32
, BASE_DEC
, VALS(gdd_InternationalSign_directionalFlowOfLane_vals
), 0,
28353 "InternationalSign_directionalFlowOfLane", HFILL
}},
28355 { "ved", "ivi.ved_element",
28356 FT_NONE
, BASE_NONE
, NULL
, 0,
28357 "InternationalSign_applicableVehicleDimensions", HFILL
}},
28359 { "spe", "ivi.spe_element",
28360 FT_NONE
, BASE_NONE
, NULL
, 0,
28361 "InternationalSign_speedLimits", HFILL
}},
28363 { "roi", "ivi.roi",
28364 FT_UINT32
, BASE_DEC
, NULL
, 0,
28365 "InternationalSign_rateOfIncline", HFILL
}},
28367 { "dbv", "ivi.dbv_element",
28368 FT_NONE
, BASE_NONE
, NULL
, 0,
28369 "InternationalSign_distanceBetweenVehicles", HFILL
}},
28371 { "ddd", "ivi.ddd_element",
28372 FT_NONE
, BASE_NONE
, NULL
, 0,
28373 "InternationalSign_destinationInformation", HFILL
}},
28374 { &hf_ivi_icPictogramCode
,
28375 { "pictogramCode", "ivi.pictogramCode_element",
28376 FT_NONE
, BASE_NONE
, NULL
, 0,
28377 "T_icPictogramCode", HFILL
}},
28378 { &hf_ivi_countryCode
,
28379 { "countryCode", "ivi.countryCode",
28380 FT_BYTES
, BASE_NONE
, NULL
, 0,
28381 "OCTET_STRING_SIZE_2", HFILL
}},
28382 { &hf_ivi_serviceCategoryCode
,
28383 { "serviceCategoryCode", "ivi.serviceCategoryCode",
28384 FT_UINT32
, BASE_DEC
, VALS(ivi_T_serviceCategoryCode_vals
), 0,
28386 { &hf_ivi_trafficSignPictogram
,
28387 { "trafficSignPictogram", "ivi.trafficSignPictogram",
28388 FT_UINT32
, BASE_DEC
, VALS(ivi_T_trafficSignPictogram_vals
), 0,
28390 { &hf_ivi_publicFacilitiesPictogram
,
28391 { "publicFacilitiesPictogram", "ivi.publicFacilitiesPictogram",
28392 FT_UINT32
, BASE_DEC
, VALS(ivi_T_publicFacilitiesPictogram_vals
), 0,
28394 { &hf_ivi_ambientOrRoadConditionPictogram
,
28395 { "ambientOrRoadConditionPictogram", "ivi.ambientOrRoadConditionPictogram",
28396 FT_UINT32
, BASE_DEC
, VALS(ivi_T_ambientOrRoadConditionPictogram_vals
), 0,
28398 { &hf_ivi_pictogramCategoryCode
,
28399 { "pictogramCategoryCode", "ivi.pictogramCategoryCode_element",
28400 FT_NONE
, BASE_NONE
, NULL
, 0,
28403 { "nature", "ivi.nature",
28404 FT_UINT32
, BASE_DEC
, NULL
, 0,
28405 "INTEGER_1_9", HFILL
}},
28406 { &hf_ivi_serialNumber
,
28407 { "serialNumber", "ivi.serialNumber",
28408 FT_UINT32
, BASE_DEC
, NULL
, 0,
28409 "INTEGER_0_99", HFILL
}},
28410 { &hf_ivi_liValidity
,
28411 { "validity", "ivi.validity_element",
28412 FT_NONE
, BASE_NONE
, NULL
, 0,
28413 "InternationalSign_applicablePeriod", HFILL
}},
28414 { &hf_ivi_laneType
,
28415 { "laneType", "ivi.laneType",
28416 FT_UINT32
, BASE_DEC
, VALS(ivi_LaneType_vals
), 0,
28418 { &hf_ivi_laneTypeQualifier
,
28419 { "laneTypeQualifier", "ivi.laneTypeQualifier_element",
28420 FT_NONE
, BASE_NONE
, NULL
, 0,
28421 "CompleteVehicleCharacteristics", HFILL
}},
28422 { &hf_ivi_laneCharacteristics
,
28423 { "laneCharacteristics", "ivi.laneCharacteristics_element",
28424 FT_NONE
, BASE_NONE
, NULL
, 0,
28426 { &hf_ivi_laneSurfaceStaticCharacteristics
,
28427 { "laneSurfaceStaticCharacteristics", "ivi.laneSurfaceStaticCharacteristics_element",
28428 FT_NONE
, BASE_NONE
, NULL
, 0,
28429 "RoadSurfaceStaticCharacteristics", HFILL
}},
28430 { &hf_ivi_laneSurfaceDynamicCharacteristics
,
28431 { "laneSurfaceDynamicCharacteristics", "ivi.laneSurfaceDynamicCharacteristics_element",
28432 FT_NONE
, BASE_NONE
, NULL
, 0,
28433 "RoadSurfaceDynamicCharacteristics", HFILL
}},
28434 { &hf_ivi_zoneDefinitionAccuracy
,
28435 { "zoneDefinitionAccuracy", "ivi.zoneDefinitionAccuracy",
28436 FT_UINT32
, BASE_DEC
, VALS(ivi_DefinitionAccuracy_vals
), 0,
28437 "DefinitionAccuracy", HFILL
}},
28438 { &hf_ivi_existinglaneMarkingStatus
,
28439 { "existinglaneMarkingStatus", "ivi.existinglaneMarkingStatus",
28440 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
28441 "LaneMarkingStatus", HFILL
}},
28442 { &hf_ivi_newlaneMarkingColour
,
28443 { "newlaneMarkingColour", "ivi.newlaneMarkingColour",
28444 FT_UINT32
, BASE_DEC
, VALS(ivi_MarkingColour_vals
), 0,
28445 "MarkingColour", HFILL
}},
28446 { &hf_ivi_laneDelimitationLeft
,
28447 { "laneDelimitationLeft", "ivi.laneDelimitationLeft",
28448 FT_UINT32
, BASE_DEC
, VALS(ivi_LaneDelimitation_vals
), 0,
28449 "LaneDelimitation", HFILL
}},
28450 { &hf_ivi_laneDelimitationRight
,
28451 { "laneDelimitationRight", "ivi.laneDelimitationRight",
28452 FT_UINT32
, BASE_DEC
, VALS(ivi_LaneDelimitation_vals
), 0,
28453 "LaneDelimitation", HFILL
}},
28454 { &hf_ivi_mergingWith
,
28455 { "mergingWith", "ivi.mergingWith",
28456 FT_UINT32
, BASE_DEC
, NULL
, 0,
28458 { &hf_ivi_lcLayoutComponentId
,
28459 { "layoutComponentId", "ivi.layoutComponentId",
28460 FT_UINT32
, BASE_DEC
, NULL
, 0,
28461 "INTEGER_1_8_", HFILL
}},
28464 FT_UINT32
, BASE_DEC
, NULL
, 0,
28465 "INTEGER_10_265", HFILL
}},
28468 FT_UINT32
, BASE_DEC
, NULL
, 0,
28469 "INTEGER_10_73", HFILL
}},
28470 { &hf_ivi_textScripting
,
28471 { "textScripting", "ivi.textScripting",
28472 FT_UINT32
, BASE_DEC
, VALS(ivi_T_textScripting_vals
), 0,
28474 { &hf_ivi_goodsType
,
28475 { "goodsType", "ivi.goodsType",
28476 FT_UINT32
, BASE_DEC
, VALS(ivi_GoodsType_vals
), 0,
28478 { &hf_ivi_dangerousGoodsType
,
28479 { "dangerousGoodsType", "ivi.dangerousGoodsType",
28480 FT_UINT32
, BASE_DEC
, VALS(its_DangerousGoodsBasic_vals
), 0,
28481 "DangerousGoodsBasic", HFILL
}},
28482 { &hf_ivi_specialTransportType
,
28483 { "specialTransportType", "ivi.specialTransportType",
28484 FT_BYTES
, BASE_NONE
, NULL
, 0,
28486 { &hf_ivi_roadsegment
,
28487 { "roadsegment", "ivi.roadsegment_element",
28488 FT_NONE
, BASE_NONE
, NULL
, 0,
28489 "RoadSegmentReferenceID", HFILL
}},
28490 { &hf_ivi_intersection
,
28491 { "intersection", "ivi.intersection_element",
28492 FT_NONE
, BASE_NONE
, NULL
, 0,
28493 "IntersectionReferenceID", HFILL
}},
28494 { &hf_ivi_maxNoOfVehicles
,
28495 { "maxNoOfVehicles", "ivi.maxNoOfVehicles",
28496 FT_UINT32
, BASE_DEC
, NULL
, 0,
28498 { &hf_ivi_maxLenghtOfPlatoon
,
28499 { "maxLenghtOfPlatoon", "ivi.maxLenghtOfPlatoon",
28500 FT_UINT32
, BASE_DEC
, NULL
, 0,
28502 { &hf_ivi_platoonMaxSpeedLimit
,
28503 { "platoonMaxSpeedLimit", "ivi.platoonMaxSpeedLimit",
28504 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_value_fmt
), 0,
28505 "SpeedValue", HFILL
}},
28506 { &hf_ivi_platoonMinSpeedLimit
,
28507 { "platoonMinSpeedLimit", "ivi.platoonMinSpeedLimit",
28508 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_value_fmt
), 0,
28509 "SpeedValue", HFILL
}},
28510 { &hf_ivi_platoonSpeedRecommendation
,
28511 { "platoonSpeedRecommendation", "ivi.platoonSpeedRecommendation",
28512 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_value_fmt
), 0,
28513 "SpeedValue", HFILL
}},
28514 { &hf_ivi_deltaPositions
,
28515 { "deltaPositions", "ivi.deltaPositions",
28516 FT_UINT32
, BASE_DEC
, NULL
, 0,
28518 { &hf_ivi_deltaPositionsWithAltitude
,
28519 { "deltaPositionsWithAltitude", "ivi.deltaPositionsWithAltitude",
28520 FT_UINT32
, BASE_DEC
, NULL
, 0,
28521 "DeltaReferencePositions", HFILL
}},
28522 { &hf_ivi_absolutePositions
,
28523 { "absolutePositions", "ivi.absolutePositions",
28524 FT_UINT32
, BASE_DEC
, NULL
, 0,
28526 { &hf_ivi_absolutePositionsWithAltitude
,
28527 { "absolutePositionsWithAltitude", "ivi.absolutePositionsWithAltitude",
28528 FT_UINT32
, BASE_DEC
, NULL
, 0,
28529 "AbsolutePositionsWAltitude", HFILL
}},
28530 { &hf_ivi_condition
,
28531 { "condition", "ivi.condition",
28532 FT_UINT32
, BASE_DEC
, VALS(ivi_Condition_vals
), 0,
28534 { &hf_ivi_temperature
,
28535 { "temperature", "ivi.temperature",
28536 FT_INT32
, BASE_DEC
, NULL
, 0,
28538 { &hf_ivi_iceOrWaterDepth
,
28539 { "iceOrWaterDepth", "ivi.iceOrWaterDepth",
28540 FT_UINT32
, BASE_DEC
, NULL
, 0,
28542 { &hf_ivi_treatment
,
28543 { "treatment", "ivi.treatment",
28544 FT_UINT32
, BASE_DEC
, VALS(ivi_TreatmentType_vals
), 0,
28545 "TreatmentType", HFILL
}},
28546 { &hf_ivi_frictionCoefficient
,
28547 { "frictionCoefficient", "ivi.frictionCoefficient",
28548 FT_UINT32
, BASE_DEC
, NULL
, 0,
28550 { &hf_ivi_material
,
28551 { "material", "ivi.material",
28552 FT_UINT32
, BASE_DEC
, VALS(ivi_MaterialType_vals
), 0,
28553 "MaterialType", HFILL
}},
28555 { "wear", "ivi.wear",
28556 FT_UINT32
, BASE_DEC
, VALS(ivi_WearLevel_vals
), 0,
28557 "WearLevel", HFILL
}},
28558 { &hf_ivi_avBankingAngle
,
28559 { "avBankingAngle", "ivi.avBankingAngle",
28560 FT_INT32
, BASE_DEC
, NULL
, 0,
28561 "BankingAngle", HFILL
}},
28562 { &hf_ivi_rscLayoutComponentId
,
28563 { "layoutComponentId", "ivi.layoutComponentId",
28564 FT_UINT32
, BASE_DEC
, NULL
, 0,
28565 "INTEGER_1_4_", HFILL
}},
28567 { "code", "ivi.code",
28568 FT_UINT32
, BASE_DEC
, VALS(ivi_T_code_vals
), 0,
28570 { &hf_ivi_viennaConvention
,
28571 { "viennaConvention", "ivi.viennaConvention_element",
28572 FT_NONE
, BASE_NONE
, NULL
, 0,
28573 "VcCode", HFILL
}},
28574 { &hf_ivi_iso14823
,
28575 { "iso14823", "ivi.iso14823_element",
28576 FT_NONE
, BASE_NONE
, NULL
, 0,
28577 "ISO14823Code", HFILL
}},
28578 { &hf_ivi_itisCodes
,
28579 { "itisCodes", "ivi.itisCodes",
28580 FT_UINT32
, BASE_DEC
, NULL
, 0,
28581 "INTEGER_0_65535", HFILL
}},
28582 { &hf_ivi_anyCatalogue
,
28583 { "anyCatalogue", "ivi.anyCatalogue_element",
28584 FT_NONE
, BASE_NONE
, NULL
, 0,
28587 { "line", "ivi.line",
28588 FT_UINT32
, BASE_DEC
, VALS(ivi_PolygonalLine_vals
), 0,
28589 "PolygonalLine", HFILL
}},
28590 { &hf_ivi_tLayoutComponentId
,
28591 { "layoutComponentId", "ivi.layoutComponentId",
28592 FT_UINT32
, BASE_DEC
, NULL
, 0,
28593 "INTEGER_1_4_", HFILL
}},
28594 { &hf_ivi_language
,
28595 { "language", "ivi.language",
28596 FT_BYTES
, BASE_NONE
, NULL
, 0,
28598 { &hf_ivi_textContent
,
28599 { "textContent", "ivi.textContent",
28600 FT_STRING
, BASE_NONE
, NULL
, 0,
28601 "UTF8String", HFILL
}},
28602 { &hf_ivi_toEqualTo
,
28603 { "equalTo", "ivi.equalTo",
28604 FT_UINT32
, BASE_DEC
, NULL
, 0,
28605 "T_TractorCharactEqualTo", HFILL
}},
28606 { &hf_ivi_toNotEqualTo
,
28607 { "notEqualTo", "ivi.notEqualTo",
28608 FT_UINT32
, BASE_DEC
, NULL
, 0,
28609 "T_TractorCharactNotEqualTo", HFILL
}},
28611 { "ranges", "ivi.ranges",
28612 FT_UINT32
, BASE_DEC
, NULL
, 0,
28613 "VehicleCharacteristicsRangesList", HFILL
}},
28614 { &hf_ivi_teEqualTo
,
28615 { "equalTo", "ivi.equalTo",
28616 FT_UINT32
, BASE_DEC
, NULL
, 0,
28617 "T_TrailerCharactEqualTo", HFILL
}},
28618 { &hf_ivi_teNotEqualTo
,
28619 { "notEqualTo", "ivi.notEqualTo",
28620 FT_UINT32
, BASE_DEC
, NULL
, 0,
28621 "T_TrailerCharactNotEqualTo", HFILL
}},
28622 { &hf_ivi_ranges_01
,
28623 { "ranges", "ivi.ranges",
28624 FT_UINT32
, BASE_DEC
, NULL
, 0,
28625 "TrailerCharacteristicsRangesList", HFILL
}},
28626 { &hf_ivi_roadSignClass
,
28627 { "roadSignClass", "ivi.roadSignClass",
28628 FT_UINT32
, BASE_DEC
, VALS(ivi_VcClass_vals
), 0,
28629 "VcClass", HFILL
}},
28630 { &hf_ivi_roadSignCode
,
28631 { "roadSignCode", "ivi.roadSignCode",
28632 FT_UINT32
, BASE_DEC
, NULL
, 0,
28633 "INTEGER_1_64", HFILL
}},
28634 { &hf_ivi_vcOption
,
28635 { "vcOption", "ivi.vcOption",
28636 FT_UINT32
, BASE_DEC
, VALS(ivi_VcOption_vals
), 0,
28638 { &hf_ivi_vcValidity
,
28639 { "validity", "ivi.validity",
28640 FT_UINT32
, BASE_DEC
, NULL
, 0,
28641 "ValidityPeriods", HFILL
}},
28643 { "value", "ivi.value",
28644 FT_UINT32
, BASE_DEC
, NULL
, 0,
28645 "INTEGER_0_65535", HFILL
}},
28646 { &hf_ivi_simpleVehicleType
,
28647 { "simpleVehicleType", "ivi.simpleVehicleType",
28648 FT_UINT32
, BASE_DEC
, VALS(its_StationType_vals
), 0,
28649 "StationType", HFILL
}},
28650 { &hf_ivi_euVehicleCategoryCode
,
28651 { "euVehicleCategoryCode", "ivi.euVehicleCategoryCode",
28652 FT_UINT32
, BASE_DEC
, VALS(its_EuVehicleCategoryCode_vals
), 0,
28654 { &hf_ivi_iso3833VehicleType
,
28655 { "iso3833VehicleType", "ivi.iso3833VehicleType",
28656 FT_UINT32
, BASE_DEC
, VALS(its_Iso3833VehicleType_vals
), 0,
28658 { &hf_ivi_euroAndCo2value
,
28659 { "euroAndCo2value", "ivi.euroAndCo2value_element",
28660 FT_NONE
, BASE_NONE
, NULL
, 0,
28661 "EnvironmentalCharacteristics", HFILL
}},
28662 { &hf_ivi_engineCharacteristics
,
28663 { "engineCharacteristics", "ivi.engineCharacteristics",
28664 FT_UINT32
, BASE_DEC
, VALS(dsrc_app_EngineCharacteristics_vals
), 0,
28666 { &hf_ivi_loadType
,
28667 { "loadType", "ivi.loadType_element",
28668 FT_NONE
, BASE_NONE
, NULL
, 0,
28671 { "usage", "ivi.usage",
28672 FT_UINT32
, BASE_DEC
, VALS(its_VehicleRole_vals
), 0,
28673 "VehicleRole", HFILL
}},
28674 { &hf_ivi_comparisonOperator
,
28675 { "comparisonOperator", "ivi.comparisonOperator",
28676 FT_UINT32
, BASE_DEC
, VALS(ivi_ComparisonOperator_vals
), 0,
28679 { "limits", "ivi.limits",
28680 FT_UINT32
, BASE_DEC
, VALS(ivi_T_limits_vals
), 0,
28682 { &hf_ivi_numberOfAxles
,
28683 { "numberOfAxles", "ivi.numberOfAxles",
28684 FT_UINT32
, BASE_DEC
, NULL
, 0,
28685 "INTEGER_0_7", HFILL
}},
28686 { &hf_ivi_vehicleDimensions
,
28687 { "vehicleDimensions", "ivi.vehicleDimensions_element",
28688 FT_NONE
, BASE_NONE
, NULL
, 0,
28690 { &hf_ivi_vehicleWeightLimits
,
28691 { "vehicleWeightLimits", "ivi.vehicleWeightLimits_element",
28692 FT_NONE
, BASE_NONE
, NULL
, 0,
28694 { &hf_ivi_axleWeightLimits
,
28695 { "axleWeightLimits", "ivi.axleWeightLimits_element",
28696 FT_NONE
, BASE_NONE
, NULL
, 0,
28698 { &hf_ivi_passengerCapacity
,
28699 { "passengerCapacity", "ivi.passengerCapacity_element",
28700 FT_NONE
, BASE_NONE
, NULL
, 0,
28702 { &hf_ivi_exhaustEmissionValues
,
28703 { "exhaustEmissionValues", "ivi.exhaustEmissionValues_element",
28704 FT_NONE
, BASE_NONE
, NULL
, 0,
28706 { &hf_ivi_dieselEmissionValues
,
28707 { "dieselEmissionValues", "ivi.dieselEmissionValues_element",
28708 FT_NONE
, BASE_NONE
, NULL
, 0,
28710 { &hf_ivi_soundLevel
,
28711 { "soundLevel", "ivi.soundLevel_element",
28712 FT_NONE
, BASE_NONE
, NULL
, 0,
28715 { "segment", "ivi.segment_element",
28716 FT_NONE
, BASE_NONE
, NULL
, 0,
28719 { "area", "ivi.area",
28720 FT_UINT32
, BASE_DEC
, VALS(ivi_PolygonalLine_vals
), 0,
28721 "PolygonalLine", HFILL
}},
28722 { &hf_ivi_computedSegment
,
28723 { "computedSegment", "ivi.computedSegment_element",
28724 FT_NONE
, BASE_NONE
, NULL
, 0,
28727 /* --- Module CAMv1-PDU-Descriptions --- --- --- */
28729 { &hf_camv1_camv1_CoopAwarenessV1_PDU
,
28730 { "CoopAwarenessV1", "camv1.CoopAwarenessV1_element",
28731 FT_NONE
, BASE_NONE
, NULL
, 0,
28733 { &hf_camv1_generationDeltaTime
,
28734 { "generationDeltaTime", "camv1.generationDeltaTime",
28735 FT_UINT32
, BASE_DEC
, NULL
, 0,
28737 { &hf_camv1_camParameters
,
28738 { "camParameters", "camv1.camParameters_element",
28739 FT_NONE
, BASE_NONE
, NULL
, 0,
28741 { &hf_camv1_basicContainer
,
28742 { "basicContainer", "camv1.basicContainer_element",
28743 FT_NONE
, BASE_NONE
, NULL
, 0,
28745 { &hf_camv1_highFrequencyContainer
,
28746 { "highFrequencyContainer", "camv1.highFrequencyContainer",
28747 FT_UINT32
, BASE_DEC
, VALS(camv1_HighFrequencyContainer_vals
), 0,
28749 { &hf_camv1_lowFrequencyContainer
,
28750 { "lowFrequencyContainer", "camv1.lowFrequencyContainer",
28751 FT_UINT32
, BASE_DEC
, VALS(camv1_LowFrequencyContainer_vals
), 0,
28753 { &hf_camv1_specialVehicleContainer
,
28754 { "specialVehicleContainer", "camv1.specialVehicleContainer",
28755 FT_UINT32
, BASE_DEC
, VALS(camv1_SpecialVehicleContainer_vals
), 0,
28757 { &hf_camv1_basicVehicleContainerHighFrequency
,
28758 { "basicVehicleContainerHighFrequency", "camv1.basicVehicleContainerHighFrequency_element",
28759 FT_NONE
, BASE_NONE
, NULL
, 0,
28761 { &hf_camv1_rsuContainerHighFrequency
,
28762 { "rsuContainerHighFrequency", "camv1.rsuContainerHighFrequency_element",
28763 FT_NONE
, BASE_NONE
, NULL
, 0,
28765 { &hf_camv1_basicVehicleContainerLowFrequency
,
28766 { "basicVehicleContainerLowFrequency", "camv1.basicVehicleContainerLowFrequency_element",
28767 FT_NONE
, BASE_NONE
, NULL
, 0,
28769 { &hf_camv1_publicTransportContainer
,
28770 { "publicTransportContainer", "camv1.publicTransportContainer_element",
28771 FT_NONE
, BASE_NONE
, NULL
, 0,
28773 { &hf_camv1_specialTransportContainer
,
28774 { "specialTransportContainer", "camv1.specialTransportContainer_element",
28775 FT_NONE
, BASE_NONE
, NULL
, 0,
28777 { &hf_camv1_dangerousGoodsContainer
,
28778 { "dangerousGoodsContainer", "camv1.dangerousGoodsContainer_element",
28779 FT_NONE
, BASE_NONE
, NULL
, 0,
28781 { &hf_camv1_roadWorksContainerBasic
,
28782 { "roadWorksContainerBasic", "camv1.roadWorksContainerBasic_element",
28783 FT_NONE
, BASE_NONE
, NULL
, 0,
28785 { &hf_camv1_rescueContainer
,
28786 { "rescueContainer", "camv1.rescueContainer_element",
28787 FT_NONE
, BASE_NONE
, NULL
, 0,
28789 { &hf_camv1_emergencyContainer
,
28790 { "emergencyContainer", "camv1.emergencyContainer_element",
28791 FT_NONE
, BASE_NONE
, NULL
, 0,
28793 { &hf_camv1_safetyCarContainer
,
28794 { "safetyCarContainer", "camv1.safetyCarContainer_element",
28795 FT_NONE
, BASE_NONE
, NULL
, 0,
28797 { &hf_camv1_stationType
,
28798 { "stationType", "camv1.stationType",
28799 FT_UINT32
, BASE_DEC
, VALS(itsv1_StationType_vals
), 0,
28801 { &hf_camv1_referencePosition
,
28802 { "referencePosition", "camv1.referencePosition_element",
28803 FT_NONE
, BASE_NONE
, NULL
, 0,
28805 { &hf_camv1_heading
,
28806 { "heading", "camv1.heading_element",
28807 FT_NONE
, BASE_NONE
, NULL
, 0,
28810 { "speed", "camv1.speed_element",
28811 FT_NONE
, BASE_NONE
, NULL
, 0,
28813 { &hf_camv1_driveDirection
,
28814 { "driveDirection", "camv1.driveDirection",
28815 FT_UINT32
, BASE_DEC
, VALS(itsv1_DriveDirection_vals
), 0,
28817 { &hf_camv1_vehicleLength
,
28818 { "vehicleLength", "camv1.vehicleLength_element",
28819 FT_NONE
, BASE_NONE
, NULL
, 0,
28821 { &hf_camv1_vehicleWidth
,
28822 { "vehicleWidth", "camv1.vehicleWidth",
28823 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_vehicle_width_fmt
), 0,
28825 { &hf_camv1_longitudinalAcceleration
,
28826 { "longitudinalAcceleration", "camv1.longitudinalAcceleration_element",
28827 FT_NONE
, BASE_NONE
, NULL
, 0,
28829 { &hf_camv1_curvature
,
28830 { "curvature", "camv1.curvature_element",
28831 FT_NONE
, BASE_NONE
, NULL
, 0,
28833 { &hf_camv1_curvatureCalculationMode
,
28834 { "curvatureCalculationMode", "camv1.curvatureCalculationMode",
28835 FT_UINT32
, BASE_DEC
, VALS(itsv1_CurvatureCalculationMode_vals
), 0,
28837 { &hf_camv1_yawRate
,
28838 { "yawRate", "camv1.yawRate_element",
28839 FT_NONE
, BASE_NONE
, NULL
, 0,
28841 { &hf_camv1_accelerationControl
,
28842 { "accelerationControl", "camv1.accelerationControl",
28843 FT_BYTES
, BASE_NONE
, NULL
, 0,
28845 { &hf_camv1_lanePosition
,
28846 { "lanePosition", "camv1.lanePosition",
28847 FT_INT32
, BASE_DEC
, VALS(itsv1_LanePosition_vals
), 0,
28849 { &hf_camv1_steeringWheelAngle
,
28850 { "steeringWheelAngle", "camv1.steeringWheelAngle_element",
28851 FT_NONE
, BASE_NONE
, NULL
, 0,
28853 { &hf_camv1_lateralAcceleration
,
28854 { "lateralAcceleration", "camv1.lateralAcceleration_element",
28855 FT_NONE
, BASE_NONE
, NULL
, 0,
28857 { &hf_camv1_verticalAcceleration
,
28858 { "verticalAcceleration", "camv1.verticalAcceleration_element",
28859 FT_NONE
, BASE_NONE
, NULL
, 0,
28861 { &hf_camv1_performanceClass
,
28862 { "performanceClass", "camv1.performanceClass",
28863 FT_UINT32
, BASE_DEC
, VALS(itsv1_PerformanceClass_vals
), 0,
28865 { &hf_camv1_cenDsrcTollingZone
,
28866 { "cenDsrcTollingZone", "camv1.cenDsrcTollingZone_element",
28867 FT_NONE
, BASE_NONE
, NULL
, 0,
28869 { &hf_camv1_vehicleRole
,
28870 { "vehicleRole", "camv1.vehicleRole",
28871 FT_UINT32
, BASE_DEC
, VALS(itsv1_VehicleRole_vals
), 0,
28873 { &hf_camv1_exteriorLights
,
28874 { "exteriorLights", "camv1.exteriorLights",
28875 FT_BYTES
, BASE_NONE
, NULL
, 0,
28877 { &hf_camv1_pathHistory
,
28878 { "pathHistory", "camv1.pathHistory",
28879 FT_UINT32
, BASE_DEC
, NULL
, 0,
28881 { &hf_camv1_embarkationStatus
,
28882 { "embarkationStatus", "camv1.embarkationStatus",
28883 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
28885 { &hf_camv1_ptActivation
,
28886 { "ptActivation", "camv1.ptActivation_element",
28887 FT_NONE
, BASE_NONE
, NULL
, 0,
28889 { &hf_camv1_specialTransportType
,
28890 { "specialTransportType", "camv1.specialTransportType",
28891 FT_BYTES
, BASE_NONE
, NULL
, 0,
28893 { &hf_camv1_lightBarSirenInUse
,
28894 { "lightBarSirenInUse", "camv1.lightBarSirenInUse",
28895 FT_BYTES
, BASE_NONE
, NULL
, 0,
28897 { &hf_camv1_dangerousGoodsBasic
,
28898 { "dangerousGoodsBasic", "camv1.dangerousGoodsBasic",
28899 FT_UINT32
, BASE_DEC
, VALS(itsv1_DangerousGoodsBasic_vals
), 0,
28901 { &hf_camv1_roadworksSubCauseCode
,
28902 { "roadworksSubCauseCode", "camv1.roadworksSubCauseCode",
28903 FT_UINT32
, BASE_DEC
, VALS(itsv1_RoadworksSubCauseCode_vals
), 0,
28905 { &hf_camv1_closedLanes
,
28906 { "closedLanes", "camv1.closedLanes_element",
28907 FT_NONE
, BASE_NONE
, NULL
, 0,
28909 { &hf_camv1_incidentIndication
,
28910 { "incidentIndication", "camv1.incidentIndication_element",
28911 FT_NONE
, BASE_NONE
, NULL
, 0,
28912 "CauseCode", HFILL
}},
28913 { &hf_camv1_emergencyPriority
,
28914 { "emergencyPriority", "camv1.emergencyPriority",
28915 FT_BYTES
, BASE_NONE
, NULL
, 0,
28917 { &hf_camv1_trafficRule
,
28918 { "trafficRule", "camv1.trafficRule",
28919 FT_UINT32
, BASE_DEC
, VALS(itsv1_TrafficRule_vals
), 0,
28921 { &hf_camv1_speedLimit
,
28922 { "speedLimit", "camv1.speedLimit",
28923 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_limit_fmt
), 0,
28925 { &hf_camv1_protectedCommunicationZonesRSU
,
28926 { "protectedCommunicationZonesRSU", "camv1.protectedCommunicationZonesRSU",
28927 FT_UINT32
, BASE_DEC
, NULL
, 0,
28930 /* --- Module CAM-PDU-Descriptions --- --- --- */
28932 { &hf_cam_cam_CamPayload_PDU
,
28933 { "CamPayload", "cam.CamPayload_element",
28934 FT_NONE
, BASE_NONE
, NULL
, 0,
28936 { &hf_cam_generationDeltaTime
,
28937 { "generationDeltaTime", "cam.generationDeltaTime",
28938 FT_UINT32
, BASE_DEC
, NULL
, 0,
28940 { &hf_cam_camParameters
,
28941 { "camParameters", "cam.camParameters_element",
28942 FT_NONE
, BASE_NONE
, NULL
, 0,
28944 { &hf_cam_basicContainer
,
28945 { "basicContainer", "cam.basicContainer_element",
28946 FT_NONE
, BASE_NONE
, NULL
, 0,
28948 { &hf_cam_highFrequencyContainer
,
28949 { "highFrequencyContainer", "cam.highFrequencyContainer",
28950 FT_UINT32
, BASE_DEC
, VALS(cam_HighFrequencyContainer_vals
), 0,
28952 { &hf_cam_lowFrequencyContainer
,
28953 { "lowFrequencyContainer", "cam.lowFrequencyContainer",
28954 FT_UINT32
, BASE_DEC
, VALS(cam_LowFrequencyContainer_vals
), 0,
28956 { &hf_cam_specialVehicleContainer
,
28957 { "specialVehicleContainer", "cam.specialVehicleContainer",
28958 FT_UINT32
, BASE_DEC
, VALS(cam_SpecialVehicleContainer_vals
), 0,
28960 { &hf_cam_basicVehicleContainerHighFrequency
,
28961 { "basicVehicleContainerHighFrequency", "cam.basicVehicleContainerHighFrequency_element",
28962 FT_NONE
, BASE_NONE
, NULL
, 0,
28964 { &hf_cam_rsuContainerHighFrequency
,
28965 { "rsuContainerHighFrequency", "cam.rsuContainerHighFrequency_element",
28966 FT_NONE
, BASE_NONE
, NULL
, 0,
28968 { &hf_cam_basicVehicleContainerLowFrequency
,
28969 { "basicVehicleContainerLowFrequency", "cam.basicVehicleContainerLowFrequency_element",
28970 FT_NONE
, BASE_NONE
, NULL
, 0,
28972 { &hf_cam_publicTransportContainer
,
28973 { "publicTransportContainer", "cam.publicTransportContainer_element",
28974 FT_NONE
, BASE_NONE
, NULL
, 0,
28976 { &hf_cam_specialTransportContainer
,
28977 { "specialTransportContainer", "cam.specialTransportContainer_element",
28978 FT_NONE
, BASE_NONE
, NULL
, 0,
28980 { &hf_cam_dangerousGoodsContainer
,
28981 { "dangerousGoodsContainer", "cam.dangerousGoodsContainer_element",
28982 FT_NONE
, BASE_NONE
, NULL
, 0,
28984 { &hf_cam_roadWorksContainerBasic
,
28985 { "roadWorksContainerBasic", "cam.roadWorksContainerBasic_element",
28986 FT_NONE
, BASE_NONE
, NULL
, 0,
28988 { &hf_cam_rescueContainer
,
28989 { "rescueContainer", "cam.rescueContainer_element",
28990 FT_NONE
, BASE_NONE
, NULL
, 0,
28992 { &hf_cam_emergencyContainer
,
28993 { "emergencyContainer", "cam.emergencyContainer_element",
28994 FT_NONE
, BASE_NONE
, NULL
, 0,
28996 { &hf_cam_safetyCarContainer
,
28997 { "safetyCarContainer", "cam.safetyCarContainer_element",
28998 FT_NONE
, BASE_NONE
, NULL
, 0,
29001 { "heading", "cam.heading_element",
29002 FT_NONE
, BASE_NONE
, NULL
, 0,
29005 { "speed", "cam.speed_element",
29006 FT_NONE
, BASE_NONE
, NULL
, 0,
29008 { &hf_cam_driveDirection
,
29009 { "driveDirection", "cam.driveDirection",
29010 FT_UINT32
, BASE_DEC
, VALS(its_DriveDirection_vals
), 0,
29012 { &hf_cam_vehicleLength
,
29013 { "vehicleLength", "cam.vehicleLength_element",
29014 FT_NONE
, BASE_NONE
, NULL
, 0,
29016 { &hf_cam_vehicleWidth
,
29017 { "vehicleWidth", "cam.vehicleWidth",
29018 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_vehicle_width_fmt
), 0,
29020 { &hf_cam_longitudinalAcceleration
,
29021 { "longitudinalAcceleration", "cam.longitudinalAcceleration_element",
29022 FT_NONE
, BASE_NONE
, NULL
, 0,
29023 "AccelerationComponent", HFILL
}},
29024 { &hf_cam_curvature
,
29025 { "curvature", "cam.curvature_element",
29026 FT_NONE
, BASE_NONE
, NULL
, 0,
29028 { &hf_cam_curvatureCalculationMode
,
29029 { "curvatureCalculationMode", "cam.curvatureCalculationMode",
29030 FT_UINT32
, BASE_DEC
, VALS(its_CurvatureCalculationMode_vals
), 0,
29033 { "yawRate", "cam.yawRate_element",
29034 FT_NONE
, BASE_NONE
, NULL
, 0,
29036 { &hf_cam_accelerationControl
,
29037 { "accelerationControl", "cam.accelerationControl",
29038 FT_BYTES
, BASE_NONE
, NULL
, 0,
29040 { &hf_cam_lanePosition
,
29041 { "lanePosition", "cam.lanePosition",
29042 FT_INT32
, BASE_DEC
, VALS(its_LanePosition_vals
), 0,
29044 { &hf_cam_steeringWheelAngle
,
29045 { "steeringWheelAngle", "cam.steeringWheelAngle_element",
29046 FT_NONE
, BASE_NONE
, NULL
, 0,
29048 { &hf_cam_lateralAcceleration
,
29049 { "lateralAcceleration", "cam.lateralAcceleration_element",
29050 FT_NONE
, BASE_NONE
, NULL
, 0,
29051 "AccelerationComponent", HFILL
}},
29052 { &hf_cam_verticalAcceleration
,
29053 { "verticalAcceleration", "cam.verticalAcceleration_element",
29054 FT_NONE
, BASE_NONE
, NULL
, 0,
29055 "AccelerationComponent", HFILL
}},
29056 { &hf_cam_performanceClass
,
29057 { "performanceClass", "cam.performanceClass",
29058 FT_UINT32
, BASE_DEC
, VALS(its_PerformanceClass_vals
), 0,
29060 { &hf_cam_cenDsrcTollingZone
,
29061 { "cenDsrcTollingZone", "cam.cenDsrcTollingZone_element",
29062 FT_NONE
, BASE_NONE
, NULL
, 0,
29064 { &hf_cam_vehicleRole
,
29065 { "vehicleRole", "cam.vehicleRole",
29066 FT_UINT32
, BASE_DEC
, VALS(its_VehicleRole_vals
), 0,
29068 { &hf_cam_exteriorLights
,
29069 { "exteriorLights", "cam.exteriorLights",
29070 FT_BYTES
, BASE_NONE
, NULL
, 0,
29072 { &hf_cam_pathHistory
,
29073 { "pathHistory", "cam.pathHistory",
29074 FT_UINT32
, BASE_DEC
, NULL
, 0,
29076 { &hf_cam_embarkationStatus
,
29077 { "embarkationStatus", "cam.embarkationStatus",
29078 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
29080 { &hf_cam_ptActivation
,
29081 { "ptActivation", "cam.ptActivation_element",
29082 FT_NONE
, BASE_NONE
, NULL
, 0,
29084 { &hf_cam_specialTransportType
,
29085 { "specialTransportType", "cam.specialTransportType",
29086 FT_BYTES
, BASE_NONE
, NULL
, 0,
29088 { &hf_cam_lightBarSirenInUse
,
29089 { "lightBarSirenInUse", "cam.lightBarSirenInUse",
29090 FT_BYTES
, BASE_NONE
, NULL
, 0,
29092 { &hf_cam_dangerousGoodsBasic
,
29093 { "dangerousGoodsBasic", "cam.dangerousGoodsBasic",
29094 FT_UINT32
, BASE_DEC
, VALS(its_DangerousGoodsBasic_vals
), 0,
29096 { &hf_cam_roadworksSubCauseCode
,
29097 { "roadworksSubCauseCode", "cam.roadworksSubCauseCode",
29098 FT_UINT32
, BASE_DEC
, VALS(its_RoadworksSubCauseCode_vals
), 0,
29100 { &hf_cam_closedLanes
,
29101 { "closedLanes", "cam.closedLanes_element",
29102 FT_NONE
, BASE_NONE
, NULL
, 0,
29104 { &hf_cam_incidentIndication
,
29105 { "incidentIndication", "cam.incidentIndication_element",
29106 FT_NONE
, BASE_NONE
, NULL
, 0,
29107 "CauseCodeV2", HFILL
}},
29108 { &hf_cam_emergencyPriority
,
29109 { "emergencyPriority", "cam.emergencyPriority",
29110 FT_BYTES
, BASE_NONE
, NULL
, 0,
29112 { &hf_cam_trafficRule
,
29113 { "trafficRule", "cam.trafficRule",
29114 FT_UINT32
, BASE_DEC
, VALS(its_TrafficRule_vals
), 0,
29116 { &hf_cam_speedLimit
,
29117 { "speedLimit", "cam.speedLimit",
29118 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_limit_fmt
), 0,
29120 { &hf_cam_protectedCommunicationZonesRSU
,
29121 { "protectedCommunicationZonesRSU", "cam.protectedCommunicationZonesRSU",
29122 FT_UINT32
, BASE_DEC
, NULL
, 0,
29125 /* --- Module DENMv1-PDU-Descriptions --- --- --- */
29127 { &hf_denmv1_denmv1_DecentralizedEnvironmentalNotificationMessageV1_PDU
,
29128 { "DecentralizedEnvironmentalNotificationMessageV1", "denmv1.DecentralizedEnvironmentalNotificationMessageV1_element",
29129 FT_NONE
, BASE_NONE
, NULL
, 0,
29131 { &hf_denmv1_management
,
29132 { "management", "denmv1.management_element",
29133 FT_NONE
, BASE_NONE
, NULL
, 0,
29134 "ManagementContainer", HFILL
}},
29135 { &hf_denmv1_situation
,
29136 { "situation", "denmv1.situation_element",
29137 FT_NONE
, BASE_NONE
, NULL
, 0,
29138 "SituationContainer", HFILL
}},
29139 { &hf_denmv1_location
,
29140 { "location", "denmv1.location_element",
29141 FT_NONE
, BASE_NONE
, NULL
, 0,
29142 "LocationContainer", HFILL
}},
29143 { &hf_denmv1_alacarte
,
29144 { "alacarte", "denmv1.alacarte_element",
29145 FT_NONE
, BASE_NONE
, NULL
, 0,
29146 "AlacarteContainer", HFILL
}},
29147 { &hf_denmv1_actionID
,
29148 { "actionID", "denmv1.actionID_element",
29149 FT_NONE
, BASE_NONE
, NULL
, 0,
29151 { &hf_denmv1_detectionTime
,
29152 { "detectionTime", "denmv1.detectionTime",
29153 FT_UINT64
, BASE_CUSTOM
, CF_FUNC(its_timestamp_fmt
), 0,
29154 "TimestampIts", HFILL
}},
29155 { &hf_denmv1_referenceTime
,
29156 { "referenceTime", "denmv1.referenceTime",
29157 FT_UINT64
, BASE_CUSTOM
, CF_FUNC(its_timestamp_fmt
), 0,
29158 "TimestampIts", HFILL
}},
29159 { &hf_denmv1_termination
,
29160 { "termination", "denmv1.termination",
29161 FT_UINT32
, BASE_DEC
, VALS(denmv1_Termination_vals
), 0,
29163 { &hf_denmv1_eventPosition
,
29164 { "eventPosition", "denmv1.eventPosition_element",
29165 FT_NONE
, BASE_NONE
, NULL
, 0,
29166 "ReferencePosition", HFILL
}},
29167 { &hf_denmv1_relevanceDistance
,
29168 { "relevanceDistance", "denmv1.relevanceDistance",
29169 FT_UINT32
, BASE_DEC
, VALS(itsv1_RelevanceDistance_vals
), 0,
29171 { &hf_denmv1_relevanceTrafficDirection
,
29172 { "relevanceTrafficDirection", "denmv1.relevanceTrafficDirection",
29173 FT_UINT32
, BASE_DEC
, VALS(itsv1_RelevanceTrafficDirection_vals
), 0,
29175 { &hf_denmv1_validityDuration
,
29176 { "validityDuration", "denmv1.validityDuration",
29177 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_validity_duration_fmt
), 0,
29179 { &hf_denmv1_transmissionInterval
,
29180 { "transmissionInterval", "denmv1.transmissionInterval",
29181 FT_UINT32
, BASE_DEC
, VALS(itsv1_TransmissionInterval_vals
), 0,
29183 { &hf_denmv1_stationType
,
29184 { "stationType", "denmv1.stationType",
29185 FT_UINT32
, BASE_DEC
, VALS(itsv1_StationType_vals
), 0,
29187 { &hf_denmv1_informationQuality
,
29188 { "informationQuality", "denmv1.informationQuality",
29189 FT_UINT32
, BASE_DEC
, VALS(itsv1_InformationQuality_vals
), 0,
29191 { &hf_denmv1_eventType
,
29192 { "eventType", "denmv1.eventType_element",
29193 FT_NONE
, BASE_NONE
, NULL
, 0,
29194 "CauseCode", HFILL
}},
29195 { &hf_denmv1_linkedCause
,
29196 { "linkedCause", "denmv1.linkedCause_element",
29197 FT_NONE
, BASE_NONE
, NULL
, 0,
29198 "CauseCode", HFILL
}},
29199 { &hf_denmv1_eventHistory
,
29200 { "eventHistory", "denmv1.eventHistory",
29201 FT_UINT32
, BASE_DEC
, NULL
, 0,
29203 { &hf_denmv1_eventSpeed
,
29204 { "eventSpeed", "denmv1.eventSpeed_element",
29205 FT_NONE
, BASE_NONE
, NULL
, 0,
29207 { &hf_denmv1_eventPositionHeading
,
29208 { "eventPositionHeading", "denmv1.eventPositionHeading_element",
29209 FT_NONE
, BASE_NONE
, NULL
, 0,
29210 "Heading", HFILL
}},
29211 { &hf_denmv1_traces
,
29212 { "traces", "denmv1.traces",
29213 FT_UINT32
, BASE_DEC
, NULL
, 0,
29215 { &hf_denmv1_roadType
,
29216 { "roadType", "denmv1.roadType",
29217 FT_UINT32
, BASE_DEC
, VALS(itsv1_RoadType_vals
), 0,
29219 { &hf_denmv1_heightLonCarrLeft
,
29220 { "heightLonCarrLeft", "denmv1.heightLonCarrLeft",
29221 FT_UINT32
, BASE_DEC
, VALS(itsv1_HeightLonCarr_vals
), 0,
29222 "HeightLonCarr", HFILL
}},
29223 { &hf_denmv1_heightLonCarrRight
,
29224 { "heightLonCarrRight", "denmv1.heightLonCarrRight",
29225 FT_UINT32
, BASE_DEC
, VALS(itsv1_HeightLonCarr_vals
), 0,
29226 "HeightLonCarr", HFILL
}},
29227 { &hf_denmv1_posLonCarrLeft
,
29228 { "posLonCarrLeft", "denmv1.posLonCarrLeft",
29229 FT_UINT32
, BASE_DEC
, VALS(itsv1_PosLonCarr_vals
), 0,
29230 "PosLonCarr", HFILL
}},
29231 { &hf_denmv1_posLonCarrRight
,
29232 { "posLonCarrRight", "denmv1.posLonCarrRight",
29233 FT_UINT32
, BASE_DEC
, VALS(itsv1_PosLonCarr_vals
), 0,
29234 "PosLonCarr", HFILL
}},
29235 { &hf_denmv1_positionOfPillars
,
29236 { "positionOfPillars", "denmv1.positionOfPillars",
29237 FT_UINT32
, BASE_DEC
, NULL
, 0,
29239 { &hf_denmv1_posCentMass
,
29240 { "posCentMass", "denmv1.posCentMass",
29241 FT_UINT32
, BASE_DEC
, VALS(itsv1_PosCentMass_vals
), 0,
29243 { &hf_denmv1_wheelBaseVehicle
,
29244 { "wheelBaseVehicle", "denmv1.wheelBaseVehicle",
29245 FT_UINT32
, BASE_DEC
, VALS(itsv1_WheelBaseVehicle_vals
), 0,
29247 { &hf_denmv1_turningRadius
,
29248 { "turningRadius", "denmv1.turningRadius",
29249 FT_UINT32
, BASE_DEC
, VALS(itsv1_TurningRadius_vals
), 0,
29251 { &hf_denmv1_posFrontAx
,
29252 { "posFrontAx", "denmv1.posFrontAx",
29253 FT_UINT32
, BASE_DEC
, VALS(itsv1_PosFrontAx_vals
), 0,
29255 { &hf_denmv1_positionOfOccupants
,
29256 { "positionOfOccupants", "denmv1.positionOfOccupants",
29257 FT_BYTES
, BASE_NONE
, NULL
, 0,
29259 { &hf_denmv1_vehicleMass
,
29260 { "vehicleMass", "denmv1.vehicleMass",
29261 FT_UINT32
, BASE_DEC
, VALS(itsv1_VehicleMass_vals
), 0,
29263 { &hf_denmv1_requestResponseIndication
,
29264 { "requestResponseIndication", "denmv1.requestResponseIndication",
29265 FT_UINT32
, BASE_DEC
, VALS(itsv1_RequestResponseIndication_vals
), 0,
29267 { &hf_denmv1_lightBarSirenInUse
,
29268 { "lightBarSirenInUse", "denmv1.lightBarSirenInUse",
29269 FT_BYTES
, BASE_NONE
, NULL
, 0,
29271 { &hf_denmv1_closedLanes
,
29272 { "closedLanes", "denmv1.closedLanes_element",
29273 FT_NONE
, BASE_NONE
, NULL
, 0,
29275 { &hf_denmv1_restriction
,
29276 { "restriction", "denmv1.restriction",
29277 FT_UINT32
, BASE_DEC
, NULL
, 0,
29278 "RestrictedTypes", HFILL
}},
29279 { &hf_denmv1_speedLimit
,
29280 { "speedLimit", "denmv1.speedLimit",
29281 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_limit_fmt
), 0,
29283 { &hf_denmv1_incidentIndication
,
29284 { "incidentIndication", "denmv1.incidentIndication_element",
29285 FT_NONE
, BASE_NONE
, NULL
, 0,
29286 "CauseCode", HFILL
}},
29287 { &hf_denmv1_recommendedPath
,
29288 { "recommendedPath", "denmv1.recommendedPath",
29289 FT_UINT32
, BASE_DEC
, NULL
, 0,
29290 "ItineraryPath", HFILL
}},
29291 { &hf_denmv1_startingPointSpeedLimit
,
29292 { "startingPointSpeedLimit", "denmv1.startingPointSpeedLimit_element",
29293 FT_NONE
, BASE_NONE
, NULL
, 0,
29294 "DeltaReferencePosition", HFILL
}},
29295 { &hf_denmv1_trafficFlowRule
,
29296 { "trafficFlowRule", "denmv1.trafficFlowRule",
29297 FT_UINT32
, BASE_DEC
, VALS(itsv1_TrafficRule_vals
), 0,
29298 "TrafficRule", HFILL
}},
29299 { &hf_denmv1_referenceDenms
,
29300 { "referenceDenms", "denmv1.referenceDenms",
29301 FT_UINT32
, BASE_DEC
, NULL
, 0,
29303 { &hf_denmv1_stationarySince
,
29304 { "stationarySince", "denmv1.stationarySince",
29305 FT_UINT32
, BASE_DEC
, VALS(itsv1_StationarySince_vals
), 0,
29307 { &hf_denmv1_stationaryCause
,
29308 { "stationaryCause", "denmv1.stationaryCause_element",
29309 FT_NONE
, BASE_NONE
, NULL
, 0,
29310 "CauseCode", HFILL
}},
29311 { &hf_denmv1_carryingDangerousGoods
,
29312 { "carryingDangerousGoods", "denmv1.carryingDangerousGoods_element",
29313 FT_NONE
, BASE_NONE
, NULL
, 0,
29314 "DangerousGoodsExtended", HFILL
}},
29315 { &hf_denmv1_numberOfOccupants
,
29316 { "numberOfOccupants", "denmv1.numberOfOccupants",
29317 FT_UINT32
, BASE_DEC
, VALS(itsv1_NumberOfOccupants_vals
), 0,
29319 { &hf_denmv1_vehicleIdentification
,
29320 { "vehicleIdentification", "denmv1.vehicleIdentification_element",
29321 FT_NONE
, BASE_NONE
, NULL
, 0,
29323 { &hf_denmv1_energyStorageType
,
29324 { "energyStorageType", "denmv1.energyStorageType",
29325 FT_BYTES
, BASE_NONE
, NULL
, 0,
29327 { &hf_denmv1_lanePosition
,
29328 { "lanePosition", "denmv1.lanePosition",
29329 FT_INT32
, BASE_DEC
, VALS(itsv1_LanePosition_vals
), 0,
29331 { &hf_denmv1_impactReduction
,
29332 { "impactReduction", "denmv1.impactReduction_element",
29333 FT_NONE
, BASE_NONE
, NULL
, 0,
29334 "ImpactReductionContainer", HFILL
}},
29335 { &hf_denmv1_externalTemperature
,
29336 { "externalTemperature", "denmv1.externalTemperature",
29337 FT_INT32
, BASE_DEC
, VALS(itsv1_Temperature_vals
), 0,
29338 "Temperature", HFILL
}},
29339 { &hf_denmv1_roadWorks
,
29340 { "roadWorks", "denmv1.roadWorks_element",
29341 FT_NONE
, BASE_NONE
, NULL
, 0,
29342 "RoadWorksContainerExtended", HFILL
}},
29343 { &hf_denmv1_positioningSolution
,
29344 { "positioningSolution", "denmv1.positioningSolution",
29345 FT_UINT32
, BASE_DEC
, VALS(itsv1_PositioningSolutionType_vals
), 0,
29346 "PositioningSolutionType", HFILL
}},
29347 { &hf_denmv1_stationaryVehicle
,
29348 { "stationaryVehicle", "denmv1.stationaryVehicle_element",
29349 FT_NONE
, BASE_NONE
, NULL
, 0,
29350 "StationaryVehicleContainer", HFILL
}},
29351 { &hf_denmv1_ReferenceDenms_item
,
29352 { "ActionID", "denmv1.ActionID_element",
29353 FT_NONE
, BASE_NONE
, NULL
, 0,
29356 /* --- Module DENM-PDU-Description --- --- --- */
29358 { &hf_denm_denm_DenmPayload_PDU
,
29359 { "DenmPayload", "denm.DenmPayload_element",
29360 FT_NONE
, BASE_NONE
, NULL
, 0,
29362 { &hf_denm_management
,
29363 { "management", "denm.management_element",
29364 FT_NONE
, BASE_NONE
, NULL
, 0,
29365 "ManagementContainer", HFILL
}},
29366 { &hf_denm_situation
,
29367 { "situation", "denm.situation_element",
29368 FT_NONE
, BASE_NONE
, NULL
, 0,
29369 "SituationContainer", HFILL
}},
29370 { &hf_denm_location
,
29371 { "location", "denm.location_element",
29372 FT_NONE
, BASE_NONE
, NULL
, 0,
29373 "LocationContainer", HFILL
}},
29374 { &hf_denm_alacarte
,
29375 { "alacarte", "denm.alacarte_element",
29376 FT_NONE
, BASE_NONE
, NULL
, 0,
29377 "AlacarteContainer", HFILL
}},
29378 { &hf_denm_actionId
,
29379 { "actionId", "denm.actionId_element",
29380 FT_NONE
, BASE_NONE
, NULL
, 0,
29382 { &hf_denm_detectionTime
,
29383 { "detectionTime", "denm.detectionTime",
29384 FT_UINT64
, BASE_CUSTOM
, CF_FUNC(its_timestamp_fmt
), 0,
29385 "TimestampIts", HFILL
}},
29386 { &hf_denm_referenceTime
,
29387 { "referenceTime", "denm.referenceTime",
29388 FT_UINT64
, BASE_CUSTOM
, CF_FUNC(its_timestamp_fmt
), 0,
29389 "TimestampIts", HFILL
}},
29390 { &hf_denm_termination
,
29391 { "termination", "denm.termination",
29392 FT_UINT32
, BASE_DEC
, VALS(denm_Termination_vals
), 0,
29394 { &hf_denm_eventPosition
,
29395 { "eventPosition", "denm.eventPosition_element",
29396 FT_NONE
, BASE_NONE
, NULL
, 0,
29397 "ReferencePosition", HFILL
}},
29398 { &hf_denm_awarenessDistance
,
29399 { "awarenessDistance", "denm.awarenessDistance",
29400 FT_UINT32
, BASE_DEC
, VALS(its_StandardLength3b_vals
), 0,
29401 "StandardLength3b", HFILL
}},
29402 { &hf_denm_awarenessTrafficDirection
,
29403 { "awarenessTrafficDirection", "denm.awarenessTrafficDirection",
29404 FT_UINT32
, BASE_DEC
, VALS(its_TrafficDirection_vals
), 0,
29405 "TrafficDirection", HFILL
}},
29406 { &hf_denm_validityDuration
,
29407 { "validityDuration", "denm.validityDuration",
29408 FT_UINT32
, BASE_DEC
, NULL
, 0,
29409 "DeltaTimeSecond", HFILL
}},
29410 { &hf_denm_transmissionInterval
,
29411 { "transmissionInterval", "denm.transmissionInterval",
29412 FT_UINT32
, BASE_DEC
, NULL
, 0,
29413 "DeltaTimeMilliSecondPositive", HFILL
}},
29414 { &hf_denm_stationType
,
29415 { "stationType", "denm.stationType",
29416 FT_UINT32
, BASE_DEC
, VALS(its_StationType_vals
), 0,
29418 { &hf_denm_informationQuality
,
29419 { "informationQuality", "denm.informationQuality",
29420 FT_UINT32
, BASE_DEC
, NULL
, 0,
29422 { &hf_denm_eventType
,
29423 { "eventType", "denm.eventType_element",
29424 FT_NONE
, BASE_NONE
, NULL
, 0,
29425 "CauseCodeV2", HFILL
}},
29426 { &hf_denm_linkedCause
,
29427 { "linkedCause", "denm.linkedCause_element",
29428 FT_NONE
, BASE_NONE
, NULL
, 0,
29429 "CauseCodeV2", HFILL
}},
29430 { &hf_denm_eventZone
,
29431 { "eventZone", "denm.eventZone",
29432 FT_UINT32
, BASE_DEC
, NULL
, 0,
29434 { &hf_denm_eventSpeed
,
29435 { "eventSpeed", "denm.eventSpeed_element",
29436 FT_NONE
, BASE_NONE
, NULL
, 0,
29438 { &hf_denm_eventPositionHeading
,
29439 { "eventPositionHeading", "denm.eventPositionHeading_element",
29440 FT_NONE
, BASE_NONE
, NULL
, 0,
29441 "Wgs84Angle", HFILL
}},
29443 { "traces", "denm.traces",
29444 FT_UINT32
, BASE_DEC
, NULL
, 0,
29446 { &hf_denm_roadType
,
29447 { "roadType", "denm.roadType",
29448 FT_UINT32
, BASE_DEC
, VALS(its_RoadType_vals
), 0,
29450 { &hf_denm_heightLonCarrLeft
,
29451 { "heightLonCarrLeft", "denm.heightLonCarrLeft",
29452 FT_UINT32
, BASE_DEC
, VALS(its_HeightLonCarr_vals
), 0,
29453 "HeightLonCarr", HFILL
}},
29454 { &hf_denm_heightLonCarrRight
,
29455 { "heightLonCarrRight", "denm.heightLonCarrRight",
29456 FT_UINT32
, BASE_DEC
, VALS(its_HeightLonCarr_vals
), 0,
29457 "HeightLonCarr", HFILL
}},
29458 { &hf_denm_posLonCarrLeft
,
29459 { "posLonCarrLeft", "denm.posLonCarrLeft",
29460 FT_UINT32
, BASE_DEC
, VALS(its_PosLonCarr_vals
), 0,
29461 "PosLonCarr", HFILL
}},
29462 { &hf_denm_posLonCarrRight
,
29463 { "posLonCarrRight", "denm.posLonCarrRight",
29464 FT_UINT32
, BASE_DEC
, VALS(its_PosLonCarr_vals
), 0,
29465 "PosLonCarr", HFILL
}},
29466 { &hf_denm_positionOfPillars
,
29467 { "positionOfPillars", "denm.positionOfPillars",
29468 FT_UINT32
, BASE_DEC
, NULL
, 0,
29470 { &hf_denm_posCentMass
,
29471 { "posCentMass", "denm.posCentMass",
29472 FT_UINT32
, BASE_DEC
, VALS(its_PosCentMass_vals
), 0,
29474 { &hf_denm_wheelBaseVehicle
,
29475 { "wheelBaseVehicle", "denm.wheelBaseVehicle",
29476 FT_UINT32
, BASE_DEC
, VALS(its_WheelBaseVehicle_vals
), 0,
29478 { &hf_denm_turningRadius
,
29479 { "turningRadius", "denm.turningRadius",
29480 FT_UINT32
, BASE_DEC
, VALS(its_TurningRadius_vals
), 0,
29482 { &hf_denm_posFrontAx
,
29483 { "posFrontAx", "denm.posFrontAx",
29484 FT_UINT32
, BASE_DEC
, VALS(its_PosFrontAx_vals
), 0,
29486 { &hf_denm_positionOfOccupants
,
29487 { "positionOfOccupants", "denm.positionOfOccupants",
29488 FT_BYTES
, BASE_NONE
, NULL
, 0,
29490 { &hf_denm_vehicleMass
,
29491 { "vehicleMass", "denm.vehicleMass",
29492 FT_UINT32
, BASE_DEC
, VALS(its_VehicleMass_vals
), 0,
29494 { &hf_denm_requestResponseIndication
,
29495 { "requestResponseIndication", "denm.requestResponseIndication",
29496 FT_UINT32
, BASE_DEC
, VALS(its_RequestResponseIndication_vals
), 0,
29498 { &hf_denm_lightBarSirenInUse
,
29499 { "lightBarSirenInUse", "denm.lightBarSirenInUse",
29500 FT_BYTES
, BASE_NONE
, NULL
, 0,
29502 { &hf_denm_closedLanes
,
29503 { "closedLanes", "denm.closedLanes_element",
29504 FT_NONE
, BASE_NONE
, NULL
, 0,
29506 { &hf_denm_restriction
,
29507 { "restriction", "denm.restriction",
29508 FT_UINT32
, BASE_DEC
, NULL
, 0,
29509 "RestrictedTypes", HFILL
}},
29510 { &hf_denm_speedLimit
,
29511 { "speedLimit", "denm.speedLimit",
29512 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_limit_fmt
), 0,
29514 { &hf_denm_incidentIndication
,
29515 { "incidentIndication", "denm.incidentIndication_element",
29516 FT_NONE
, BASE_NONE
, NULL
, 0,
29517 "CauseCodeV2", HFILL
}},
29518 { &hf_denm_recommendedPath
,
29519 { "recommendedPath", "denm.recommendedPath",
29520 FT_UINT32
, BASE_DEC
, NULL
, 0,
29521 "ItineraryPath", HFILL
}},
29522 { &hf_denm_startingPointSpeedLimit
,
29523 { "startingPointSpeedLimit", "denm.startingPointSpeedLimit_element",
29524 FT_NONE
, BASE_NONE
, NULL
, 0,
29525 "DeltaReferencePosition", HFILL
}},
29526 { &hf_denm_trafficFlowRule
,
29527 { "trafficFlowRule", "denm.trafficFlowRule",
29528 FT_UINT32
, BASE_DEC
, VALS(its_TrafficRule_vals
), 0,
29529 "TrafficRule", HFILL
}},
29530 { &hf_denm_referenceDenms
,
29531 { "referenceDenms", "denm.referenceDenms",
29532 FT_UINT32
, BASE_DEC
, NULL
, 0,
29533 "ActionIdList", HFILL
}},
29534 { &hf_denm_stationarySince
,
29535 { "stationarySince", "denm.stationarySince",
29536 FT_UINT32
, BASE_DEC
, VALS(its_StationarySince_vals
), 0,
29538 { &hf_denm_stationaryCause
,
29539 { "stationaryCause", "denm.stationaryCause_element",
29540 FT_NONE
, BASE_NONE
, NULL
, 0,
29541 "CauseCodeV2", HFILL
}},
29542 { &hf_denm_carryingDangerousGoods
,
29543 { "carryingDangerousGoods", "denm.carryingDangerousGoods_element",
29544 FT_NONE
, BASE_NONE
, NULL
, 0,
29545 "DangerousGoodsExtended", HFILL
}},
29546 { &hf_denm_numberOfOccupants
,
29547 { "numberOfOccupants", "denm.numberOfOccupants",
29548 FT_UINT32
, BASE_DEC
, VALS(its_NumberOfOccupants_vals
), 0,
29550 { &hf_denm_vehicleIdentification
,
29551 { "vehicleIdentification", "denm.vehicleIdentification_element",
29552 FT_NONE
, BASE_NONE
, NULL
, 0,
29554 { &hf_denm_energyStorageType
,
29555 { "energyStorageType", "denm.energyStorageType",
29556 FT_BYTES
, BASE_NONE
, NULL
, 0,
29558 { &hf_denm_lanePosition
,
29559 { "lanePosition", "denm.lanePosition",
29560 FT_INT32
, BASE_DEC
, VALS(its_LanePosition_vals
), 0,
29562 { &hf_denm_impactReduction
,
29563 { "impactReduction", "denm.impactReduction_element",
29564 FT_NONE
, BASE_NONE
, NULL
, 0,
29565 "ImpactReductionContainer", HFILL
}},
29566 { &hf_denm_externalTemperature
,
29567 { "externalTemperature", "denm.externalTemperature",
29568 FT_INT32
, BASE_DEC
, VALS(its_Temperature_vals
), 0,
29569 "Temperature", HFILL
}},
29570 { &hf_denm_roadWorks
,
29571 { "roadWorks", "denm.roadWorks_element",
29572 FT_NONE
, BASE_NONE
, NULL
, 0,
29573 "RoadWorksContainerExtended", HFILL
}},
29574 { &hf_denm_positioningSolution
,
29575 { "positioningSolution", "denm.positioningSolution",
29576 FT_UINT32
, BASE_DEC
, VALS(its_PositioningSolutionType_vals
), 0,
29577 "PositioningSolutionType", HFILL
}},
29578 { &hf_denm_stationaryVehicle
,
29579 { "stationaryVehicle", "denm.stationaryVehicle_element",
29580 FT_NONE
, BASE_NONE
, NULL
, 0,
29581 "StationaryVehicleContainer", HFILL
}},
29583 /* --- Module TIS-TPG-Transactions-Descriptions --- --- --- */
29585 { &hf_tistpg_tistpg_TisTpgTransaction_PDU
,
29586 { "TisTpgTransaction", "tistpg.TisTpgTransaction",
29587 FT_UINT32
, BASE_DEC
, VALS(tistpg_TisTpgTransaction_vals
), 0,
29590 { "drm", "tistpg.drm_element",
29591 FT_NONE
, BASE_NONE
, NULL
, 0,
29592 "TisTpgDRM", HFILL
}},
29594 { "snm", "tistpg.snm_element",
29595 FT_NONE
, BASE_NONE
, NULL
, 0,
29596 "TisTpgSNM", HFILL
}},
29598 { "trm", "tistpg.trm_element",
29599 FT_NONE
, BASE_NONE
, NULL
, 0,
29600 "TisTpgTRM", HFILL
}},
29602 { "tcm", "tistpg.tcm_element",
29603 FT_NONE
, BASE_NONE
, NULL
, 0,
29604 "TisTpgTCM", HFILL
}},
29606 { "vdrm", "tistpg.vdrm_element",
29607 FT_NONE
, BASE_NONE
, NULL
, 0,
29608 "TisTpgVDRM", HFILL
}},
29610 { "vdpm", "tistpg.vdpm_element",
29611 FT_NONE
, BASE_NONE
, NULL
, 0,
29612 "TisTpgVDPM", HFILL
}},
29614 { "eofm", "tistpg.eofm_element",
29615 FT_NONE
, BASE_NONE
, NULL
, 0,
29616 "TisTpgEOFM", HFILL
}},
29617 { &hf_tistpg_drmManagement
,
29618 { "management", "tistpg.management_element",
29619 FT_NONE
, BASE_NONE
, NULL
, 0,
29620 "TisTpgDRM_Management", HFILL
}},
29621 { &hf_tistpg_drmSituation
,
29622 { "situation", "tistpg.situation_element",
29623 FT_NONE
, BASE_NONE
, NULL
, 0,
29624 "TisTpgDRM_Situation", HFILL
}},
29625 { &hf_tistpg_drmLocation
,
29626 { "location", "tistpg.location_element",
29627 FT_NONE
, BASE_NONE
, NULL
, 0,
29628 "TisTpgDRM_Location", HFILL
}},
29629 { &hf_tistpg_generationTime
,
29630 { "generationTime", "tistpg.generationTime",
29631 FT_UINT64
, BASE_CUSTOM
, CF_FUNC(its_timestamp_fmt
), 0,
29632 "TimestampIts", HFILL
}},
29633 { &hf_tistpg_vehicleType
,
29634 { "vehicleType", "tistpg.vehicleType",
29635 FT_UINT32
, BASE_DEC
, VALS(tistpg_UNVehicleClassifcation_vals
), 0,
29636 "UNVehicleClassifcation", HFILL
}},
29637 { &hf_tistpg_costumerContract
,
29638 { "costumerContract", "tistpg.costumerContract",
29639 FT_STRING
, BASE_NONE
, NULL
, 0,
29640 "CustomerContract", HFILL
}},
29641 { &hf_tistpg_tisProfile
,
29642 { "tisProfile", "tistpg.tisProfile",
29643 FT_BYTES
, BASE_NONE
, NULL
, 0,
29645 { &hf_tistpg_causeCode
,
29646 { "causeCode", "tistpg.causeCode_element",
29647 FT_NONE
, BASE_NONE
, NULL
, 0,
29649 { &hf_tistpg_vehiclePosition
,
29650 { "vehiclePosition", "tistpg.vehiclePosition_element",
29651 FT_NONE
, BASE_NONE
, NULL
, 0,
29652 "ReferencePosition", HFILL
}},
29653 { &hf_tistpg_vehicleSpeed
,
29654 { "vehicleSpeed", "tistpg.vehicleSpeed_element",
29655 FT_NONE
, BASE_NONE
, NULL
, 0,
29657 { &hf_tistpg_vehicleHeading
,
29658 { "vehicleHeading", "tistpg.vehicleHeading_element",
29659 FT_NONE
, BASE_NONE
, NULL
, 0,
29660 "Heading", HFILL
}},
29661 { &hf_tistpg_requestedPosition
,
29662 { "requestedPosition", "tistpg.requestedPosition_element",
29663 FT_NONE
, BASE_NONE
, NULL
, 0,
29664 "ReferencePosition", HFILL
}},
29665 { &hf_tistpg_searchRange
,
29666 { "searchRange", "tistpg.searchRange",
29667 FT_UINT32
, BASE_DEC
, NULL
, 0,
29669 { &hf_tistpg_searchCondition
,
29670 { "searchCondition", "tistpg.searchCondition",
29671 FT_UINT32
, BASE_DEC
, VALS(tistpg_SearchCondition_vals
), 0,
29673 { &hf_tistpg_snmManagement
,
29674 { "management", "tistpg.management_element",
29675 FT_NONE
, BASE_NONE
, NULL
, 0,
29676 "TisTpgSNM_Management", HFILL
}},
29677 { &hf_tistpg_tpgContainer
,
29678 { "tpgContainer", "tistpg.tpgContainer",
29679 FT_UINT32
, BASE_DEC
, NULL
, 0,
29680 "TpgNotifContainer", HFILL
}},
29681 { &hf_tistpg_totalTpgStations
,
29682 { "totalTpgStations", "tistpg.totalTpgStations",
29683 FT_UINT32
, BASE_DEC
, NULL
, 0,
29685 { &hf_tistpg_trmManagement
,
29686 { "management", "tistpg.management_element",
29687 FT_NONE
, BASE_NONE
, NULL
, 0,
29688 "TisTpgTRM_Management", HFILL
}},
29689 { &hf_tistpg_trmSituation
,
29690 { "situation", "tistpg.situation_element",
29691 FT_NONE
, BASE_NONE
, NULL
, 0,
29692 "TisTpgTRM_Situation", HFILL
}},
29693 { &hf_tistpg_trmLocation
,
29694 { "location", "tistpg.location_element",
29695 FT_NONE
, BASE_NONE
, NULL
, 0,
29696 "TisTpgTRM_Location", HFILL
}},
29697 { &hf_tistpg_tpgStationID
,
29698 { "tpgStationID", "tistpg.tpgStationID",
29699 FT_UINT32
, BASE_DEC
, NULL
, 0,
29700 "StationID", HFILL
}},
29701 { &hf_tistpg_reservationStatus
,
29702 { "reservationStatus", "tistpg.reservationStatus",
29703 FT_UINT32
, BASE_DEC
, VALS(tistpg_ReservationStatus_vals
), 0,
29705 { &hf_tistpg_costumercontract
,
29706 { "costumercontract", "tistpg.costumercontract",
29707 FT_STRING
, BASE_NONE
, NULL
, 0,
29708 "CustomerContract", HFILL
}},
29709 { &hf_tistpg_reservationID
,
29710 { "reservationID", "tistpg.reservationID",
29711 FT_STRING
, BASE_NONE
, NULL
, 0,
29713 { &hf_tistpg_estArrivalTime
,
29714 { "estArrivalTime", "tistpg.estArrivalTime",
29715 FT_UINT64
, BASE_CUSTOM
, CF_FUNC(its_timestamp_fmt
), 0,
29716 "TimestampIts", HFILL
}},
29717 { &hf_tistpg_proposedPairingID
,
29718 { "proposedPairingID", "tistpg.proposedPairingID",
29719 FT_UINT32
, BASE_DEC
, NULL
, 0,
29720 "PairingID", HFILL
}},
29721 { &hf_tistpg_tcmManagement
,
29722 { "management", "tistpg.management_element",
29723 FT_NONE
, BASE_NONE
, NULL
, 0,
29724 "TisTpgTCM_Management", HFILL
}},
29725 { &hf_tistpg_tcmSituation
,
29726 { "situation", "tistpg.situation_element",
29727 FT_NONE
, BASE_NONE
, NULL
, 0,
29728 "TisTpgTCM_Situation", HFILL
}},
29729 { &hf_tistpg_tcmLocation
,
29730 { "location", "tistpg.location_element",
29731 FT_NONE
, BASE_NONE
, NULL
, 0,
29732 "TisTpgTCM_Location", HFILL
}},
29733 { &hf_tistpg_reservedTpg
,
29734 { "reservedTpg", "tistpg.reservedTpg",
29735 FT_UINT32
, BASE_DEC
, NULL
, 0,
29736 "INTEGER_1_65535", HFILL
}},
29737 { &hf_tistpg_tpgAutomationLevel
,
29738 { "tpgAutomationLevel", "tistpg.tpgAutomationLevel",
29739 FT_BYTES
, BASE_NONE
, NULL
, 0,
29740 "TpgAutomation", HFILL
}},
29741 { &hf_tistpg_pairingID
,
29742 { "pairingID", "tistpg.pairingID",
29743 FT_UINT32
, BASE_DEC
, NULL
, 0,
29745 { &hf_tistpg_reservationTimeLimit
,
29746 { "reservationTimeLimit", "tistpg.reservationTimeLimit",
29747 FT_UINT64
, BASE_CUSTOM
, CF_FUNC(its_timestamp_fmt
), 0,
29748 "TimestampIts", HFILL
}},
29749 { &hf_tistpg_cancellationCondition
,
29750 { "cancellationCondition", "tistpg.cancellationCondition",
29751 FT_STRING
, BASE_NONE
, NULL
, 0,
29753 { &hf_tistpg_tpgLocation
,
29754 { "tpgLocation", "tistpg.tpgLocation_element",
29755 FT_NONE
, BASE_NONE
, NULL
, 0,
29756 "ReferencePosition", HFILL
}},
29757 { &hf_tistpg_address
,
29758 { "address", "tistpg.address",
29759 FT_STRING
, BASE_NONE
, NULL
, 0,
29760 "UTF8String_SIZE_1_128", HFILL
}},
29761 { &hf_tistpg_vdrmManagement
,
29762 { "management", "tistpg.management_element",
29763 FT_NONE
, BASE_NONE
, NULL
, 0,
29764 "TisTpgVDRM_Management", HFILL
}},
29765 { &hf_tistpg_fillingStatus
,
29766 { "fillingStatus", "tistpg.fillingStatus",
29767 FT_UINT32
, BASE_DEC
, VALS(tistpg_FillingStatus_vals
), 0,
29769 { &hf_tistpg_automationLevel
,
29770 { "automationLevel", "tistpg.automationLevel",
29771 FT_BYTES
, BASE_NONE
, NULL
, 0,
29772 "TpgAutomation", HFILL
}},
29773 { &hf_tistpg_vdpmManagement
,
29774 { "management", "tistpg.management_element",
29775 FT_NONE
, BASE_NONE
, NULL
, 0,
29776 "TisTpgVDPM_Management", HFILL
}},
29777 { &hf_tistpg_placardTable
,
29778 { "placardTable", "tistpg.placardTable",
29779 FT_UINT32
, BASE_DEC
, NULL
, 0,
29781 { &hf_tistpg_vehicleSpecificData
,
29782 { "vehicleSpecificData", "tistpg.vehicleSpecificData_element",
29783 FT_NONE
, BASE_NONE
, NULL
, 0,
29785 { &hf_tistpg_language
,
29786 { "language", "tistpg.language",
29787 FT_BYTES
, BASE_NONE
, NULL
, 0,
29789 { &hf_tistpg_tyreTempCondition
,
29790 { "tyreTempCondition", "tistpg.tyreTempCondition",
29791 FT_UINT32
, BASE_DEC
, VALS(tistpg_TyreTempCondition_vals
), 0,
29793 { &hf_tistpg_currentVehicleConfiguration
,
29794 { "currentVehicleConfiguration", "tistpg.currentVehicleConfiguration",
29795 FT_BYTES
, BASE_NONE
, NULL
, 0,
29796 "PressureConfiguration", HFILL
}},
29797 { &hf_tistpg_frontLeftTyreData
,
29798 { "frontLeftTyreData", "tistpg.frontLeftTyreData_element",
29799 FT_NONE
, BASE_NONE
, NULL
, 0,
29800 "TyreData", HFILL
}},
29801 { &hf_tistpg_frontRightTyreData
,
29802 { "frontRightTyreData", "tistpg.frontRightTyreData_element",
29803 FT_NONE
, BASE_NONE
, NULL
, 0,
29804 "TyreData", HFILL
}},
29805 { &hf_tistpg_rearLeftTyreData
,
29806 { "rearLeftTyreData", "tistpg.rearLeftTyreData_element",
29807 FT_NONE
, BASE_NONE
, NULL
, 0,
29808 "TyreData", HFILL
}},
29809 { &hf_tistpg_rearRightTyreData
,
29810 { "rearRightTyreData", "tistpg.rearRightTyreData_element",
29811 FT_NONE
, BASE_NONE
, NULL
, 0,
29812 "TyreData", HFILL
}},
29813 { &hf_tistpg_spareTyreData
,
29814 { "spareTyreData", "tistpg.spareTyreData_element",
29815 FT_NONE
, BASE_NONE
, NULL
, 0,
29816 "TyreData", HFILL
}},
29817 { &hf_tistpg_eofmManagement
,
29818 { "management", "tistpg.management_element",
29819 FT_NONE
, BASE_NONE
, NULL
, 0,
29820 "TisTpgEOFM_Management", HFILL
}},
29821 { &hf_tistpg_numberOfAppliedPressure
,
29822 { "numberOfAppliedPressure", "tistpg.numberOfAppliedPressure",
29823 FT_UINT32
, BASE_DEC
, VALS(tistpg_NumberOfAppliedPressure_vals
), 0,
29825 { &hf_tistpg_appliedTyrePressures
,
29826 { "appliedTyrePressures", "tistpg.appliedTyrePressures",
29827 FT_UINT32
, BASE_DEC
, NULL
, 0,
29829 { &hf_tistpg_PlacardTable_item
,
29830 { "TyreSetVariant", "tistpg.TyreSetVariant_element",
29831 FT_NONE
, BASE_NONE
, NULL
, 0,
29833 { &hf_tistpg_variantID
,
29834 { "variantID", "tistpg.variantID",
29835 FT_UINT32
, BASE_DEC
, NULL
, 0,
29836 "TyreSetVariantID", HFILL
}},
29837 { &hf_tistpg_frontAxleDimension
,
29838 { "frontAxleDimension", "tistpg.frontAxleDimension",
29839 FT_BYTES
, BASE_NONE
, NULL
, 0,
29840 "TyreSidewallInformation", HFILL
}},
29841 { &hf_tistpg_rearAxleDimension
,
29842 { "rearAxleDimension", "tistpg.rearAxleDimension",
29843 FT_BYTES
, BASE_NONE
, NULL
, 0,
29844 "TyreSidewallInformation", HFILL
}},
29845 { &hf_tistpg_pressureVariantsList
,
29846 { "pressureVariantsList", "tistpg.pressureVariantsList",
29847 FT_UINT32
, BASE_DEC
, NULL
, 0,
29849 { &hf_tistpg_PressureVariantsList_item
,
29850 { "PressureVariant", "tistpg.PressureVariant_element",
29851 FT_NONE
, BASE_NONE
, NULL
, 0,
29853 { &hf_tistpg_pressureConfiguration
,
29854 { "pressureConfiguration", "tistpg.pressureConfiguration",
29855 FT_BYTES
, BASE_NONE
, NULL
, 0,
29857 { &hf_tistpg_frontAxlePressure
,
29858 { "frontAxlePressure", "tistpg.frontAxlePressure",
29859 FT_UINT32
, BASE_DEC
, VALS(tistpg_AxlePlacardPressure_vals
), 0,
29860 "AxlePlacardPressure", HFILL
}},
29861 { &hf_tistpg_rearAxlePressure
,
29862 { "rearAxlePressure", "tistpg.rearAxlePressure",
29863 FT_UINT32
, BASE_DEC
, VALS(tistpg_AxlePlacardPressure_vals
), 0,
29864 "AxlePlacardPressure", HFILL
}},
29865 { &hf_tistpg_currentTyrePressure
,
29866 { "currentTyrePressure", "tistpg.currentTyrePressure",
29867 FT_UINT32
, BASE_DEC
, VALS(tistpg_T_currentTyrePressure_vals
), 0,
29869 { &hf_tistpg_tyrePressureValue
,
29870 { "tyrePressureValue", "tistpg.tyrePressureValue",
29871 FT_UINT32
, BASE_DEC
, VALS(tistpg_TyrePressure_vals
), 0,
29872 "TyrePressure", HFILL
}},
29873 { &hf_tistpg_unavailable
,
29874 { "unavailable", "tistpg.unavailable_element",
29875 FT_NONE
, BASE_NONE
, NULL
, 0,
29877 { &hf_tistpg_tyreSidewallInformation
,
29878 { "tyreSidewallInformation", "tistpg.tyreSidewallInformation",
29879 FT_UINT32
, BASE_DEC
, VALS(tistpg_T_tyreSidewallInformation_vals
), 0,
29881 { &hf_tistpg_tyreSidewallInformationValue
,
29882 { "tyreSidewallInformationValue", "tistpg.tyreSidewallInformationValue",
29883 FT_BYTES
, BASE_NONE
, NULL
, 0,
29884 "TyreSidewallInformation", HFILL
}},
29885 { &hf_tistpg_currentInsideAirTemperature
,
29886 { "currentInsideAirTemperature", "tistpg.currentInsideAirTemperature",
29887 FT_UINT32
, BASE_DEC
, VALS(tistpg_T_currentInsideAirTemperature_vals
), 0,
29889 { &hf_tistpg_tyreAirTemperatureValue
,
29890 { "tyreAirTemperatureValue", "tistpg.tyreAirTemperatureValue",
29891 FT_UINT32
, BASE_DEC
, VALS(tistpg_TyreAirTemperature_vals
), 0,
29892 "TyreAirTemperature", HFILL
}},
29893 { &hf_tistpg_recommendedTyrePressure
,
29894 { "recommendedTyrePressure", "tistpg.recommendedTyrePressure",
29895 FT_UINT32
, BASE_DEC
, VALS(tistpg_T_recommendedTyrePressure_vals
), 0,
29897 { &hf_tistpg_axlePlacardPressureValue
,
29898 { "axlePlacardPressureValue", "tistpg.axlePlacardPressureValue",
29899 FT_UINT32
, BASE_DEC
, VALS(tistpg_AxlePlacardPressure_vals
), 0,
29900 "AxlePlacardPressure", HFILL
}},
29902 { "tin", "tistpg.tin",
29903 FT_UINT32
, BASE_DEC
, VALS(tistpg_T_tin_vals
), 0,
29905 { &hf_tistpg_tinValue
,
29906 { "tinValue", "tistpg.tinValue",
29907 FT_BYTES
, BASE_NONE
, NULL
, 0,
29909 { &hf_tistpg_sensorState
,
29910 { "sensorState", "tistpg.sensorState",
29911 FT_UINT32
, BASE_DEC
, VALS(tistpg_T_sensorState_vals
), 0,
29913 { &hf_tistpg_sensorStateValue
,
29914 { "sensorStateValue", "tistpg.sensorStateValue",
29915 FT_UINT32
, BASE_DEC
, VALS(tistpg_SensorState_vals
), 0,
29916 "SensorState", HFILL
}},
29917 { &hf_tistpg_tpgNumber
,
29918 { "tpgNumber", "tistpg.tpgNumber",
29919 FT_UINT32
, BASE_DEC
, NULL
, 0,
29921 { &hf_tistpg_tpgProvider
,
29922 { "tpgProvider", "tistpg.tpgProvider",
29923 FT_STRING
, BASE_NONE
, NULL
, 0,
29925 { &hf_tistpg_accessibility
,
29926 { "accessibility", "tistpg.accessibility",
29927 FT_STRING
, BASE_NONE
, NULL
, 0,
29929 { &hf_tistpg_phoneNumber
,
29930 { "phoneNumber", "tistpg.phoneNumber",
29931 FT_STRING
, BASE_NONE
, NULL
, 0,
29933 { &hf_tistpg_digitalMap
,
29934 { "digitalMap", "tistpg.digitalMap",
29935 FT_UINT32
, BASE_DEC
, NULL
, 0,
29937 { &hf_tistpg_openingDaysHours
,
29938 { "openingDaysHours", "tistpg.openingDaysHours",
29939 FT_STRING
, BASE_NONE
, NULL
, 0,
29941 { &hf_tistpg_bookingInfo
,
29942 { "bookingInfo", "tistpg.bookingInfo",
29943 FT_STRING
, BASE_NONE
, NULL
, 0,
29945 { &hf_tistpg_availableTpgNumber
,
29946 { "availableTpgNumber", "tistpg.availableTpgNumber",
29947 FT_UINT32
, BASE_DEC
, NULL
, 0,
29949 { &hf_tistpg_AppliedTyrePressures_item
,
29950 { "AppliedTyrePressure", "tistpg.AppliedTyrePressure",
29951 FT_UINT32
, BASE_DEC
, VALS(tistpg_AppliedTyrePressure_vals
), 0,
29953 { &hf_tistpg_TpgNotifContainer_item
,
29954 { "TpgStationData", "tistpg.TpgStationData_element",
29955 FT_NONE
, BASE_NONE
, NULL
, 0,
29957 { &hf_tistpg_TpgAutomation_fullAutomated
,
29958 { "fullAutomated", "tistpg.TpgAutomation.fullAutomated",
29959 FT_BOOLEAN
, 8, NULL
, 0x80,
29961 { &hf_tistpg_TpgAutomation_semiAutomated
,
29962 { "semiAutomated", "tistpg.TpgAutomation.semiAutomated",
29963 FT_BOOLEAN
, 8, NULL
, 0x40,
29965 { &hf_tistpg_TpgAutomation_manual
,
29966 { "manual", "tistpg.TpgAutomation.manual",
29967 FT_BOOLEAN
, 8, NULL
, 0x20,
29969 { &hf_tistpg_TpgAutomation_reserved
,
29970 { "reserved", "tistpg.TpgAutomation.reserved",
29971 FT_BOOLEAN
, 8, NULL
, 0x10,
29973 { &hf_tistpg_TisProfile_reserved
,
29974 { "reserved", "tistpg.TisProfile.reserved",
29975 FT_BOOLEAN
, 8, NULL
, 0x80,
29977 { &hf_tistpg_TisProfile_profileOne
,
29978 { "profileOne", "tistpg.TisProfile.profileOne",
29979 FT_BOOLEAN
, 8, NULL
, 0x40,
29981 { &hf_tistpg_TisProfile_profileTwo
,
29982 { "profileTwo", "tistpg.TisProfile.profileTwo",
29983 FT_BOOLEAN
, 8, NULL
, 0x20,
29985 { &hf_tistpg_TisProfile_profileThree
,
29986 { "profileThree", "tistpg.TisProfile.profileThree",
29987 FT_BOOLEAN
, 8, NULL
, 0x10,
29990 /* --- Module EVCSN-PDU-Descriptions --- --- --- */
29992 { &hf_evcsn_evcsn_EVChargingSpotNotificationPOIMessage_PDU
,
29993 { "EVChargingSpotNotificationPOIMessage", "evcsn.EVChargingSpotNotificationPOIMessage_element",
29994 FT_NONE
, BASE_NONE
, NULL
, 0,
29996 { &hf_evcsn_poiHeader
,
29997 { "poiHeader", "evcsn.poiHeader_element",
29998 FT_NONE
, BASE_NONE
, NULL
, 0,
29999 "ItsPOIHeader", HFILL
}},
30000 { &hf_evcsn_evcsnData
,
30001 { "evcsnData", "evcsn.evcsnData_element",
30002 FT_NONE
, BASE_NONE
, NULL
, 0,
30003 "ItsEVCSNData", HFILL
}},
30004 { &hf_evcsn_poiType
,
30005 { "poiType", "evcsn.poiType",
30006 FT_UINT32
, BASE_DEC
, NULL
, 0,
30008 { &hf_evcsn_timeStamp
,
30009 { "timeStamp", "evcsn.timeStamp",
30010 FT_UINT64
, BASE_CUSTOM
, CF_FUNC(its_timestamp_fmt
), 0,
30011 "TimestampIts", HFILL
}},
30012 { &hf_evcsn_relayCapable
,
30013 { "relayCapable", "evcsn.relayCapable",
30014 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
30015 "BOOLEAN", HFILL
}},
30016 { &hf_evcsn_totalNumberOfStations
,
30017 { "totalNumberOfStations", "evcsn.totalNumberOfStations",
30018 FT_UINT32
, BASE_DEC
, NULL
, 0,
30019 "NumberStations", HFILL
}},
30020 { &hf_evcsn_chargingStationsData
,
30021 { "chargingStationsData", "evcsn.chargingStationsData",
30022 FT_UINT32
, BASE_DEC
, NULL
, 0,
30023 "SEQUENCE_SIZE_1_256_OF_ItsChargingStationData", HFILL
}},
30024 { &hf_evcsn_chargingStationsData_item
,
30025 { "ItsChargingStationData", "evcsn.ItsChargingStationData_element",
30026 FT_NONE
, BASE_NONE
, NULL
, 0,
30028 { &hf_evcsn_chargingStationID
,
30029 { "chargingStationID", "evcsn.chargingStationID",
30030 FT_UINT32
, BASE_DEC
, NULL
, 0,
30031 "StationID", HFILL
}},
30032 { &hf_evcsn_utilityDistributorId
,
30033 { "utilityDistributorId", "evcsn.utilityDistributorId",
30034 FT_STRING
, BASE_NONE
, NULL
, 0,
30035 "UTF8String_SIZE_1_32", HFILL
}},
30036 { &hf_evcsn_providerID
,
30037 { "providerID", "evcsn.providerID",
30038 FT_STRING
, BASE_NONE
, NULL
, 0,
30039 "UTF8String_SIZE_1_32", HFILL
}},
30040 { &hf_evcsn_chargingStationLocation
,
30041 { "chargingStationLocation", "evcsn.chargingStationLocation_element",
30042 FT_NONE
, BASE_NONE
, NULL
, 0,
30043 "ReferencePosition", HFILL
}},
30044 { &hf_evcsn_address
,
30045 { "address", "evcsn.address",
30046 FT_STRING
, BASE_NONE
, NULL
, 0,
30047 "UTF8String", HFILL
}},
30048 { &hf_evcsn_phoneNumber
,
30049 { "phoneNumber", "evcsn.phoneNumber",
30050 FT_STRING
, BASE_NONE
, NULL
, 0,
30051 "NumericString_SIZE_1_16", HFILL
}},
30052 { &hf_evcsn_accessibility
,
30053 { "accessibility", "evcsn.accessibility",
30054 FT_STRING
, BASE_NONE
, NULL
, 0,
30055 "UTF8String_SIZE_1_32", HFILL
}},
30056 { &hf_evcsn_digitalMap
,
30057 { "digitalMap", "evcsn.digitalMap",
30058 FT_UINT32
, BASE_DEC
, NULL
, 0,
30060 { &hf_evcsn_openingDaysHours
,
30061 { "openingDaysHours", "evcsn.openingDaysHours",
30062 FT_STRING
, BASE_NONE
, NULL
, 0,
30063 "UTF8String", HFILL
}},
30064 { &hf_evcsn_pricing
,
30065 { "pricing", "evcsn.pricing",
30066 FT_STRING
, BASE_NONE
, NULL
, 0,
30067 "UTF8String", HFILL
}},
30068 { &hf_evcsn_bookingContactInfo
,
30069 { "bookingContactInfo", "evcsn.bookingContactInfo",
30070 FT_STRING
, BASE_NONE
, NULL
, 0,
30071 "UTF8String", HFILL
}},
30072 { &hf_evcsn_payment
,
30073 { "payment", "evcsn.payment",
30074 FT_STRING
, BASE_NONE
, NULL
, 0,
30075 "UTF8String", HFILL
}},
30076 { &hf_evcsn_chargingSpotsAvailable
,
30077 { "chargingSpotsAvailable", "evcsn.chargingSpotsAvailable",
30078 FT_UINT32
, BASE_DEC
, NULL
, 0,
30079 "ItsChargingSpots", HFILL
}},
30080 { &hf_evcsn_ItsChargingSpots_item
,
30081 { "ItsChargingSpotDataElements", "evcsn.ItsChargingSpotDataElements_element",
30082 FT_NONE
, BASE_NONE
, NULL
, 0,
30085 { "type", "evcsn.type",
30086 FT_BYTES
, BASE_NONE
, NULL
, 0,
30087 "ChargingSpotType", HFILL
}},
30088 { &hf_evcsn_evEquipmentID
,
30089 { "evEquipmentID", "evcsn.evEquipmentID",
30090 FT_STRING
, BASE_NONE
, NULL
, 0,
30091 "UTF8String", HFILL
}},
30092 { &hf_evcsn_typeOfReceptacle
,
30093 { "typeOfReceptacle", "evcsn.typeOfReceptacle",
30094 FT_BYTES
, BASE_NONE
, NULL
, 0,
30096 { &hf_evcsn_energyAvailability
,
30097 { "energyAvailability", "evcsn.energyAvailability",
30098 FT_STRING
, BASE_NONE
, NULL
, 0,
30099 "UTF8String", HFILL
}},
30100 { &hf_evcsn_parkingPlacesData
,
30101 { "parkingPlacesData", "evcsn.parkingPlacesData",
30102 FT_UINT32
, BASE_DEC
, NULL
, 0,
30104 { &hf_evcsn_ParkingPlacesData_item
,
30105 { "SpotAvailability", "evcsn.SpotAvailability_element",
30106 FT_NONE
, BASE_NONE
, NULL
, 0,
30108 { &hf_evcsn_maxWaitingTimeMinutes
,
30109 { "maxWaitingTimeMinutes", "evcsn.maxWaitingTimeMinutes",
30110 FT_UINT32
, BASE_DEC
, NULL
, 0,
30111 "INTEGER_0_1400", HFILL
}},
30112 { &hf_evcsn_blocking
,
30113 { "blocking", "evcsn.blocking",
30114 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
30115 "BOOLEAN", HFILL
}},
30116 { &hf_evcsn_ChargingSpotType_standardChargeMode1
,
30117 { "standardChargeMode1", "evcsn.ChargingSpotType.standardChargeMode1",
30118 FT_BOOLEAN
, 8, NULL
, 0x80,
30120 { &hf_evcsn_ChargingSpotType_standardChargeMode2
,
30121 { "standardChargeMode2", "evcsn.ChargingSpotType.standardChargeMode2",
30122 FT_BOOLEAN
, 8, NULL
, 0x40,
30124 { &hf_evcsn_ChargingSpotType_standardOrFastChargeMode3
,
30125 { "standardOrFastChargeMode3", "evcsn.ChargingSpotType.standardOrFastChargeMode3",
30126 FT_BOOLEAN
, 8, NULL
, 0x20,
30128 { &hf_evcsn_ChargingSpotType_fastChargeWithExternalCharger
,
30129 { "fastChargeWithExternalCharger", "evcsn.ChargingSpotType.fastChargeWithExternalCharger",
30130 FT_BOOLEAN
, 8, NULL
, 0x10,
30132 { &hf_evcsn_ChargingSpotType_spare_bit4
,
30133 { "spare_bit4", "evcsn.ChargingSpotType.spare.bit4",
30134 FT_BOOLEAN
, 8, NULL
, 0x08,
30136 { &hf_evcsn_ChargingSpotType_spare_bit5
,
30137 { "spare_bit5", "evcsn.ChargingSpotType.spare.bit5",
30138 FT_BOOLEAN
, 8, NULL
, 0x04,
30140 { &hf_evcsn_ChargingSpotType_spare_bit6
,
30141 { "spare_bit6", "evcsn.ChargingSpotType.spare.bit6",
30142 FT_BOOLEAN
, 8, NULL
, 0x02,
30144 { &hf_evcsn_ChargingSpotType_spare_bit7
,
30145 { "spare_bit7", "evcsn.ChargingSpotType.spare.bit7",
30146 FT_BOOLEAN
, 8, NULL
, 0x01,
30148 { &hf_evcsn_ChargingSpotType_quickDrop
,
30149 { "quickDrop", "evcsn.ChargingSpotType.quickDrop",
30150 FT_BOOLEAN
, 8, NULL
, 0x80,
30152 { &hf_evcsn_ChargingSpotType_spare_bit9
,
30153 { "spare_bit9", "evcsn.ChargingSpotType.spare.bit9",
30154 FT_BOOLEAN
, 8, NULL
, 0x40,
30156 { &hf_evcsn_ChargingSpotType_spare_bit10
,
30157 { "spare_bit10", "evcsn.ChargingSpotType.spare.bit10",
30158 FT_BOOLEAN
, 8, NULL
, 0x20,
30160 { &hf_evcsn_ChargingSpotType_spare_bit11
,
30161 { "spare_bit11", "evcsn.ChargingSpotType.spare.bit11",
30162 FT_BOOLEAN
, 8, NULL
, 0x10,
30164 { &hf_evcsn_ChargingSpotType_inductiveChargeWhileStationary
,
30165 { "inductiveChargeWhileStationary", "evcsn.ChargingSpotType.inductiveChargeWhileStationary",
30166 FT_BOOLEAN
, 8, NULL
, 0x08,
30168 { &hf_evcsn_ChargingSpotType_spare_bit13
,
30169 { "spare_bit13", "evcsn.ChargingSpotType.spare.bit13",
30170 FT_BOOLEAN
, 8, NULL
, 0x04,
30172 { &hf_evcsn_ChargingSpotType_inductiveChargeWhileDriving
,
30173 { "inductiveChargeWhileDriving", "evcsn.ChargingSpotType.inductiveChargeWhileDriving",
30174 FT_BOOLEAN
, 8, NULL
, 0x02,
30177 /* --- Module EV-RechargingSpotReservation-PDU-Descriptions --- --- --- */
30179 { &hf_evrsr_evrsr_EV_RSR_MessageBody_PDU
,
30180 { "EV-RSR-MessageBody", "evrsr.EV_RSR_MessageBody",
30181 FT_UINT32
, BASE_DEC
, VALS(evrsr_EV_RSR_MessageBody_vals
), 0,
30183 { &hf_evrsr_preReservationRequestMessage
,
30184 { "preReservationRequestMessage", "evrsr.preReservationRequestMessage_element",
30185 FT_NONE
, BASE_NONE
, NULL
, 0,
30187 { &hf_evrsr_preReservationResponseMessage
,
30188 { "preReservationResponseMessage", "evrsr.preReservationResponseMessage_element",
30189 FT_NONE
, BASE_NONE
, NULL
, 0,
30191 { &hf_evrsr_reservationRequestMessage
,
30192 { "reservationRequestMessage", "evrsr.reservationRequestMessage_element",
30193 FT_NONE
, BASE_NONE
, NULL
, 0,
30195 { &hf_evrsr_reservationResponseMessage
,
30196 { "reservationResponseMessage", "evrsr.reservationResponseMessage_element",
30197 FT_NONE
, BASE_NONE
, NULL
, 0,
30199 { &hf_evrsr_cancellationRequestMessage
,
30200 { "cancellationRequestMessage", "evrsr.cancellationRequestMessage_element",
30201 FT_NONE
, BASE_NONE
, NULL
, 0,
30203 { &hf_evrsr_cancellationResponseMessage
,
30204 { "cancellationResponseMessage", "evrsr.cancellationResponseMessage_element",
30205 FT_NONE
, BASE_NONE
, NULL
, 0,
30207 { &hf_evrsr_updateRequestMessage
,
30208 { "updateRequestMessage", "evrsr.updateRequestMessage_element",
30209 FT_NONE
, BASE_NONE
, NULL
, 0,
30211 { &hf_evrsr_updateResponseMessage
,
30212 { "updateResponseMessage", "evrsr.updateResponseMessage_element",
30213 FT_NONE
, BASE_NONE
, NULL
, 0,
30215 { &hf_evrsr_evse_ID
,
30216 { "evse-ID", "evrsr.evse_ID",
30217 FT_BYTES
, BASE_NONE
, NULL
, 0,
30219 { &hf_evrsr_arrivalTime
,
30220 { "arrivalTime", "evrsr.arrivalTime",
30221 FT_INT32
, BASE_DEC
, VALS(evrsr_TimestampUTC_vals
), 0,
30222 "TimestampUTC", HFILL
}},
30223 { &hf_evrsr_departureTime
,
30224 { "departureTime", "evrsr.departureTime",
30225 FT_INT32
, BASE_DEC
, VALS(evrsr_TimestampUTC_vals
), 0,
30226 "TimestampUTC", HFILL
}},
30227 { &hf_evrsr_rechargingType
,
30228 { "rechargingType", "evrsr.rechargingType_element",
30229 FT_NONE
, BASE_NONE
, NULL
, 0,
30231 { &hf_evrsr_batteryType
,
30232 { "batteryType", "evrsr.batteryType",
30233 FT_STRING
, BASE_NONE
, NULL
, 0,
30235 { &hf_evrsr_preReservation_ID
,
30236 { "preReservation-ID", "evrsr.preReservation_ID",
30237 FT_STRING
, BASE_NONE
, NULL
, 0,
30239 { &hf_evrsr_availabilityStatus
,
30240 { "availabilityStatus", "evrsr.availabilityStatus",
30241 FT_UINT32
, BASE_DEC
, VALS(evrsr_AvailabilityStatus_vals
), 0,
30243 { &hf_evrsr_preReservationExpirationTime
,
30244 { "preReservationExpirationTime", "evrsr.preReservationExpirationTime",
30245 FT_INT32
, BASE_DEC
, VALS(evrsr_TimestampUTC_vals
), 0,
30246 "TimestampUTC", HFILL
}},
30247 { &hf_evrsr_supportedPaymentTypes
,
30248 { "supportedPaymentTypes", "evrsr.supportedPaymentTypes",
30249 FT_BYTES
, BASE_NONE
, NULL
, 0,
30251 { &hf_evrsr_currentTime
,
30252 { "currentTime", "evrsr.currentTime",
30253 FT_INT32
, BASE_DEC
, VALS(evrsr_TimestampUTC_vals
), 0,
30254 "TimestampUTC", HFILL
}},
30255 { &hf_evrsr_eAmount
,
30256 { "eAmount", "evrsr.eAmount",
30257 FT_UINT32
, BASE_DEC
, VALS(evrsr_EAmount_vals
), 0,
30259 { &hf_evrsr_eAmountMin
,
30260 { "eAmountMin", "evrsr.eAmountMin",
30261 FT_UINT32
, BASE_DEC
, VALS(evrsr_EAmount_vals
), 0,
30262 "EAmount", HFILL
}},
30263 { &hf_evrsr_paymentType
,
30264 { "paymentType", "evrsr.paymentType",
30265 FT_UINT32
, BASE_DEC
, VALS(evrsr_PaymentType_vals
), 0,
30267 { &hf_evrsr_payment_ID
,
30268 { "payment-ID", "evrsr.payment_ID",
30269 FT_UINT32
, BASE_DEC
, VALS(evrsr_Payment_ID_vals
), 0,
30271 { &hf_evrsr_secondPayment_ID
,
30272 { "secondPayment-ID", "evrsr.secondPayment_ID",
30273 FT_UINT32
, BASE_DEC
, VALS(evrsr_Payment_ID_vals
), 0,
30274 "Payment_ID", HFILL
}},
30275 { &hf_evrsr_pairing_ID
,
30276 { "pairing-ID", "evrsr.pairing_ID",
30277 FT_STRING
, BASE_NONE
, NULL
, 0,
30279 { &hf_evrsr_reservationResponseCode
,
30280 { "reservationResponseCode", "evrsr.reservationResponseCode",
30281 FT_UINT32
, BASE_DEC
, VALS(evrsr_ReservationResponseCode_vals
), 0,
30283 { &hf_evrsr_reservation_ID
,
30284 { "reservation-ID", "evrsr.reservation_ID",
30285 FT_STRING
, BASE_NONE
, NULL
, 0,
30287 { &hf_evrsr_reservation_Password
,
30288 { "reservation-Password", "evrsr.reservation_Password",
30289 FT_STRING
, BASE_NONE
, NULL
, 0,
30291 { &hf_evrsr_stationDetails
,
30292 { "stationDetails", "evrsr.stationDetails",
30293 FT_STRING
, BASE_NONE
, NULL
, 0,
30295 { &hf_evrsr_chargingSpotLabel
,
30296 { "chargingSpotLabel", "evrsr.chargingSpotLabel",
30297 FT_STRING
, BASE_NONE
, NULL
, 0,
30299 { &hf_evrsr_expirationTime
,
30300 { "expirationTime", "evrsr.expirationTime",
30301 FT_INT32
, BASE_DEC
, VALS(evrsr_TimestampUTC_vals
), 0,
30302 "TimestampUTC", HFILL
}},
30303 { &hf_evrsr_freeCancelTimeLimit
,
30304 { "freeCancelTimeLimit", "evrsr.freeCancelTimeLimit",
30305 FT_INT32
, BASE_DEC
, VALS(evrsr_TimestampUTC_vals
), 0,
30306 "TimestampUTC", HFILL
}},
30307 { &hf_evrsr_cancellationResponseCode
,
30308 { "cancellationResponseCode", "evrsr.cancellationResponseCode",
30309 FT_UINT32
, BASE_DEC
, VALS(evrsr_CancellationResponseCode_vals
), 0,
30311 { &hf_evrsr_updatedArrivalTime
,
30312 { "updatedArrivalTime", "evrsr.updatedArrivalTime",
30313 FT_INT32
, BASE_DEC
, VALS(evrsr_TimestampUTC_vals
), 0,
30314 "TimestampUTC", HFILL
}},
30315 { &hf_evrsr_updatedDepartureTime
,
30316 { "updatedDepartureTime", "evrsr.updatedDepartureTime",
30317 FT_INT32
, BASE_DEC
, VALS(evrsr_TimestampUTC_vals
), 0,
30318 "TimestampUTC", HFILL
}},
30319 { &hf_evrsr_updateResponseCode
,
30320 { "updateResponseCode", "evrsr.updateResponseCode",
30321 FT_UINT32
, BASE_DEC
, VALS(evrsr_UpdateResponseCode_vals
), 0,
30323 { &hf_evrsr_contractID
,
30324 { "contractID", "evrsr.contractID",
30325 FT_STRING
, BASE_NONE
, NULL
, 0,
30327 { &hf_evrsr_externalIdentificationMeans
,
30328 { "externalIdentificationMeans", "evrsr.externalIdentificationMeans",
30329 FT_STRING
, BASE_NONE
, NULL
, 0,
30331 { &hf_evrsr_rechargingMode
,
30332 { "rechargingMode", "evrsr.rechargingMode",
30333 FT_UINT32
, BASE_DEC
, VALS(evrsr_RechargingMode_vals
), 0,
30335 { &hf_evrsr_powerSource
,
30336 { "powerSource", "evrsr.powerSource",
30337 FT_UINT32
, BASE_DEC
, VALS(evrsr_PowerSource_vals
), 0,
30339 { &hf_evrsr_SupportedPaymentTypes_contract
,
30340 { "contract", "evrsr.SupportedPaymentTypes.contract",
30341 FT_BOOLEAN
, 8, NULL
, 0x80,
30343 { &hf_evrsr_SupportedPaymentTypes_externalIdentification
,
30344 { "externalIdentification", "evrsr.SupportedPaymentTypes.externalIdentification",
30345 FT_BOOLEAN
, 8, NULL
, 0x40,
30348 /* --- Module CPM-OriginatingStationContainers --- --- --- */
30350 { &hf_cpm_cpm_OriginatingVehicleContainer_PDU
,
30351 { "OriginatingVehicleContainer", "cpm.OriginatingVehicleContainer_element",
30352 FT_NONE
, BASE_NONE
, NULL
, 0,
30354 { &hf_cpm_cpm_OriginatingRsuContainer_PDU
,
30355 { "OriginatingRsuContainer", "cpm.OriginatingRsuContainer_element",
30356 FT_NONE
, BASE_NONE
, NULL
, 0,
30358 { &hf_cpm_orientationAngle
,
30359 { "orientationAngle", "cpm.orientationAngle_element",
30360 FT_NONE
, BASE_NONE
, NULL
, 0,
30361 "Wgs84Angle", HFILL
}},
30362 { &hf_cpm_pitchAngle
,
30363 { "pitchAngle", "cpm.pitchAngle_element",
30364 FT_NONE
, BASE_NONE
, NULL
, 0,
30365 "CartesianAngle", HFILL
}},
30366 { &hf_cpm_rollAngle
,
30367 { "rollAngle", "cpm.rollAngle_element",
30368 FT_NONE
, BASE_NONE
, NULL
, 0,
30369 "CartesianAngle", HFILL
}},
30370 { &hf_cpm_trailerDataSet
,
30371 { "trailerDataSet", "cpm.trailerDataSet",
30372 FT_UINT32
, BASE_DEC
, NULL
, 0,
30374 { &hf_cpm_mapReference
,
30375 { "mapReference", "cpm.mapReference",
30376 FT_UINT32
, BASE_DEC
, VALS(its_MapReference_vals
), 0,
30378 { &hf_cpm_TrailerDataSet_item
,
30379 { "TrailerData", "cpm.TrailerData_element",
30380 FT_NONE
, BASE_NONE
, NULL
, 0,
30383 /* --- Module CPM-PDU-Descriptionsv1 --- --- --- */
30385 { &hf_cpmv1_cpmv1_CollectivePerceptionMessagev1_PDU
,
30386 { "CollectivePerceptionMessagev1", "cpmv1.CollectivePerceptionMessagev1_element",
30387 FT_NONE
, BASE_NONE
, NULL
, 0,
30389 { &hf_cpmv1_generationDeltaTime
,
30390 { "generationDeltaTime", "cpmv1.generationDeltaTime",
30391 FT_UINT32
, BASE_DEC
, NULL
, 0,
30393 { &hf_cpmv1_cpmParameters
,
30394 { "cpmParameters", "cpmv1.cpmParameters_element",
30395 FT_NONE
, BASE_NONE
, NULL
, 0,
30397 { &hf_cpmv1_managementContainer
,
30398 { "managementContainer", "cpmv1.managementContainer_element",
30399 FT_NONE
, BASE_NONE
, NULL
, 0,
30400 "CpmManagementContainer", HFILL
}},
30401 { &hf_cpmv1_stationDataContainer
,
30402 { "stationDataContainer", "cpmv1.stationDataContainer",
30403 FT_UINT32
, BASE_DEC
, VALS(cpmv1_StationDataContainer_vals
), 0,
30405 { &hf_cpmv1_sensorInformationContainer
,
30406 { "sensorInformationContainer", "cpmv1.sensorInformationContainer",
30407 FT_UINT32
, BASE_DEC
, NULL
, 0,
30408 "SensorInformationContainerv1", HFILL
}},
30409 { &hf_cpmv1_perceivedObjectContainer
,
30410 { "perceivedObjectContainer", "cpmv1.perceivedObjectContainer",
30411 FT_UINT32
, BASE_DEC
, NULL
, 0,
30412 "PerceivedObjectContainerv1", HFILL
}},
30413 { &hf_cpmv1_freeSpaceAddendumContainer
,
30414 { "freeSpaceAddendumContainer", "cpmv1.freeSpaceAddendumContainer",
30415 FT_UINT32
, BASE_DEC
, NULL
, 0,
30417 { &hf_cpmv1_numberOfPerceivedObjects
,
30418 { "numberOfPerceivedObjects", "cpmv1.numberOfPerceivedObjects",
30419 FT_UINT32
, BASE_DEC
, NULL
, 0,
30421 { &hf_cpmv1_stationType
,
30422 { "stationType", "cpmv1.stationType",
30423 FT_UINT32
, BASE_DEC
, VALS(itsv1_StationType_vals
), 0,
30425 { &hf_cpmv1_perceivedObjectContainerSegmentInfo
,
30426 { "perceivedObjectContainerSegmentInfo", "cpmv1.perceivedObjectContainerSegmentInfo_element",
30427 FT_NONE
, BASE_NONE
, NULL
, 0,
30429 { &hf_cpmv1_referencePosition
,
30430 { "referencePosition", "cpmv1.referencePosition_element",
30431 FT_NONE
, BASE_NONE
, NULL
, 0,
30433 { &hf_cpmv1_originatingVehicleContainer
,
30434 { "originatingVehicleContainer", "cpmv1.originatingVehicleContainer_element",
30435 FT_NONE
, BASE_NONE
, NULL
, 0,
30436 "OriginatingVehicleContainerV1", HFILL
}},
30437 { &hf_cpmv1_originatingRSUContainer
,
30438 { "originatingRSUContainer", "cpmv1.originatingRSUContainer",
30439 FT_UINT32
, BASE_DEC
, VALS(cpmv1_OriginatingRSUContainer_vals
), 0,
30441 { &hf_cpmv1_heading
,
30442 { "heading", "cpmv1.heading_element",
30443 FT_NONE
, BASE_NONE
, NULL
, 0,
30446 { "speed", "cpmv1.speed_element",
30447 FT_NONE
, BASE_NONE
, NULL
, 0,
30449 { &hf_cpmv1_vehicleOrientationAngle
,
30450 { "vehicleOrientationAngle", "cpmv1.vehicleOrientationAngle_element",
30451 FT_NONE
, BASE_NONE
, NULL
, 0,
30452 "WGS84Angle", HFILL
}},
30453 { &hf_cpmv1_driveDirection
,
30454 { "driveDirection", "cpmv1.driveDirection",
30455 FT_UINT32
, BASE_DEC
, VALS(itsv1_DriveDirection_vals
), 0,
30457 { &hf_cpmv1_longitudinalAcceleration
,
30458 { "longitudinalAcceleration", "cpmv1.longitudinalAcceleration_element",
30459 FT_NONE
, BASE_NONE
, NULL
, 0,
30461 { &hf_cpmv1_lateralAcceleration
,
30462 { "lateralAcceleration", "cpmv1.lateralAcceleration_element",
30463 FT_NONE
, BASE_NONE
, NULL
, 0,
30465 { &hf_cpmv1_verticalAcceleration
,
30466 { "verticalAcceleration", "cpmv1.verticalAcceleration_element",
30467 FT_NONE
, BASE_NONE
, NULL
, 0,
30469 { &hf_cpmv1_yawRate
,
30470 { "yawRate", "cpmv1.yawRate_element",
30471 FT_NONE
, BASE_NONE
, NULL
, 0,
30473 { &hf_cpmv1_pitchAnglev1
,
30474 { "pitchAnglev1", "cpmv1.pitchAnglev1_element",
30475 FT_NONE
, BASE_NONE
, NULL
, 0,
30476 "CartesianAngle", HFILL
}},
30477 { &hf_cpmv1_rollAnglev1
,
30478 { "rollAnglev1", "cpmv1.rollAnglev1_element",
30479 FT_NONE
, BASE_NONE
, NULL
, 0,
30480 "CartesianAngle", HFILL
}},
30481 { &hf_cpmv1_vehicleLengthv1
,
30482 { "vehicleLengthv1", "cpmv1.vehicleLengthv1_element",
30483 FT_NONE
, BASE_NONE
, NULL
, 0,
30484 "VehicleLength", HFILL
}},
30485 { &hf_cpmv1_vehicleWidthv1
,
30486 { "vehicleWidthv1", "cpmv1.vehicleWidthv1",
30487 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_vehicle_width_fmt
), 0,
30488 "VehicleWidth", HFILL
}},
30489 { &hf_cpmv1_vehicleHeightv1
,
30490 { "vehicleHeightv1", "cpmv1.vehicleHeightv1",
30491 FT_UINT32
, BASE_DEC
, NULL
, 0,
30492 "VehicleHeight", HFILL
}},
30493 { &hf_cpmv1_trailerDataContainerv1
,
30494 { "trailerDataContainerv1", "cpmv1.trailerDataContainerv1",
30495 FT_UINT32
, BASE_DEC
, NULL
, 0,
30496 "TrailerDataContainer", HFILL
}},
30497 { &hf_cpmv1_intersectionReferenceId
,
30498 { "intersectionReferenceId", "cpmv1.intersectionReferenceId_element",
30499 FT_NONE
, BASE_NONE
, NULL
, 0,
30501 { &hf_cpmv1_roadSegmentReferenceId
,
30502 { "roadSegmentReferenceId", "cpmv1.roadSegmentReferenceId_element",
30503 FT_NONE
, BASE_NONE
, NULL
, 0,
30505 { &hf_cpmv1_SensorInformationContainerv1_item
,
30506 { "SensorInformationv1", "cpmv1.SensorInformationv1_element",
30507 FT_NONE
, BASE_NONE
, NULL
, 0,
30509 { &hf_cpmv1_sensorID
,
30510 { "sensorID", "cpmv1.sensorID",
30511 FT_UINT32
, BASE_DEC
, NULL
, 0,
30512 "Identifier", HFILL
}},
30514 { "type", "cpmv1.type",
30515 FT_UINT32
, BASE_DEC
, VALS(cpmv1_SensorType_vals
), 0,
30516 "SensorType", HFILL
}},
30517 { &hf_cpmv1_detectionArea
,
30518 { "detectionArea", "cpmv1.detectionArea",
30519 FT_UINT32
, BASE_DEC
, VALS(cpmv1_DetectionArea_vals
), 0,
30521 { &hf_cpmv1_freeSpaceConfidence
,
30522 { "freeSpaceConfidence", "cpmv1.freeSpaceConfidence",
30523 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_general_confidence_fmt
), 0,
30525 { &hf_cpmv1_PerceivedObjectContainerv1_item
,
30526 { "PerceivedObjectv1", "cpmv1.PerceivedObjectv1_element",
30527 FT_NONE
, BASE_NONE
, NULL
, 0,
30529 { &hf_cpmv1_objectID
,
30530 { "objectID", "cpmv1.objectID",
30531 FT_UINT32
, BASE_DEC
, NULL
, 0,
30532 "Identifier", HFILL
}},
30533 { &hf_cpmv1_sensorIDList
,
30534 { "sensorIDList", "cpmv1.sensorIDList",
30535 FT_UINT32
, BASE_DEC
, NULL
, 0,
30537 { &hf_cpmv1_timeOfMeasurement
,
30538 { "timeOfMeasurement", "cpmv1.timeOfMeasurement",
30539 FT_INT32
, BASE_DEC
, NULL
, 0,
30541 { &hf_cpmv1_objectAge
,
30542 { "objectAge", "cpmv1.objectAge",
30543 FT_UINT32
, BASE_DEC
, VALS(cpmv1_ObjectAge_vals
), 0,
30545 { &hf_cpmv1_objectConfidence
,
30546 { "objectConfidence", "cpmv1.objectConfidence",
30547 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_general_confidence_fmt
), 0,
30549 { &hf_cpmv1_xDistance
,
30550 { "xDistance", "cpmv1.xDistance_element",
30551 FT_NONE
, BASE_NONE
, NULL
, 0,
30552 "ObjectDistanceWithConfidence", HFILL
}},
30553 { &hf_cpmv1_yDistance
,
30554 { "yDistance", "cpmv1.yDistance_element",
30555 FT_NONE
, BASE_NONE
, NULL
, 0,
30556 "ObjectDistanceWithConfidence", HFILL
}},
30557 { &hf_cpmv1_zDistance
,
30558 { "zDistance", "cpmv1.zDistance_element",
30559 FT_NONE
, BASE_NONE
, NULL
, 0,
30560 "ObjectDistanceWithConfidence", HFILL
}},
30561 { &hf_cpmv1_xSpeed
,
30562 { "xSpeed", "cpmv1.xSpeed_element",
30563 FT_NONE
, BASE_NONE
, NULL
, 0,
30564 "SpeedExtended", HFILL
}},
30565 { &hf_cpmv1_ySpeed
,
30566 { "ySpeed", "cpmv1.ySpeed_element",
30567 FT_NONE
, BASE_NONE
, NULL
, 0,
30568 "SpeedExtended", HFILL
}},
30569 { &hf_cpmv1_zSpeed
,
30570 { "zSpeed", "cpmv1.zSpeed_element",
30571 FT_NONE
, BASE_NONE
, NULL
, 0,
30572 "SpeedExtended", HFILL
}},
30573 { &hf_cpmv1_xAcceleration
,
30574 { "xAcceleration", "cpmv1.xAcceleration_element",
30575 FT_NONE
, BASE_NONE
, NULL
, 0,
30576 "LongitudinalAcceleration", HFILL
}},
30577 { &hf_cpmv1_yAcceleration
,
30578 { "yAcceleration", "cpmv1.yAcceleration_element",
30579 FT_NONE
, BASE_NONE
, NULL
, 0,
30580 "LateralAcceleration", HFILL
}},
30581 { &hf_cpmv1_zAcceleration
,
30582 { "zAcceleration", "cpmv1.zAcceleration_element",
30583 FT_NONE
, BASE_NONE
, NULL
, 0,
30584 "VerticalAcceleration", HFILL
}},
30585 { &hf_cpmv1_yawAngle
,
30586 { "yawAngle", "cpmv1.yawAngle_element",
30587 FT_NONE
, BASE_NONE
, NULL
, 0,
30588 "CartesianAngle", HFILL
}},
30589 { &hf_cpmv1_planarObjectDimension1
,
30590 { "planarObjectDimension1", "cpmv1.planarObjectDimension1_element",
30591 FT_NONE
, BASE_NONE
, NULL
, 0,
30592 "ObjectDimension", HFILL
}},
30593 { &hf_cpmv1_planarObjectDimension2
,
30594 { "planarObjectDimension2", "cpmv1.planarObjectDimension2_element",
30595 FT_NONE
, BASE_NONE
, NULL
, 0,
30596 "ObjectDimension", HFILL
}},
30597 { &hf_cpmv1_verticalObjectDimension
,
30598 { "verticalObjectDimension", "cpmv1.verticalObjectDimension_element",
30599 FT_NONE
, BASE_NONE
, NULL
, 0,
30600 "ObjectDimension", HFILL
}},
30601 { &hf_cpmv1_objectRefPoint
,
30602 { "objectRefPoint", "cpmv1.objectRefPoint",
30603 FT_UINT32
, BASE_DEC
, VALS(cpmv1_ObjectRefPoint_vals
), 0,
30605 { &hf_cpmv1_dynamicStatus
,
30606 { "dynamicStatus", "cpmv1.dynamicStatus",
30607 FT_UINT32
, BASE_DEC
, VALS(cpmv1_DynamicStatus_vals
), 0,
30609 { &hf_cpmv1_classification
,
30610 { "classification", "cpmv1.classification",
30611 FT_UINT32
, BASE_DEC
, NULL
, 0,
30612 "ObjectClassDescription", HFILL
}},
30613 { &hf_cpmv1_matchedPosition
,
30614 { "matchedPosition", "cpmv1.matchedPosition_element",
30615 FT_NONE
, BASE_NONE
, NULL
, 0,
30617 { &hf_cpmv1_vehicleSensor
,
30618 { "vehicleSensor", "cpmv1.vehicleSensor_element",
30619 FT_NONE
, BASE_NONE
, NULL
, 0,
30621 { &hf_cpmv1_stationarySensorRadial
,
30622 { "stationarySensorRadial", "cpmv1.stationarySensorRadial_element",
30623 FT_NONE
, BASE_NONE
, NULL
, 0,
30624 "AreaRadial", HFILL
}},
30625 { &hf_cpmv1_stationarySensorPolygon
,
30626 { "stationarySensorPolygon", "cpmv1.stationarySensorPolygon_element",
30627 FT_NONE
, BASE_NONE
, NULL
, 0,
30628 "AreaPolygon", HFILL
}},
30629 { &hf_cpmv1_stationarySensorCircular
,
30630 { "stationarySensorCircular", "cpmv1.stationarySensorCircular_element",
30631 FT_NONE
, BASE_NONE
, NULL
, 0,
30632 "AreaCircular", HFILL
}},
30633 { &hf_cpmv1_stationarySensorEllipse
,
30634 { "stationarySensorEllipse", "cpmv1.stationarySensorEllipse_element",
30635 FT_NONE
, BASE_NONE
, NULL
, 0,
30636 "AreaEllipse", HFILL
}},
30637 { &hf_cpmv1_stationarySensorRectangle
,
30638 { "stationarySensorRectangle", "cpmv1.stationarySensorRectangle_element",
30639 FT_NONE
, BASE_NONE
, NULL
, 0,
30640 "AreaRectangle", HFILL
}},
30641 { &hf_cpmv1_refPointId
,
30642 { "refPointId", "cpmv1.refPointId",
30643 FT_UINT32
, BASE_DEC
, NULL
, 0,
30645 { &hf_cpmv1_xSensorOffset
,
30646 { "xSensorOffset", "cpmv1.xSensorOffset",
30647 FT_INT32
, BASE_DEC
, VALS(cpmv1_XSensorOffset_vals
), 0,
30649 { &hf_cpmv1_ySensorOffset
,
30650 { "ySensorOffset", "cpmv1.ySensorOffset",
30651 FT_INT32
, BASE_DEC
, VALS(cpmv1_YSensorOffset_vals
), 0,
30653 { &hf_cpmv1_zSensorOffset
,
30654 { "zSensorOffset", "cpmv1.zSensorOffset",
30655 FT_UINT32
, BASE_DEC
, VALS(cpmv1_ZSensorOffset_vals
), 0,
30657 { &hf_cpmv1_vehicleSensorPropertyList
,
30658 { "vehicleSensorPropertyList", "cpmv1.vehicleSensorPropertyList",
30659 FT_UINT32
, BASE_DEC
, NULL
, 0,
30661 { &hf_cpmv1_VehicleSensorPropertyList_item
,
30662 { "VehicleSensorProperties", "cpmv1.VehicleSensorProperties_element",
30663 FT_NONE
, BASE_NONE
, NULL
, 0,
30666 { "range", "cpmv1.range",
30667 FT_UINT32
, BASE_DEC
, VALS(cpmv1_Range_vals
), 0,
30669 { &hf_cpmv1_horizontalOpeningAngleStart
,
30670 { "horizontalOpeningAngleStart", "cpmv1.horizontalOpeningAngleStart",
30671 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_cartesian_angle_value_fmt
), 0,
30672 "CartesianAngleValue", HFILL
}},
30673 { &hf_cpmv1_horizontalOpeningAngleEnd
,
30674 { "horizontalOpeningAngleEnd", "cpmv1.horizontalOpeningAngleEnd",
30675 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_cartesian_angle_value_fmt
), 0,
30676 "CartesianAngleValue", HFILL
}},
30677 { &hf_cpmv1_verticalOpeningAngleStart
,
30678 { "verticalOpeningAngleStart", "cpmv1.verticalOpeningAngleStart",
30679 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_cartesian_angle_value_fmt
), 0,
30680 "CartesianAngleValue", HFILL
}},
30681 { &hf_cpmv1_verticalOpeningAngleEnd
,
30682 { "verticalOpeningAngleEnd", "cpmv1.verticalOpeningAngleEnd",
30683 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_cartesian_angle_value_fmt
), 0,
30684 "CartesianAngleValue", HFILL
}},
30685 { &hf_cpmv1_nodeCenterPoint
,
30686 { "nodeCenterPoint", "cpmv1.nodeCenterPoint_element",
30687 FT_NONE
, BASE_NONE
, NULL
, 0,
30688 "OffsetPoint", HFILL
}},
30689 { &hf_cpmv1_radius
,
30690 { "radius", "cpmv1.radius",
30691 FT_UINT32
, BASE_DEC
, VALS(cpmv1_Radius_vals
), 0,
30693 { &hf_cpmv1_semiMinorRangeLength
,
30694 { "semiMinorRangeLength", "cpmv1.semiMinorRangeLength",
30695 FT_UINT32
, BASE_DEC
, VALS(cpmv1_SemiRangeLength_vals
), 0,
30696 "SemiRangeLength", HFILL
}},
30697 { &hf_cpmv1_semiMajorRangeLength
,
30698 { "semiMajorRangeLength", "cpmv1.semiMajorRangeLength",
30699 FT_UINT32
, BASE_DEC
, VALS(cpmv1_SemiRangeLength_vals
), 0,
30700 "SemiRangeLength", HFILL
}},
30701 { &hf_cpmv1_semiMajorRangeOrientation
,
30702 { "semiMajorRangeOrientation", "cpmv1.semiMajorRangeOrientation",
30703 FT_UINT32
, BASE_DEC
, VALS(cpmv1_WGS84AngleValue_vals
), 0,
30704 "WGS84AngleValue", HFILL
}},
30705 { &hf_cpmv1_semiHeight
,
30706 { "semiHeight", "cpmv1.semiHeight",
30707 FT_UINT32
, BASE_DEC
, VALS(cpmv1_SemiRangeLength_vals
), 0,
30708 "SemiRangeLength", HFILL
}},
30709 { &hf_cpmv1_polyPointList
,
30710 { "polyPointList", "cpmv1.polyPointList",
30711 FT_UINT32
, BASE_DEC
, NULL
, 0,
30713 { &hf_cpmv1_PolyPointList_item
,
30714 { "OffsetPoint", "cpmv1.OffsetPoint_element",
30715 FT_NONE
, BASE_NONE
, NULL
, 0,
30717 { &hf_cpmv1_stationaryHorizontalOpeningAngleStart
,
30718 { "stationaryHorizontalOpeningAngleStart", "cpmv1.stationaryHorizontalOpeningAngleStart",
30719 FT_UINT32
, BASE_DEC
, VALS(cpmv1_WGS84AngleValue_vals
), 0,
30720 "WGS84AngleValue", HFILL
}},
30721 { &hf_cpmv1_stationaryHorizontalOpeningAngleEnd
,
30722 { "stationaryHorizontalOpeningAngleEnd", "cpmv1.stationaryHorizontalOpeningAngleEnd",
30723 FT_UINT32
, BASE_DEC
, VALS(cpmv1_WGS84AngleValue_vals
), 0,
30724 "WGS84AngleValue", HFILL
}},
30725 { &hf_cpmv1_sensorPositionOffset
,
30726 { "sensorPositionOffset", "cpmv1.sensorPositionOffset_element",
30727 FT_NONE
, BASE_NONE
, NULL
, 0,
30728 "OffsetPoint", HFILL
}},
30729 { &hf_cpmv1_sensorHeight
,
30730 { "sensorHeight", "cpmv1.sensorHeight",
30731 FT_INT32
, BASE_DEC
, VALS(cpmv1_SensorHeight_vals
), 0,
30733 { &hf_cpmv1_FreeSpaceAddendumContainer_item
,
30734 { "FreeSpaceAddendum", "cpmv1.FreeSpaceAddendum_element",
30735 FT_NONE
, BASE_NONE
, NULL
, 0,
30737 { &hf_cpmv1_freeSpaceArea
,
30738 { "freeSpaceArea", "cpmv1.freeSpaceArea",
30739 FT_UINT32
, BASE_DEC
, VALS(cpmv1_FreeSpaceArea_vals
), 0,
30741 { &hf_cpmv1_shadowingApplies
,
30742 { "shadowingApplies", "cpmv1.shadowingApplies",
30743 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
30745 { &hf_cpmv1_freeSpacePolygon
,
30746 { "freeSpacePolygon", "cpmv1.freeSpacePolygon_element",
30747 FT_NONE
, BASE_NONE
, NULL
, 0,
30748 "AreaPolygon", HFILL
}},
30749 { &hf_cpmv1_freeSpaceCircular
,
30750 { "freeSpaceCircular", "cpmv1.freeSpaceCircular_element",
30751 FT_NONE
, BASE_NONE
, NULL
, 0,
30752 "AreaCircular", HFILL
}},
30753 { &hf_cpmv1_freeSpaceEllipse
,
30754 { "freeSpaceEllipse", "cpmv1.freeSpaceEllipse_element",
30755 FT_NONE
, BASE_NONE
, NULL
, 0,
30756 "AreaEllipse", HFILL
}},
30757 { &hf_cpmv1_freeSpaceRectangle
,
30758 { "freeSpaceRectangle", "cpmv1.freeSpaceRectangle_element",
30759 FT_NONE
, BASE_NONE
, NULL
, 0,
30760 "AreaRectangle", HFILL
}},
30762 { "value", "cpmv1.value",
30763 FT_INT32
, BASE_CUSTOM
, CF_FUNC(cpm_distance_value_fmt
), 0,
30764 "DistanceValue", HFILL
}},
30765 { &hf_cpmv1_confidence
,
30766 { "confidence", "cpmv1.confidence",
30767 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_distance_confidence_fmt
), 0,
30768 "DistanceConfidence", HFILL
}},
30769 { &hf_cpmv1_value_01
,
30770 { "value", "cpmv1.value",
30771 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_object_dimension_value_fmt
), 0,
30772 "ObjectDimensionValue", HFILL
}},
30773 { &hf_cpmv1_confidence_01
,
30774 { "confidence", "cpmv1.confidence",
30775 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_object_dimension_confidence_fmt
), 0,
30776 "ObjectDimensionConfidence", HFILL
}},
30777 { &hf_cpmv1_value_02
,
30778 { "value", "cpmv1.value",
30779 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_cartesian_angle_value_fmt
), 0,
30780 "CartesianAngleValue", HFILL
}},
30781 { &hf_cpmv1_confidence_02
,
30782 { "confidence", "cpmv1.confidence",
30783 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_angle_confidence_fmt
), 0,
30784 "AngleConfidence", HFILL
}},
30785 { &hf_cpmv1_value_03
,
30786 { "value", "cpmv1.value",
30787 FT_UINT32
, BASE_DEC
, VALS(cpmv1_WGS84AngleValue_vals
), 0,
30788 "WGS84AngleValue", HFILL
}},
30789 { &hf_cpmv1_value_04
,
30790 { "value", "cpmv1.value",
30791 FT_INT32
, BASE_CUSTOM
, CF_FUNC(cpm_speed_value_ext_fmt
), 0,
30792 "SpeedValueExtended", HFILL
}},
30793 { &hf_cpmv1_confidence_03
,
30794 { "confidence", "cpmv1.confidence",
30795 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_speed_confidence_fmt
), 0,
30796 "SpeedConfidence", HFILL
}},
30797 { &hf_cpmv1_SensorIdList_item
,
30798 { "Identifier", "cpmv1.Identifier",
30799 FT_UINT32
, BASE_DEC
, NULL
, 0,
30801 { &hf_cpmv1_TrailerDataContainer_item
,
30802 { "TrailerData", "cpmv1.TrailerData_element",
30803 FT_NONE
, BASE_NONE
, NULL
, 0,
30805 { &hf_cpmv1_hitchPointOffset
,
30806 { "hitchPointOffset", "cpmv1.hitchPointOffset",
30807 FT_UINT32
, BASE_DEC
, VALS(cpmv1_HitchPointOffset_vals
), 0,
30809 { &hf_cpmv1_frontOverhang
,
30810 { "frontOverhang", "cpmv1.frontOverhang",
30811 FT_UINT32
, BASE_DEC
, VALS(cpmv1_FrontOverhang_vals
), 0,
30813 { &hf_cpmv1_rearOverhang
,
30814 { "rearOverhang", "cpmv1.rearOverhang",
30815 FT_UINT32
, BASE_DEC
, VALS(cpmv1_RearOverhang_vals
), 0,
30817 { &hf_cpmv1_trailerWidth
,
30818 { "trailerWidth", "cpmv1.trailerWidth",
30819 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(its_vehicle_width_fmt
), 0,
30820 "VehicleWidth", HFILL
}},
30821 { &hf_cpmv1_hitchAngle
,
30822 { "hitchAngle", "cpmv1.hitchAngle_element",
30823 FT_NONE
, BASE_NONE
, NULL
, 0,
30824 "CartesianAngle", HFILL
}},
30825 { &hf_cpmv1_longitudinalLanePositionValue
,
30826 { "longitudinalLanePositionValue", "cpmv1.longitudinalLanePositionValue",
30827 FT_UINT32
, BASE_DEC
, VALS(cpmv1_LongitudinalLanePositionValue_vals
), 0,
30829 { &hf_cpmv1_longitudinalLanePositionConfidence
,
30830 { "longitudinalLanePositionConfidence", "cpmv1.longitudinalLanePositionConfidence",
30831 FT_UINT32
, BASE_DEC
, VALS(cpmv1_LongitudinalLanePositionConfidence_vals
), 0,
30833 { &hf_cpmv1_laneID
,
30834 { "laneID", "cpmv1.laneID",
30835 FT_UINT32
, BASE_DEC
, NULL
, 0,
30837 { &hf_cpmv1_longitudinalLanePosition
,
30838 { "longitudinalLanePosition", "cpmv1.longitudinalLanePosition_element",
30839 FT_NONE
, BASE_NONE
, NULL
, 0,
30841 { &hf_cpmv1_totalMsgSegments
,
30842 { "totalMsgSegments", "cpmv1.totalMsgSegments",
30843 FT_UINT32
, BASE_DEC
, NULL
, 0,
30844 "SegmentCount", HFILL
}},
30845 { &hf_cpmv1_thisSegmentNum
,
30846 { "thisSegmentNum", "cpmv1.thisSegmentNum",
30847 FT_UINT32
, BASE_DEC
, NULL
, 0,
30848 "SegmentCount", HFILL
}},
30849 { &hf_cpmv1_ObjectClassDescription_item
,
30850 { "ObjectClass", "cpmv1.ObjectClass_element",
30851 FT_NONE
, BASE_NONE
, NULL
, 0,
30853 { &hf_cpmv1_confidence_04
,
30854 { "confidence", "cpmv1.confidence",
30855 FT_UINT32
, BASE_CUSTOM
, CF_FUNC(cpm_general_confidence_fmt
), 0,
30856 "ClassConfidence", HFILL
}},
30858 { "class", "cpmv1.class",
30859 FT_UINT32
, BASE_DEC
, VALS(cpmv1_T_class_vals
), 0,
30861 { &hf_cpmv1_vehicle
,
30862 { "vehicle", "cpmv1.vehicle_element",
30863 FT_NONE
, BASE_NONE
, NULL
, 0,
30864 "VehicleSubclass", HFILL
}},
30865 { &hf_cpmv1_person
,
30866 { "person", "cpmv1.person_element",
30867 FT_NONE
, BASE_NONE
, NULL
, 0,
30868 "PersonSubclass", HFILL
}},
30869 { &hf_cpmv1_animal
,
30870 { "animal", "cpmv1.animal_element",
30871 FT_NONE
, BASE_NONE
, NULL
, 0,
30872 "AnimalSubclass", HFILL
}},
30874 { "other", "cpmv1.other_element",
30875 FT_NONE
, BASE_NONE
, NULL
, 0,
30876 "OtherSubclass", HFILL
}},
30877 { &hf_cpmv1_type_01
,
30878 { "type", "cpmv1.type",
30879 FT_UINT32
, BASE_DEC
, VALS(cpmv1_VehicleSubclassType_vals
), 0,
30880 "VehicleSubclassType", HFILL
}},
30881 { &hf_cpmv1_type_02
,
30882 { "type", "cpmv1.type",
30883 FT_UINT32
, BASE_DEC
, VALS(cpmv1_PersonSubclassType_vals
), 0,
30884 "PersonSubclassType", HFILL
}},
30885 { &hf_cpmv1_type_03
,
30886 { "type", "cpmv1.type",
30887 FT_UINT32
, BASE_DEC
, VALS(cpmv1_AnimalSubclassType_vals
), 0,
30888 "AnimalSubclassType", HFILL
}},
30889 { &hf_cpmv1_type_04
,
30890 { "type", "cpmv1.type",
30891 FT_UINT32
, BASE_DEC
, VALS(cpmv1_OtherSublassType_vals
), 0,
30892 "OtherSublassType", HFILL
}},
30893 { &hf_cpmv1_nodeOffsetPointxy
,
30894 { "nodeOffsetPointxy", "cpmv1.nodeOffsetPointxy",
30895 FT_UINT32
, BASE_DEC
, VALS(dsrc_NodeOffsetPointXY_vals
), 0,
30897 { &hf_cpmv1_nodeOffsetPointZ
,
30898 { "nodeOffsetPointZ", "cpmv1.nodeOffsetPointZ",
30899 FT_UINT32
, BASE_DEC
, VALS(cpmv1_NodeOffsetPointZ_vals
), 0,
30901 { &hf_cpmv1_node_Z1
,
30902 { "node-Z1", "cpmv1.node_Z1",
30903 FT_INT32
, BASE_DEC
, NULL
, 0,
30904 "Offset_B10", HFILL
}},
30905 { &hf_cpmv1_node_Z2
,
30906 { "node-Z2", "cpmv1.node_Z2",
30907 FT_INT32
, BASE_DEC
, NULL
, 0,
30908 "Offset_B11", HFILL
}},
30909 { &hf_cpmv1_node_Z3
,
30910 { "node-Z3", "cpmv1.node_Z3",
30911 FT_INT32
, BASE_DEC
, NULL
, 0,
30912 "Offset_B12", HFILL
}},
30913 { &hf_cpmv1_node_Z4
,
30914 { "node-Z4", "cpmv1.node_Z4",
30915 FT_INT32
, BASE_DEC
, NULL
, 0,
30916 "Offset_B13", HFILL
}},
30917 { &hf_cpmv1_node_Z5
,
30918 { "node-Z5", "cpmv1.node_Z5",
30919 FT_INT32
, BASE_DEC
, NULL
, 0,
30920 "Offset_B14", HFILL
}},
30921 { &hf_cpmv1_node_Z6
,
30922 { "node-Z6", "cpmv1.node_Z6",
30923 FT_INT32
, BASE_DEC
, NULL
, 0,
30924 "Offset_B16", HFILL
}},
30926 /* --- Module CPM-PDU-Descriptions --- --- --- */
30928 { &hf_cpm_cpm_CpmPayload_PDU
,
30929 { "CpmPayload", "cpm.CpmPayload_element",
30930 FT_NONE
, BASE_NONE
, NULL
, 0,
30932 { &hf_cpm_managementContainer
,
30933 { "managementContainer", "cpm.managementContainer_element",
30934 FT_NONE
, BASE_NONE
, NULL
, 0,
30936 { &hf_cpm_cpmContainers
,
30937 { "cpmContainers", "cpm.cpmContainers",
30938 FT_UINT32
, BASE_DEC
, NULL
, 0,
30939 "ConstraintWrappedCpmContainers", HFILL
}},
30940 { &hf_cpm_referenceTime
,
30941 { "referenceTime", "cpm.referenceTime",
30942 FT_UINT64
, BASE_CUSTOM
, CF_FUNC(its_timestamp_fmt
), 0,
30943 "TimestampIts", HFILL
}},
30944 { &hf_cpm_referencePosition
,
30945 { "referencePosition", "cpm.referencePosition_element",
30946 FT_NONE
, BASE_NONE
, NULL
, 0,
30948 { &hf_cpm_segmentationInfo
,
30949 { "segmentationInfo", "cpm.segmentationInfo_element",
30950 FT_NONE
, BASE_NONE
, NULL
, 0,
30951 "MessageSegmentationInfo", HFILL
}},
30952 { &hf_cpm_messageRateRange
,
30953 { "messageRateRange", "cpm.messageRateRange_element",
30954 FT_NONE
, BASE_NONE
, NULL
, 0,
30956 { &hf_cpm_containerId
,
30957 { "containerId", "cpm.containerId",
30958 FT_UINT32
, BASE_DEC
, VALS(cpm_CpmContainerId_vals
), 0,
30959 "CpmContainerId", HFILL
}},
30960 { &hf_cpm_containerData
,
30961 { "containerData", "cpm.containerData_element",
30962 FT_NONE
, BASE_NONE
, NULL
, 0,
30964 { &hf_cpm_WrappedCpmContainers_item
,
30965 { "WrappedCpmContainer", "cpm.WrappedCpmContainer_element",
30966 FT_NONE
, BASE_NONE
, NULL
, 0,
30968 { &hf_cpm_messageRateMin
,
30969 { "messageRateMin", "cpm.messageRateMin_element",
30970 FT_NONE
, BASE_NONE
, NULL
, 0,
30971 "MessageRateHz", HFILL
}},
30972 { &hf_cpm_messageRateMax
,
30973 { "messageRateMax", "cpm.messageRateMax_element",
30974 FT_NONE
, BASE_NONE
, NULL
, 0,
30975 "MessageRateHz", HFILL
}},
30977 /* --- Module CPM-PerceivedObjectContainer --- --- --- */
30979 { &hf_cpm_cpm_PerceivedObjectContainer_PDU
,
30980 { "PerceivedObjectContainer", "cpm.PerceivedObjectContainer_element",
30981 FT_NONE
, BASE_NONE
, NULL
, 0,
30983 { &hf_cpm_numberOfPerceivedObjects
,
30984 { "numberOfPerceivedObjects", "cpm.numberOfPerceivedObjects",
30985 FT_UINT32
, BASE_DEC
, NULL
, 0,
30986 "CardinalNumber1B", HFILL
}},
30987 { &hf_cpm_perceivedObjects
,
30988 { "perceivedObjects", "cpm.perceivedObjects",
30989 FT_UINT32
, BASE_DEC
, NULL
, 0,
30991 { &hf_cpm_PerceivedObjects_item
,
30992 { "PerceivedObject", "cpm.PerceivedObject_element",
30993 FT_NONE
, BASE_NONE
, NULL
, 0,
30996 /* --- Module CPM-PerceptionRegionContainer --- --- --- */
30998 { &hf_cpm_cpm_PerceptionRegionContainer_PDU
,
30999 { "PerceptionRegionContainer", "cpm.PerceptionRegionContainer",
31000 FT_UINT32
, BASE_DEC
, NULL
, 0,
31002 { &hf_cpm_PerceptionRegionContainer_item
,
31003 { "PerceptionRegion", "cpm.PerceptionRegion_element",
31004 FT_NONE
, BASE_NONE
, NULL
, 0,
31006 { &hf_cpm_measurementDeltaTime
,
31007 { "measurementDeltaTime", "cpm.measurementDeltaTime",
31008 FT_INT32
, BASE_DEC
, NULL
, 0,
31009 "DeltaTimeMilliSecondSigned", HFILL
}},
31010 { &hf_cpm_perceptionRegionPerceptionRegionConfidence
,
31011 { "perceptionRegionConfidence", "cpm.perceptionRegionConfidence",
31012 FT_UINT32
, BASE_DEC
, VALS(its_ConfidenceLevel_vals
), 0,
31013 "ConfidenceLevel", HFILL
}},
31014 { &hf_cpm_perceptionRegionPerceptionRegionShape
,
31015 { "perceptionRegionShape", "cpm.perceptionRegionShape",
31016 FT_UINT32
, BASE_DEC
, VALS(its_Shape_vals
), 0,
31018 { &hf_cpm_perceptionRegionShadowingApplies
,
31019 { "shadowingApplies", "cpm.shadowingApplies",
31020 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
31021 "T_PerceptionRegionShadowingApplies", HFILL
}},
31022 { &hf_cpm_sensorIdList
,
31023 { "sensorIdList", "cpm.sensorIdList",
31024 FT_UINT32
, BASE_DEC
, NULL
, 0,
31025 "SequenceOfIdentifier1B", HFILL
}},
31026 { &hf_cpm_perceptionRegionNumberOfPerceivedObjects
,
31027 { "numberOfPerceivedObjects", "cpm.numberOfPerceivedObjects",
31028 FT_UINT32
, BASE_DEC
, NULL
, 0,
31029 "T_PerceptionRegionNumberOfPerceivedObjects", HFILL
}},
31030 { &hf_cpm_perceivedObjectIds
,
31031 { "perceivedObjectIds", "cpm.perceivedObjectIds",
31032 FT_UINT32
, BASE_DEC
, NULL
, 0,
31034 { &hf_cpm_PerceivedObjectIds_item
,
31035 { "Identifier2B", "cpm.Identifier2B",
31036 FT_UINT32
, BASE_DEC
, NULL
, 0,
31039 /* --- Module CPM-SensorInformationContainer --- --- --- */
31041 { &hf_cpm_cpm_SensorInformationContainer_PDU
,
31042 { "SensorInformationContainer", "cpm.SensorInformationContainer",
31043 FT_UINT32
, BASE_DEC
, NULL
, 0,
31045 { &hf_cpm_SensorInformationContainer_item
,
31046 { "SensorInformation", "cpm.SensorInformation_element",
31047 FT_NONE
, BASE_NONE
, NULL
, 0,
31049 { &hf_cpm_sensorId
,
31050 { "sensorId", "cpm.sensorId",
31051 FT_UINT32
, BASE_DEC
, NULL
, 0,
31052 "Identifier1B", HFILL
}},
31053 { &hf_cpm_sensorType
,
31054 { "sensorType", "cpm.sensorType",
31055 FT_UINT32
, BASE_DEC
, VALS(its_SensorType_vals
), 0,
31057 { &hf_cpm_perceptionRegionShape
,
31058 { "perceptionRegionShape", "cpm.perceptionRegionShape",
31059 FT_UINT32
, BASE_DEC
, VALS(its_Shape_vals
), 0,
31061 { &hf_cpm_perceptionRegionConfidence
,
31062 { "perceptionRegionConfidence", "cpm.perceptionRegionConfidence",
31063 FT_UINT32
, BASE_DEC
, VALS(its_ConfidenceLevel_vals
), 0,
31064 "ConfidenceLevel", HFILL
}},
31065 { &hf_cpm_shadowingApplies
,
31066 { "shadowingApplies", "cpm.shadowingApplies",
31067 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
31068 "BOOLEAN", HFILL
}},
31070 /* --- Module VAM-PDU-Descriptions --- --- --- */
31072 { &hf_vam_vam_VruAwareness_PDU
,
31073 { "VruAwareness", "vam.VruAwareness_element",
31074 FT_NONE
, BASE_NONE
, NULL
, 0,
31076 { &hf_vam_generationDeltaTime
,
31077 { "generationDeltaTime", "vam.generationDeltaTime",
31078 FT_UINT32
, BASE_DEC
, NULL
, 0,
31080 { &hf_vam_vamParameters
,
31081 { "vamParameters", "vam.vamParameters_element",
31082 FT_NONE
, BASE_NONE
, NULL
, 0,
31084 { &hf_vam_basicContainer
,
31085 { "basicContainer", "vam.basicContainer_element",
31086 FT_NONE
, BASE_NONE
, NULL
, 0,
31088 { &hf_vam_vruHighFrequencyContainer
,
31089 { "vruHighFrequencyContainer", "vam.vruHighFrequencyContainer_element",
31090 FT_NONE
, BASE_NONE
, NULL
, 0,
31092 { &hf_vam_vruLowFrequencyContainer
,
31093 { "vruLowFrequencyContainer", "vam.vruLowFrequencyContainer_element",
31094 FT_NONE
, BASE_NONE
, NULL
, 0,
31096 { &hf_vam_vruClusterInformationContainer
,
31097 { "vruClusterInformationContainer", "vam.vruClusterInformationContainer_element",
31098 FT_NONE
, BASE_NONE
, NULL
, 0,
31100 { &hf_vam_vruClusterOperationContainer
,
31101 { "vruClusterOperationContainer", "vam.vruClusterOperationContainer_element",
31102 FT_NONE
, BASE_NONE
, NULL
, 0,
31104 { &hf_vam_vruMotionPredictionContainer
,
31105 { "vruMotionPredictionContainer", "vam.vruMotionPredictionContainer_element",
31106 FT_NONE
, BASE_NONE
, NULL
, 0,
31109 { "heading", "vam.heading_element",
31110 FT_NONE
, BASE_NONE
, NULL
, 0,
31111 "Wgs84Angle", HFILL
}},
31113 { "speed", "vam.speed_element",
31114 FT_NONE
, BASE_NONE
, NULL
, 0,
31116 { &hf_vam_longitudinalAcceleration
,
31117 { "longitudinalAcceleration", "vam.longitudinalAcceleration_element",
31118 FT_NONE
, BASE_NONE
, NULL
, 0,
31120 { &hf_vam_curvature
,
31121 { "curvature", "vam.curvature_element",
31122 FT_NONE
, BASE_NONE
, NULL
, 0,
31124 { &hf_vam_curvatureCalculationMode
,
31125 { "curvatureCalculationMode", "vam.curvatureCalculationMode",
31126 FT_UINT32
, BASE_DEC
, VALS(its_CurvatureCalculationMode_vals
), 0,
31129 { "yawRate", "vam.yawRate_element",
31130 FT_NONE
, BASE_NONE
, NULL
, 0,
31132 { &hf_vam_lateralAcceleration
,
31133 { "lateralAcceleration", "vam.lateralAcceleration_element",
31134 FT_NONE
, BASE_NONE
, NULL
, 0,
31136 { &hf_vam_verticalAcceleration
,
31137 { "verticalAcceleration", "vam.verticalAcceleration_element",
31138 FT_NONE
, BASE_NONE
, NULL
, 0,
31140 { &hf_vam_vruLanePosition
,
31141 { "vruLanePosition", "vam.vruLanePosition_element",
31142 FT_NONE
, BASE_NONE
, NULL
, 0,
31143 "GeneralizedLanePosition", HFILL
}},
31144 { &hf_vam_environment
,
31145 { "environment", "vam.environment",
31146 FT_UINT32
, BASE_DEC
, VALS(its_VruEnvironment_vals
), 0,
31147 "VruEnvironment", HFILL
}},
31148 { &hf_vam_movementControl
,
31149 { "movementControl", "vam.movementControl",
31150 FT_UINT32
, BASE_DEC
, VALS(its_VruMovementControl_vals
), 0,
31151 "VruMovementControl", HFILL
}},
31152 { &hf_vam_orientation
,
31153 { "orientation", "vam.orientation_element",
31154 FT_NONE
, BASE_NONE
, NULL
, 0,
31155 "Wgs84Angle", HFILL
}},
31156 { &hf_vam_rollAngle
,
31157 { "rollAngle", "vam.rollAngle_element",
31158 FT_NONE
, BASE_NONE
, NULL
, 0,
31159 "CartesianAngle", HFILL
}},
31160 { &hf_vam_deviceUsage
,
31161 { "deviceUsage", "vam.deviceUsage",
31162 FT_UINT32
, BASE_DEC
, VALS(its_VruDeviceUsage_vals
), 0,
31163 "VruDeviceUsage", HFILL
}},
31164 { &hf_vam_profileAndSubprofile
,
31165 { "profileAndSubprofile", "vam.profileAndSubprofile",
31166 FT_UINT32
, BASE_DEC
, VALS(its_VruProfileAndSubprofile_vals
), 0,
31167 "VruProfileAndSubprofile", HFILL
}},
31168 { &hf_vam_sizeClass
,
31169 { "sizeClass", "vam.sizeClass",
31170 FT_UINT32
, BASE_DEC
, VALS(its_VruSizeClass_vals
), 0,
31171 "VruSizeClass", HFILL
}},
31172 { &hf_vam_exteriorLights
,
31173 { "exteriorLights", "vam.exteriorLights_element",
31174 FT_NONE
, BASE_NONE
, NULL
, 0,
31175 "VruExteriorLights", HFILL
}},
31176 { &hf_vam_vruClusterInformation
,
31177 { "vruClusterInformation", "vam.vruClusterInformation_element",
31178 FT_NONE
, BASE_NONE
, NULL
, 0,
31180 { &hf_vam_clusterJoinInfo
,
31181 { "clusterJoinInfo", "vam.clusterJoinInfo_element",
31182 FT_NONE
, BASE_NONE
, NULL
, 0,
31184 { &hf_vam_clusterLeaveInfo
,
31185 { "clusterLeaveInfo", "vam.clusterLeaveInfo_element",
31186 FT_NONE
, BASE_NONE
, NULL
, 0,
31188 { &hf_vam_clusterBreakupInfo
,
31189 { "clusterBreakupInfo", "vam.clusterBreakupInfo_element",
31190 FT_NONE
, BASE_NONE
, NULL
, 0,
31192 { &hf_vam_clusterIdChangeTimeInfo
,
31193 { "clusterIdChangeTimeInfo", "vam.clusterIdChangeTimeInfo",
31194 FT_UINT32
, BASE_DEC
, VALS(its_DeltaTimeQuarterSecond_vals
), 0,
31195 "DeltaTimeQuarterSecond", HFILL
}},
31196 { &hf_vam_pathHistory
,
31197 { "pathHistory", "vam.pathHistory",
31198 FT_UINT32
, BASE_DEC
, NULL
, 0,
31200 { &hf_vam_pathPrediction
,
31201 { "pathPrediction", "vam.pathPrediction",
31202 FT_UINT32
, BASE_DEC
, NULL
, 0,
31203 "PathPredicted", HFILL
}},
31204 { &hf_vam_safeDistance
,
31205 { "safeDistance", "vam.safeDistance",
31206 FT_UINT32
, BASE_DEC
, NULL
, 0,
31207 "SequenceOfSafeDistanceIndication", HFILL
}},
31208 { &hf_vam_trajectoryInterceptionIndication
,
31209 { "trajectoryInterceptionIndication", "vam.trajectoryInterceptionIndication",
31210 FT_UINT32
, BASE_DEC
, NULL
, 0,
31211 "SequenceOfTrajectoryInterceptionIndication", HFILL
}},
31212 { &hf_vam_accelerationChangeIndication
,
31213 { "accelerationChangeIndication", "vam.accelerationChangeIndication_element",
31214 FT_NONE
, BASE_NONE
, NULL
, 0,
31216 { &hf_vam_headingChangeIndication
,
31217 { "headingChangeIndication", "vam.headingChangeIndication_element",
31218 FT_NONE
, BASE_NONE
, NULL
, 0,
31220 { &hf_vam_stabilityChangeIndication
,
31221 { "stabilityChangeIndication", "vam.stabilityChangeIndication_element",
31222 FT_NONE
, BASE_NONE
, NULL
, 0,
31225 /* --- Module IMZM-PDU-Descriptions --- --- --- */
31227 { &hf_imzm_imzm_InterferenceManagementZoneMessage_PDU
,
31228 { "InterferenceManagementZoneMessage", "imzm.InterferenceManagementZoneMessage_element",
31229 FT_NONE
, BASE_NONE
, NULL
, 0,
31231 { &hf_imzm_generationDeltaTime
,
31232 { "generationDeltaTime", "imzm.generationDeltaTime",
31233 FT_UINT32
, BASE_DEC
, NULL
, 0,
31235 { &hf_imzm_imzmParameters
,
31236 { "imzmParameters", "imzm.imzmParameters_element",
31237 FT_NONE
, BASE_NONE
, NULL
, 0,
31239 { &hf_imzm_basicContainer
,
31240 { "basicContainer", "imzm.basicContainer_element",
31241 FT_NONE
, BASE_NONE
, NULL
, 0,
31243 { &hf_imzm_imzmContainer
,
31244 { "imzmContainer", "imzm.imzmContainer_element",
31245 FT_NONE
, BASE_NONE
, NULL
, 0,
31247 { &hf_imzm_interferenceManagementZones
,
31248 { "interferenceManagementZones", "imzm.interferenceManagementZones",
31249 FT_UINT32
, BASE_DEC
, NULL
, 0,
31256 { &hf_denmssp_version
, { "Version", "its.ssp.denm.version", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
31257 { &hf_denmssp_flags
, { "Allowed to sign", "its.ssp.denm.flags", FT_UINT24
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
31258 { &hf_denmssp_trafficCondition
,
31259 { "trafficCondition", "its.denm.ssp.trafficCondition",
31260 FT_UINT24
, BASE_DEC
, NULL
, 0x800000, NULL
, HFILL
}},
31261 { &hf_denmssp_accident
,
31262 { "accident", "its.denm.ssp.accident",
31263 FT_UINT24
, BASE_DEC
, NULL
, 0x400000, NULL
, HFILL
}},
31264 { &hf_denmssp_roadworks
,
31265 { "roadworks", "its.denm.ssp.roadworks",
31266 FT_UINT24
, BASE_DEC
, NULL
, 0x200000, NULL
, HFILL
}},
31267 { &hf_denmssp_adverseWeatherConditionAdhesion
,
31268 { "adverseWeatherConditionAdhesion", "its.denm.ssp.advWxConditionAdhesion",
31269 FT_UINT24
, BASE_DEC
, NULL
, 0x100000, NULL
, HFILL
}},
31270 { &hf_denmssp_hazardousLocationSurfaceCondition
,
31271 { "hazardousLocationSurfaceCondition", "its.denm.ssp.hazLocationSurfaceCondition",
31272 FT_UINT24
, BASE_DEC
, NULL
, 0x080000, NULL
, HFILL
}},
31273 { &hf_denmssp_hazardousLocationObstacleOnTheRoad
,
31274 { "hazardousLocationObstacleOnTheRoad", "its.denm.ssp.hazLocationObstacleOnTheRoad",
31275 FT_UINT24
, BASE_DEC
, NULL
, 0x040000, NULL
, HFILL
}},
31276 { &hf_denmssp_hazardousLocationAnimalOnTheRoad
,
31277 { "hazardousLocationAnimalOnTheRoad", "its.denm.ssp.hazLocationAnimalOnTheRoad",
31278 FT_UINT24
, BASE_DEC
, NULL
, 0x020000, NULL
, HFILL
}},
31279 { &hf_denmssp_humanPresenceOnTheRoad
,
31280 { "humanPresenceOnTheRoad", "its.denm.ssp.humanPresenceOnTheRoad",
31281 FT_UINT24
, BASE_DEC
, NULL
, 0x010000, NULL
, HFILL
}},
31282 { &hf_denmssp_wrongWayDriving
,
31283 { "wrongWayDriving", "its.denm.ssp.wrongWayDriving",
31284 FT_UINT24
, BASE_DEC
, NULL
, 0x008000, NULL
, HFILL
}},
31285 { &hf_denmssp_rescueAndRecoveryWorkInProgress
,
31286 { "rescueAndRecoveryWorkInProgress", "its.denm.ssp.rescueAndRecoveryWorkInProgress",
31287 FT_UINT24
, BASE_DEC
, NULL
, 0x004000, NULL
, HFILL
}},
31288 { &hf_denmssp_ExtremeWeatherCondition
,
31289 { "ExtremeWeatherCondition", "its.denm.ssp.ExtremeWxCondition",
31290 FT_UINT24
, BASE_DEC
, NULL
, 0x002000, NULL
, HFILL
}},
31291 { &hf_denmssp_adverseWeatherConditionVisibility
,
31292 { "adverseWeatherConditionVisibility", "its.denm.ssp.advWxConditionVisibility",
31293 FT_UINT24
, BASE_DEC
, NULL
, 0x001000, NULL
, HFILL
}},
31294 { &hf_denmssp_adverseWeatherConditionPrecipitation
,
31295 { "adverseWeatherConditionPrecipitation", "its.denm.ssp.advWxConditionPrecipitation",
31296 FT_UINT24
, BASE_DEC
, NULL
, 0x000800, NULL
, HFILL
}},
31297 { &hf_denmssp_slowVehicle
,
31298 { "slowVehicle", "its.denm.ssp.slowVehicle",
31299 FT_UINT24
, BASE_DEC
, NULL
, 0x000400, NULL
, HFILL
}},
31300 { &hf_denmssp_dangerousEndOfQueue
,
31301 { "dangerousEndOfQueue", "its.denm.ssp.dangerousEndOfQueue",
31302 FT_UINT24
, BASE_DEC
, NULL
, 0x000200, NULL
, HFILL
}},
31303 { &hf_denmssp_vehicleBreakdown
,
31304 { "vehicleBreakdown", "its.denm.ssp.vehicleBreakdown",
31305 FT_UINT24
, BASE_DEC
, NULL
, 0x000100, NULL
, HFILL
}},
31306 { &hf_denmssp_postCrash
,
31307 { "postCrash", "its.denm.ssp.postCrash",
31308 FT_UINT24
, BASE_DEC
, NULL
, 0x000080, NULL
, HFILL
}},
31309 { &hf_denmssp_humanProblem
,
31310 { "humanProblem", "its.denm.ssp.humanProblem",
31311 FT_UINT24
, BASE_DEC
, NULL
, 0x000040, NULL
, HFILL
}},
31312 { &hf_denmssp_stationaryVehicle
,
31313 { "stationaryVehicle", "its.denm.ssp.stationaryVehicle",
31314 FT_UINT24
, BASE_DEC
, NULL
, 0x000020, NULL
, HFILL
}},
31315 { &hf_denmssp_emergencyVehicleApproaching
,
31316 { "emergencyVehicleApproaching", "its.denm.ssp.emergencyVehicleApproaching",
31317 FT_UINT24
, BASE_DEC
, NULL
, 0x000010, NULL
, HFILL
}},
31318 { &hf_denmssp_hazardousLocationDangerousCurve
,
31319 { "hazardousLocationDangerousCurve", "its.denm.ssp.hazLocationDangerousCurve",
31320 FT_UINT24
, BASE_DEC
, NULL
, 0x000008, NULL
, HFILL
}},
31321 { &hf_denmssp_collisionRisk
,
31322 { "collisionRisk", "its.denm.ssp.collisionRisk",
31323 FT_UINT24
, BASE_DEC
, NULL
, 0x000004, NULL
, HFILL
}},
31324 { &hf_denmssp_signalViolation
,
31325 { "signalViolation", "its.denm.ssp.signalViolation",
31326 FT_UINT24
, BASE_DEC
, NULL
, 0x000002, NULL
, HFILL
}},
31327 { &hf_denmssp_dangerousSituation
,
31328 { "dangerousSituation", "its.denm.ssp.dangerousSituation",
31329 FT_UINT24
, BASE_DEC
, NULL
, 0x000001, NULL
, HFILL
}},
31334 { &hf_camssp_version
, { "Version", "its.ssp.cam.version", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
31335 { &hf_camssp_flags
, { "Allowed to sign", "its.ssp.cam.flags", FT_UINT16
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
31336 { &hf_camssp_cenDsrcTollingZone
, { "cenDsrcTollingZone", "its.ssp.cam.cenDsrcTollingZone", FT_UINT16
, BASE_DEC
, NULL
, 0x8000, NULL
, HFILL
}},
31337 { &hf_camssp_publicTransport
, { "publicTransport", "its.ssp.cam.publicTransport", FT_UINT16
, BASE_DEC
, NULL
, 0x4000, NULL
, HFILL
}},
31338 { &hf_camssp_specialTransport
, { "specialTransport", "its.ssp.cam.specialTransport", FT_UINT16
, BASE_DEC
, NULL
, 0x2000, NULL
, HFILL
}},
31339 { &hf_camssp_dangerousGoods
, { "dangerousGoods", "its.ssp.cam.dangerousGoods", FT_UINT16
, BASE_DEC
, NULL
, 0x1000, NULL
, HFILL
}},
31340 { &hf_camssp_roadwork
, { "roadwork", "its.ssp.cam.roadwork", FT_UINT16
, BASE_DEC
, NULL
, 0x0800, NULL
, HFILL
}},
31341 { &hf_camssp_rescue
, { "rescue", "its.ssp.cam.rescue", FT_UINT16
, BASE_DEC
, NULL
, 0x0400, NULL
, HFILL
}},
31342 { &hf_camssp_emergency
, { "emergency", "its.ssp.cam.emergency", FT_UINT16
, BASE_DEC
, NULL
, 0x0200, NULL
, HFILL
}},
31343 { &hf_camssp_safetyCar
, { "safetyCar", "its.ssp.cam.safetyCar", FT_UINT16
, BASE_DEC
, NULL
, 0x0100, NULL
, HFILL
}},
31344 { &hf_camssp_closedLanes
, { "closedLanes", "its.ssp.cam.closedLanes", FT_UINT16
, BASE_DEC
, NULL
, 0x0080, NULL
, HFILL
}},
31345 { &hf_camssp_requestForRightOfWay
, { "requestForRightOfWay", "its.ssp.cam.requestForRightOfWay", FT_UINT16
, BASE_DEC
, NULL
, 0x0040, NULL
, HFILL
}},
31346 { &hf_camssp_requestForFreeCrossingAtATrafficLight
, { "reqFreeCrossTrafLight", "its.ssp.cam.requestForFreeCrossingAtATrafficLight", FT_UINT16
, BASE_DEC
, NULL
, 0x0020, NULL
, HFILL
}},
31347 { &hf_camssp_noPassing
, { "noPassing", "its.ssp.cam.noPassing", FT_UINT16
, BASE_DEC
, NULL
, 0x0010, NULL
, HFILL
}},
31348 { &hf_camssp_noPassingForTrucks
, { "noPassingForTrucks", "its.ssp.cam.noPassingForTrucks", FT_UINT16
, BASE_DEC
, NULL
, 0x0008, NULL
, HFILL
}},
31349 { &hf_camssp_speedLimit
, { "speedLimit", "its.ssp.cam.speedLimit", FT_UINT16
, BASE_DEC
, NULL
, 0x0004, NULL
, HFILL
}},
31350 { &hf_camssp_reserved
, { "reserved", "its.ssp.cam.reserved", FT_UINT16
, BASE_DEC
, NULL
, 0x0003, NULL
, HFILL
}},
31353 static int *ett
[] = {
31355 &ett_denmssp_flags
,
31358 /* --- Module ETSI-ITS-CDD --- --- --- */
31360 &ett_its_AccelerationControl
,
31361 &ett_its_EmergencyPriority
,
31362 &ett_its_EnergyStorageType
,
31363 &ett_its_ExteriorLights
,
31364 &ett_its_LightBarSirenInUse
,
31365 &ett_its_MatrixIncludedComponents
,
31366 &ett_its_PositionOfOccupants
,
31367 &ett_its_SensorTypes
,
31368 &ett_its_SpecialTransportType
,
31369 &ett_its_StoredInformationType
,
31370 &ett_its_VruClusterProfiles
,
31371 &ett_its_VruSpecificExteriorLights
,
31372 &ett_its_Acceleration3dWithConfidence
,
31373 &ett_its_AccelerationPolarWithZ
,
31374 &ett_its_AccelerationCartesian
,
31375 &ett_its_AccelerationComponent
,
31376 &ett_its_AccelerationChangeIndication
,
31377 &ett_its_AccelerationMagnitude
,
31380 &ett_its_ActionIdList
,
31382 &ett_its_BasicContainer
,
31383 &ett_its_CartesianAngle
,
31384 &ett_its_CartesianAngularVelocityComponent
,
31385 &ett_its_CartesianCoordinateWithConfidence
,
31386 &ett_its_CartesianPosition3d
,
31387 &ett_its_CartesianPosition3dWithConfidence
,
31388 &ett_its_CauseCode
,
31389 &ett_its_CauseCodeChoice
,
31390 &ett_its_CauseCodeV2
,
31391 &ett_its_CenDsrcTollingZone
,
31392 &ett_its_CircularShape
,
31393 &ett_its_ClosedLanes
,
31394 &ett_its_ClusterBreakupInfo
,
31395 &ett_its_ClusterJoinInfo
,
31396 &ett_its_ClusterLeaveInfo
,
31397 &ett_its_CorrelationColumn
,
31398 &ett_its_Curvature
,
31399 &ett_its_DangerousGoodsExtended
,
31400 &ett_its_DeltaReferencePosition
,
31401 &ett_its_DigitalMap
,
31402 &ett_its_EllipticalShape
,
31403 &ett_its_EulerAnglesWithConfidence
,
31404 &ett_its_EuVehicleCategoryCode
,
31405 &ett_its_EventHistory
,
31406 &ett_its_EventPoint
,
31407 &ett_its_GeneralizedLanePosition
,
31409 &ett_its_HeadingChangeIndication
,
31410 &ett_its_InterferenceManagementChannel
,
31411 &ett_its_InterferenceManagementZone
,
31412 &ett_its_InterferenceManagementZoneDefinition
,
31413 &ett_its_InterferenceManagementInfo
,
31414 &ett_its_InterferenceManagementInfoPerChannel
,
31415 &ett_its_InterferenceManagementZones
,
31416 &ett_its_IntersectionReferenceId
,
31417 &ett_its_ItineraryPath
,
31418 &ett_its_ItsPduHeader
,
31419 &ett_its_LanePositionAndType
,
31420 &ett_its_LanePositionOptions
,
31421 &ett_its_LanePositionWithLateralDetails
,
31422 &ett_its_LateralAcceleration
,
31423 &ett_its_LongitudinalAcceleration
,
31424 &ett_its_LongitudinalLanePosition
,
31425 &ett_its_LowerTriangularPositiveSemidefiniteMatrices
,
31426 &ett_its_LowerTriangularPositiveSemidefiniteMatrix
,
31427 &ett_its_LowerTriangularPositiveSemidefiniteMatrixColumns
,
31428 &ett_its_MapPosition
,
31429 &ett_its_MapReference
,
31430 &ett_its_MessageRateHz
,
31431 &ett_its_MessageSegmentationInfo
,
31432 &ett_its_MetaInformation
,
31433 &ett_its_MitigationForTechnologies
,
31434 &ett_its_MitigationPerTechnologyClass
,
31435 &ett_its_ObjectClass
,
31436 &ett_its_ObjectClassDescription
,
31437 &ett_its_ObjectClassWithConfidence
,
31438 &ett_its_ObjectDimension
,
31440 &ett_its_PathDeltaTimeChoice
,
31441 &ett_its_PathHistory
,
31442 &ett_its_PathPredicted
,
31443 &ett_its_PathPoint
,
31444 &ett_its_PathPointPredicted
,
31445 &ett_its_PerceivedObject
,
31446 &ett_its_PolygonalShape
,
31447 &ett_its_PosConfidenceEllipse
,
31448 &ett_its_PositionConfidenceEllipse
,
31449 &ett_its_PositionOfPillars
,
31450 &ett_its_ProtectedCommunicationZone
,
31451 &ett_its_ProtectedCommunicationZonesRSU
,
31452 &ett_its_PtActivation
,
31453 &ett_its_RadialShape
,
31454 &ett_its_RadialShapes
,
31455 &ett_its_RadialShapesList
,
31456 &ett_its_RadialShapeDetails
,
31457 &ett_its_RectangularShape
,
31458 &ett_its_ReferencePosition
,
31459 &ett_its_ReferencePositionWithConfidence
,
31460 &ett_its_RestrictedTypes
,
31461 &ett_its_RoadSegmentReferenceId
,
31462 &ett_its_SafeDistanceIndication
,
31463 &ett_its_SequenceOfCartesianPosition3d
,
31464 &ett_its_SequenceOfIdentifier1B
,
31465 &ett_its_SequenceOfSafeDistanceIndication
,
31466 &ett_its_SequenceOfTrajectoryInterceptionIndication
,
31469 &ett_its_StabilityChangeIndication
,
31470 &ett_its_SteeringWheelAngle
,
31472 &ett_its_TrafficIslandPosition
,
31473 &ett_its_TrailerData
,
31474 &ett_its_TrajectoryInterceptionIndication
,
31475 &ett_its_VarLengthNumber
,
31478 &ett_its_VerticalAcceleration
,
31479 &ett_its_VehicleIdentification
,
31480 &ett_its_VehicleLength
,
31481 &ett_its_Velocity3dWithConfidence
,
31482 &ett_its_VelocityCartesian
,
31483 &ett_its_VelocityComponent
,
31484 &ett_its_VelocityPolarWithZ
,
31485 &ett_its_VruClusterInformation
,
31486 &ett_its_VruExteriorLights
,
31487 &ett_its_VruProfileAndSubprofile
,
31488 &ett_its_Wgs84Angle
,
31491 /* --- Module ITS-ContainerV1 --- --- --- */
31493 &ett_itsv1_ReferencePosition
,
31494 &ett_itsv1_DeltaReferencePosition
,
31495 &ett_itsv1_Altitude
,
31496 &ett_itsv1_PosConfidenceEllipse
,
31497 &ett_itsv1_PathPoint
,
31498 &ett_itsv1_PtActivation
,
31499 &ett_itsv1_AccelerationControl
,
31500 &ett_itsv1_CauseCode
,
31501 &ett_itsv1_Curvature
,
31502 &ett_itsv1_Heading
,
31503 &ett_itsv1_ClosedLanes
,
31504 &ett_itsv1_DrivingLaneStatus
,
31506 &ett_itsv1_LongitudinalAcceleration
,
31507 &ett_itsv1_LateralAcceleration
,
31508 &ett_itsv1_VerticalAcceleration
,
31509 &ett_itsv1_ExteriorLights
,
31510 &ett_itsv1_DangerousGoodsExtended
,
31511 &ett_itsv1_SpecialTransportType
,
31512 &ett_itsv1_LightBarSirenInUse
,
31513 &ett_itsv1_PositionOfOccupants
,
31514 &ett_itsv1_VehicleIdentification
,
31515 &ett_itsv1_EnergyStorageType
,
31516 &ett_itsv1_VehicleLength
,
31517 &ett_itsv1_PathHistory
,
31518 &ett_itsv1_EmergencyPriority
,
31519 &ett_itsv1_SteeringWheelAngle
,
31520 &ett_itsv1_YawRate
,
31521 &ett_itsv1_ActionID
,
31522 &ett_itsv1_ItineraryPath
,
31523 &ett_itsv1_ProtectedCommunicationZone
,
31525 &ett_itsv1_PositionOfPillars
,
31526 &ett_itsv1_RestrictedTypes
,
31527 &ett_itsv1_EventHistory
,
31528 &ett_itsv1_EventPoint
,
31529 &ett_itsv1_ProtectedCommunicationZonesRSU
,
31530 &ett_itsv1_CenDsrcTollingZone
,
31532 /* --- Module AVIAEINumberingAndDataStructures --- --- --- */
31535 /* --- Module EfcDsrcApplication --- --- --- */
31537 &ett_dsrc_app_AxleWeightLimits
,
31538 &ett_dsrc_app_DieselEmissionValues
,
31539 &ett_dsrc_app_T_particulate
,
31540 &ett_dsrc_app_EnvironmentalCharacteristics
,
31541 &ett_dsrc_app_ExhaustEmissionValues
,
31542 &ett_dsrc_app_PassengerCapacity
,
31543 &ett_dsrc_app_Provider
,
31544 &ett_dsrc_app_SoundLevel
,
31545 &ett_dsrc_app_VehicleDimensions
,
31546 &ett_dsrc_app_VehicleWeightLimits
,
31548 /* --- Module DSRC --- --- --- */
31550 &ett_dsrc_RegionalExtension
,
31552 &ett_dsrc_T_MAPRegional
,
31553 &ett_dsrc_RTCMcorrections
,
31554 &ett_dsrc_SEQUENCE_SIZE_1_4_OF_RegionalExtension
,
31556 &ett_dsrc_T_SPATRegional
,
31557 &ett_dsrc_SignalRequestMessage
,
31558 &ett_dsrc_T_SRMRegional
,
31559 &ett_dsrc_SignalStatusMessage
,
31560 &ett_dsrc_T_SSMRegional
,
31561 &ett_dsrc_AdvisorySpeed
,
31562 &ett_dsrc_T_AdvisorySpeedRegional
,
31563 &ett_dsrc_AdvisorySpeedList
,
31564 &ett_dsrc_AntennaOffsetSet
,
31565 &ett_dsrc_ComputedLane
,
31566 &ett_dsrc_T_offsetXaxis
,
31567 &ett_dsrc_T_offsetYaxis
,
31568 &ett_dsrc_T_ComputedLaneRegional
,
31569 &ett_dsrc_ConnectsToList
,
31570 &ett_dsrc_ConnectingLane
,
31571 &ett_dsrc_Connection
,
31572 &ett_dsrc_ConnectionManeuverAssist
,
31573 &ett_dsrc_T_ConnectionManeuverAssistRegional
,
31574 &ett_dsrc_DataParameters
,
31575 &ett_dsrc_DDateTime
,
31576 &ett_dsrc_EnabledLaneList
,
31577 &ett_dsrc_FullPositionVector
,
31578 &ett_dsrc_GenericLane
,
31579 &ett_dsrc_T_GenericLaneRegional
,
31580 &ett_dsrc_IntersectionAccessPoint
,
31581 &ett_dsrc_IntersectionGeometry
,
31582 &ett_dsrc_T_IntersectionGeometryRegional
,
31583 &ett_dsrc_IntersectionGeometryList
,
31584 &ett_dsrc_IntersectionReferenceID
,
31585 &ett_dsrc_IntersectionState
,
31586 &ett_dsrc_T_IntersectionStateRegional
,
31587 &ett_dsrc_IntersectionStateList
,
31588 &ett_dsrc_LaneAttributes
,
31589 &ett_dsrc_LaneDataAttribute
,
31590 &ett_dsrc_T_LaneDataAttributeRegional
,
31591 &ett_dsrc_LaneDataAttributeList
,
31592 &ett_dsrc_LaneList
,
31593 &ett_dsrc_LaneSharing
,
31594 &ett_dsrc_LaneTypeAttributes
,
31595 &ett_dsrc_ManeuverAssistList
,
31596 &ett_dsrc_MovementEvent
,
31597 &ett_dsrc_T_MovementEventRegional
,
31598 &ett_dsrc_MovementEventList
,
31599 &ett_dsrc_MovementList
,
31600 &ett_dsrc_MovementState
,
31601 &ett_dsrc_T_MovementStateRegional
,
31602 &ett_dsrc_NodeAttributeSetXY
,
31603 &ett_dsrc_T_NodeAttributeSetXYRegional
,
31604 &ett_dsrc_NodeAttributeXYList
,
31605 &ett_dsrc_Node_LLmD_64b
,
31606 &ett_dsrc_Node_XY_20b
,
31607 &ett_dsrc_Node_XY_22b
,
31608 &ett_dsrc_Node_XY_24b
,
31609 &ett_dsrc_Node_XY_26b
,
31610 &ett_dsrc_Node_XY_28b
,
31611 &ett_dsrc_Node_XY_32b
,
31612 &ett_dsrc_NodeListXY
,
31613 &ett_dsrc_NodeOffsetPointXY
,
31615 &ett_dsrc_NodeSetXY
,
31616 &ett_dsrc_OverlayLaneList
,
31617 &ett_dsrc_PositionalAccuracy
,
31618 &ett_dsrc_PositionConfidenceSet
,
31619 &ett_dsrc_Position3D
,
31620 &ett_dsrc_T_Position3DRegional
,
31621 &ett_dsrc_PreemptPriorityList
,
31622 &ett_dsrc_RegulatorySpeedLimit
,
31623 &ett_dsrc_RequestorDescription
,
31624 &ett_dsrc_T_RequestorDescriptionRegional
,
31625 &ett_dsrc_RequestorPositionVector
,
31626 &ett_dsrc_RequestorType
,
31627 &ett_dsrc_RestrictionClassAssignment
,
31628 &ett_dsrc_RestrictionClassList
,
31629 &ett_dsrc_RestrictionUserType
,
31630 &ett_dsrc_T_RestrictionUserTypeRegional
,
31631 &ett_dsrc_RestrictionUserTypeList
,
31632 &ett_dsrc_RoadLaneSetList
,
31633 &ett_dsrc_RoadSegmentReferenceID
,
31634 &ett_dsrc_RoadSegment
,
31635 &ett_dsrc_T_RoadSegmentRegional
,
31636 &ett_dsrc_RoadSegmentList
,
31637 &ett_dsrc_RTCMheader
,
31638 &ett_dsrc_RTCMmessageList
,
31639 &ett_dsrc_SegmentAttributeXYList
,
31640 &ett_dsrc_SignalControlZone
,
31641 &ett_dsrc_SignalRequesterInfo
,
31642 &ett_dsrc_SignalRequest
,
31643 &ett_dsrc_T_SignalRequestRegional
,
31644 &ett_dsrc_SignalRequestList
,
31645 &ett_dsrc_SignalRequestPackage
,
31646 &ett_dsrc_T_SignalRequestPackageRegional
,
31647 &ett_dsrc_SignalStatus
,
31648 &ett_dsrc_T_SignalStatusRegional
,
31649 &ett_dsrc_SignalStatusList
,
31650 &ett_dsrc_SignalStatusPackageList
,
31651 &ett_dsrc_SignalStatusPackage
,
31652 &ett_dsrc_T_SignalStatusPackageRegional
,
31653 &ett_dsrc_SpeedandHeadingandThrottleConfidence
,
31654 &ett_dsrc_SpeedLimitList
,
31655 &ett_dsrc_TimeChangeDetails
,
31656 &ett_dsrc_TransmissionAndSpeed
,
31657 &ett_dsrc_VehicleID
,
31658 &ett_dsrc_AllowedManeuvers
,
31659 &ett_dsrc_GNSSstatus
,
31660 &ett_dsrc_IntersectionStatusObject
,
31661 &ett_dsrc_LaneAttributes_Barrier
,
31662 &ett_dsrc_LaneAttributes_Bike
,
31663 &ett_dsrc_LaneAttributes_Crosswalk
,
31664 &ett_dsrc_LaneAttributes_Parking
,
31665 &ett_dsrc_LaneAttributes_Sidewalk
,
31666 &ett_dsrc_LaneAttributes_Striping
,
31667 &ett_dsrc_LaneAttributes_TrackedVehicle
,
31668 &ett_dsrc_LaneAttributes_Vehicle
,
31669 &ett_dsrc_LaneDirection
,
31670 &ett_dsrc_TransitVehicleStatus
,
31672 /* --- Module AddGrpC --- --- --- */
31674 &ett_AddGrpC_ConnectionManeuverAssist_addGrpC
,
31675 &ett_AddGrpC_ConnectionTrajectory_addGrpC
,
31676 &ett_AddGrpC_IntersectionState_addGrpC
,
31677 &ett_AddGrpC_LaneAttributes_addGrpC
,
31678 &ett_AddGrpC_MapData_addGrpC
,
31679 &ett_AddGrpC_MovementEvent_addGrpC
,
31680 &ett_AddGrpC_NodeAttributeSet_addGrpC
,
31681 &ett_AddGrpC_Position3D_addGrpC
,
31682 &ett_AddGrpC_RestrictionUserType_addGrpC
,
31683 &ett_AddGrpC_RequestorDescription_addGrpC
,
31684 &ett_AddGrpC_SignalStatusPackage_addGrpC
,
31685 &ett_AddGrpC_ItsStationPosition
,
31686 &ett_AddGrpC_ItsStationPositionList
,
31688 &ett_AddGrpC_NodeLink
,
31689 &ett_AddGrpC_PrioritizationResponse
,
31690 &ett_AddGrpC_PrioritizationResponseList
,
31691 &ett_AddGrpC_SignalHeadLocation
,
31692 &ett_AddGrpC_SignalHeadLocationList
,
31694 /* --- Module REGION --- --- --- */
31697 /* --- Module GDD --- --- --- */
31699 &ett_gdd_GddStructure
,
31700 &ett_gdd_Pictogram
,
31701 &ett_gdd_Pictogram_serviceCategory
,
31702 &ett_gdd_Pictogram_category
,
31703 &ett_gdd_GddAttributes
,
31704 &ett_gdd_GddAttributes_item
,
31705 &ett_gdd_InternationalSign_applicablePeriod
,
31707 &ett_gdd_T_month_day
,
31708 &ett_gdd_T_hourMinutes
,
31710 &ett_gdd_HoursMinutes
,
31712 &ett_gdd_DayOfWeek
,
31713 &ett_gdd_InternationalSign_section
,
31714 &ett_gdd_InternationalSign_applicableVehicleDimensions
,
31717 &ett_gdd_InternationalSign_speedLimits
,
31718 &ett_gdd_InternationalSign_destinationInformation
,
31719 &ett_gdd_SEQUENCE_SIZE_1_8__OF_DestinationInformationIO
,
31720 &ett_gdd_DestinationInformationIO
,
31721 &ett_gdd_SEQUENCE_SIZE_1_4__OF_DestinationPlace
,
31722 &ett_gdd_SEQUENCE_SIZE_1_4__OF_DestinationRoad
,
31723 &ett_gdd_DestinationPlace
,
31724 &ett_gdd_DestinationRoad
,
31725 &ett_gdd_DistanceOrDuration
,
31727 /* --- Module IVI --- --- --- */
31729 &ett_ivi_IviStructure
,
31730 &ett_ivi_IviContainers
,
31731 &ett_ivi_IviContainer
,
31732 &ett_ivi_IviManagementContainer
,
31733 &ett_ivi_GeographicLocationContainer
,
31736 &ett_ivi_GeneralIviContainer
,
31738 &ett_ivi_RoadConfigurationContainer
,
31740 &ett_ivi_RoadSurfaceContainer
,
31742 &ett_ivi_TextContainer
,
31744 &ett_ivi_LayoutContainer
,
31745 &ett_ivi_AutomatedVehicleContainer
,
31747 &ett_ivi_MapLocationContainer
,
31750 &ett_ivi_AbsolutePositions
,
31751 &ett_ivi_AbsolutePositionsWAltitude
,
31752 &ett_ivi_AutomatedVehicleRules
,
31753 &ett_ivi_ConnectedDenms
,
31754 &ett_ivi_DeltaPositions
,
31755 &ett_ivi_DeltaReferencePositions
,
31756 &ett_ivi_ConstraintTextLines1
,
31757 &ett_ivi_ConstraintTextLines2
,
31758 &ett_ivi_IviIdentificationNumbers
,
31759 &ett_ivi_ISO14823Attributes
,
31760 &ett_ivi_LaneConfiguration
,
31762 &ett_ivi_LanePositions
,
31763 &ett_ivi_LayoutComponents
,
31764 &ett_ivi_PlatooningRules
,
31765 &ett_ivi_RoadSignCodes
,
31766 &ett_ivi_TextLines
,
31767 &ett_ivi_TrailerCharacteristicsList
,
31768 &ett_ivi_TrailerCharacteristicsFixValuesList
,
31769 &ett_ivi_TrailerCharacteristicsRangesList
,
31770 &ett_ivi_SaeAutomationLevels
,
31771 &ett_ivi_VehicleCharacteristicsFixValuesList
,
31772 &ett_ivi_VehicleCharacteristicsList
,
31773 &ett_ivi_VehicleCharacteristicsRangesList
,
31774 &ett_ivi_ValidityPeriods
,
31776 &ett_ivi_AbsolutePosition
,
31777 &ett_ivi_AbsolutePositionWAltitude
,
31778 &ett_ivi_AnyCatalogue
,
31779 &ett_ivi_AutomatedVehicleRule
,
31780 &ett_ivi_CompleteVehicleCharacteristics
,
31781 &ett_ivi_ComputedSegment
,
31782 &ett_ivi_DeltaPosition
,
31783 &ett_ivi_ISO14823Attribute
,
31784 &ett_ivi_ISO14823Code
,
31785 &ett_ivi_T_icPictogramCode
,
31786 &ett_ivi_T_serviceCategoryCode
,
31787 &ett_ivi_T_pictogramCategoryCode
,
31788 &ett_ivi_LaneInformation
,
31789 &ett_ivi_LaneCharacteristics
,
31790 &ett_ivi_LayoutComponent
,
31792 &ett_ivi_MapReference
,
31793 &ett_ivi_PlatooningRule
,
31794 &ett_ivi_PolygonalLine
,
31795 &ett_ivi_RoadSurfaceDynamicCharacteristics
,
31796 &ett_ivi_RoadSurfaceStaticCharacteristics
,
31801 &ett_ivi_TractorCharacteristics
,
31802 &ett_ivi_TrailerCharacteristics
,
31804 &ett_ivi_VehicleCharacteristicsFixValues
,
31805 &ett_ivi_VehicleCharacteristicsRanges
,
31809 /* --- Module SPATEM-PDU-Descriptions --- --- --- */
31812 /* --- Module MAPEM-PDU-Descriptions --- --- --- */
31815 /* --- Module IVIM-PDU-Descriptions --- --- --- */
31818 /* --- Module SREM-PDU-Descriptions --- --- --- */
31821 /* --- Module SSEM-PDU-Descriptions --- --- --- */
31824 /* --- Module RTCMEM-PDU-Descriptions --- --- --- */
31827 /* --- Module CAMv1-PDU-Descriptions --- --- --- */
31829 &ett_camv1_CoopAwarenessV1
,
31830 &ett_camv1_CamParameters
,
31831 &ett_camv1_HighFrequencyContainer
,
31832 &ett_camv1_LowFrequencyContainer
,
31833 &ett_camv1_SpecialVehicleContainer
,
31834 &ett_camv1_BasicContainer
,
31835 &ett_camv1_BasicVehicleContainerHighFrequency
,
31836 &ett_camv1_BasicVehicleContainerLowFrequency
,
31837 &ett_camv1_PublicTransportContainer
,
31838 &ett_camv1_SpecialTransportContainer
,
31839 &ett_camv1_DangerousGoodsContainer
,
31840 &ett_camv1_RoadWorksContainerBasic
,
31841 &ett_camv1_RescueContainer
,
31842 &ett_camv1_EmergencyContainer
,
31843 &ett_camv1_SafetyCarContainer
,
31844 &ett_camv1_RSUContainerHighFrequency
,
31846 /* --- Module CAM-PDU-Descriptions --- --- --- */
31848 &ett_cam_CamPayload
,
31849 &ett_cam_CamParameters
,
31850 &ett_cam_HighFrequencyContainer
,
31851 &ett_cam_LowFrequencyContainer
,
31852 &ett_cam_SpecialVehicleContainer
,
31853 &ett_cam_BasicVehicleContainerHighFrequency
,
31854 &ett_cam_BasicVehicleContainerLowFrequency
,
31855 &ett_cam_PublicTransportContainer
,
31856 &ett_cam_SpecialTransportContainer
,
31857 &ett_cam_DangerousGoodsContainer
,
31858 &ett_cam_RoadWorksContainerBasic
,
31859 &ett_cam_RescueContainer
,
31860 &ett_cam_EmergencyContainer
,
31861 &ett_cam_SafetyCarContainer
,
31862 &ett_cam_RSUContainerHighFrequency
,
31864 /* --- Module DENMv1-PDU-Descriptions --- --- --- */
31866 &ett_denmv1_DecentralizedEnvironmentalNotificationMessageV1
,
31867 &ett_denmv1_ManagementContainer
,
31868 &ett_denmv1_SituationContainer
,
31869 &ett_denmv1_LocationContainer
,
31870 &ett_denmv1_ImpactReductionContainer
,
31871 &ett_denmv1_RoadWorksContainerExtended
,
31872 &ett_denmv1_StationaryVehicleContainer
,
31873 &ett_denmv1_AlacarteContainer
,
31874 &ett_denmv1_ReferenceDenms
,
31876 /* --- Module DENM-PDU-Description --- --- --- */
31878 &ett_denm_DenmPayload
,
31879 &ett_denm_ManagementContainer
,
31880 &ett_denm_SituationContainer
,
31881 &ett_denm_LocationContainer
,
31882 &ett_denm_ImpactReductionContainer
,
31883 &ett_denm_RoadWorksContainerExtended
,
31884 &ett_denm_StationaryVehicleContainer
,
31885 &ett_denm_AlacarteContainer
,
31887 /* --- Module TIS-TPG-Transactions-Descriptions --- --- --- */
31889 &ett_tistpg_TisTpgTransaction
,
31890 &ett_tistpg_TisTpgDRM
,
31891 &ett_tistpg_TisTpgDRM_Management
,
31892 &ett_tistpg_TisTpgDRM_Situation
,
31893 &ett_tistpg_TisTpgDRM_Location
,
31894 &ett_tistpg_TisTpgSNM
,
31895 &ett_tistpg_TisTpgSNM_Management
,
31896 &ett_tistpg_TisTpgTRM
,
31897 &ett_tistpg_TisTpgTRM_Management
,
31898 &ett_tistpg_TisTpgTRM_Situation
,
31899 &ett_tistpg_TisTpgTRM_Location
,
31900 &ett_tistpg_TisTpgTCM
,
31901 &ett_tistpg_TisTpgTCM_Management
,
31902 &ett_tistpg_TisTpgTCM_Situation
,
31903 &ett_tistpg_TisTpgTCM_Location
,
31904 &ett_tistpg_TisTpgVDRM
,
31905 &ett_tistpg_TisTpgVDRM_Management
,
31906 &ett_tistpg_TisTpgVDPM
,
31907 &ett_tistpg_TisTpgVDPM_Management
,
31908 &ett_tistpg_VehicleSpecificData
,
31909 &ett_tistpg_TisTpgEOFM
,
31910 &ett_tistpg_TisTpgEOFM_Management
,
31911 &ett_tistpg_PlacardTable
,
31912 &ett_tistpg_TyreSetVariant
,
31913 &ett_tistpg_PressureVariantsList
,
31914 &ett_tistpg_PressureVariant
,
31915 &ett_tistpg_TyreData
,
31916 &ett_tistpg_T_currentTyrePressure
,
31917 &ett_tistpg_T_tyreSidewallInformation
,
31918 &ett_tistpg_T_currentInsideAirTemperature
,
31919 &ett_tistpg_T_recommendedTyrePressure
,
31921 &ett_tistpg_T_sensorState
,
31922 &ett_tistpg_AppliedTyrePressure
,
31923 &ett_tistpg_TpgStationData
,
31924 &ett_tistpg_AppliedTyrePressures
,
31925 &ett_tistpg_TpgNotifContainer
,
31926 &ett_tistpg_TpgAutomation
,
31927 &ett_tistpg_TisProfile
,
31929 /* --- Module EVCSN-PDU-Descriptions --- --- --- */
31931 &ett_evcsn_EVChargingSpotNotificationPOIMessage
,
31932 &ett_evcsn_ItsPOIHeader
,
31933 &ett_evcsn_ItsEVCSNData
,
31934 &ett_evcsn_SEQUENCE_SIZE_1_256_OF_ItsChargingStationData
,
31935 &ett_evcsn_ItsChargingStationData
,
31936 &ett_evcsn_ItsChargingSpots
,
31937 &ett_evcsn_ItsChargingSpotDataElements
,
31938 &ett_evcsn_ChargingSpotType
,
31939 &ett_evcsn_ParkingPlacesData
,
31940 &ett_evcsn_SpotAvailability
,
31942 /* --- Module EV-RechargingSpotReservation-PDU-Descriptions --- --- --- */
31944 &ett_evrsr_EV_RSR_MessageBody
,
31945 &ett_evrsr_PreReservationRequestMessage
,
31946 &ett_evrsr_PreReservationResponseMessage
,
31947 &ett_evrsr_ReservationRequestMessage
,
31948 &ett_evrsr_ReservationResponseMessage
,
31949 &ett_evrsr_CancellationRequestMessage
,
31950 &ett_evrsr_CancellationResponseMessage
,
31951 &ett_evrsr_UpdateRequestMessage
,
31952 &ett_evrsr_UpdateResponseMessage
,
31953 &ett_evrsr_Payment_ID
,
31954 &ett_evrsr_RechargingType
,
31955 &ett_evrsr_SupportedPaymentTypes
,
31957 /* --- Module CPM-OriginatingStationContainers --- --- --- */
31959 &ett_cpm_OriginatingVehicleContainer
,
31960 &ett_cpm_OriginatingRsuContainer
,
31961 &ett_cpm_TrailerDataSet
,
31963 /* --- Module CPM-PDU-Descriptionsv1 --- --- --- */
31965 &ett_cpmv1_CollectivePerceptionMessagev1
,
31966 &ett_cpmv1_CpmParameters
,
31967 &ett_cpmv1_CpmManagementContainer
,
31968 &ett_cpmv1_StationDataContainer
,
31969 &ett_cpmv1_OriginatingVehicleContainerV1
,
31970 &ett_cpmv1_OriginatingRSUContainer
,
31971 &ett_cpmv1_SensorInformationContainerv1
,
31972 &ett_cpmv1_SensorInformationv1
,
31973 &ett_cpmv1_PerceivedObjectContainerv1
,
31974 &ett_cpmv1_PerceivedObjectv1
,
31975 &ett_cpmv1_DetectionArea
,
31976 &ett_cpmv1_VehicleSensor
,
31977 &ett_cpmv1_VehicleSensorPropertyList
,
31978 &ett_cpmv1_VehicleSensorProperties
,
31979 &ett_cpmv1_AreaCircular
,
31980 &ett_cpmv1_AreaEllipse
,
31981 &ett_cpmv1_AreaRectangle
,
31982 &ett_cpmv1_AreaPolygon
,
31983 &ett_cpmv1_PolyPointList
,
31984 &ett_cpmv1_AreaRadial
,
31985 &ett_cpmv1_FreeSpaceAddendumContainer
,
31986 &ett_cpmv1_FreeSpaceAddendum
,
31987 &ett_cpmv1_FreeSpaceArea
,
31988 &ett_cpmv1_ObjectDistanceWithConfidence
,
31989 &ett_cpmv1_ObjectDimension
,
31990 &ett_cpmv1_CartesianAngle
,
31991 &ett_cpmv1_WGS84Angle
,
31992 &ett_cpmv1_SpeedExtended
,
31993 &ett_cpmv1_SensorIdList
,
31994 &ett_cpmv1_TrailerDataContainer
,
31995 &ett_cpmv1_TrailerData
,
31996 &ett_cpmv1_LongitudinalLanePosition
,
31997 &ett_cpmv1_MatchedPosition
,
31998 &ett_cpmv1_PerceivedObjectContainerSegmentInfo
,
31999 &ett_cpmv1_ObjectClassDescription
,
32000 &ett_cpmv1_ObjectClass
,
32001 &ett_cpmv1_T_class
,
32002 &ett_cpmv1_VehicleSubclass
,
32003 &ett_cpmv1_PersonSubclass
,
32004 &ett_cpmv1_AnimalSubclass
,
32005 &ett_cpmv1_OtherSubclass
,
32006 &ett_cpmv1_OffsetPoint
,
32007 &ett_cpmv1_NodeOffsetPointZ
,
32009 /* --- Module CPM-PDU-Descriptions --- --- --- */
32011 &ett_cpm_CpmPayload
,
32012 &ett_cpm_ManagementContainer
,
32013 &ett_cpm_WrappedCpmContainer
,
32014 &ett_cpm_WrappedCpmContainers
,
32015 &ett_cpm_MessageRateRange
,
32017 /* --- Module CPM-PerceivedObjectContainer --- --- --- */
32019 &ett_cpm_PerceivedObjectContainer
,
32020 &ett_cpm_PerceivedObjects
,
32022 /* --- Module CPM-PerceptionRegionContainer --- --- --- */
32024 &ett_cpm_PerceptionRegionContainer
,
32025 &ett_cpm_PerceptionRegion
,
32026 &ett_cpm_PerceivedObjectIds
,
32028 /* --- Module CPM-SensorInformationContainer --- --- --- */
32030 &ett_cpm_SensorInformationContainer
,
32031 &ett_cpm_SensorInformation
,
32033 /* --- Module VAM-PDU-Descriptions --- --- --- */
32035 &ett_vam_VruAwareness
,
32036 &ett_vam_VamParameters
,
32037 &ett_vam_VruHighFrequencyContainer
,
32038 &ett_vam_VruLowFrequencyContainer
,
32039 &ett_vam_VruClusterInformationContainer
,
32040 &ett_vam_VruClusterOperationContainer
,
32041 &ett_vam_VruMotionPredictionContainer
,
32043 /* --- Module IMZM-PDU-Descriptions --- --- --- */
32045 &ett_imzm_InterferenceManagementZoneMessage
,
32046 &ett_imzm_ImzmParameters
,
32047 &ett_imzm_ImzmContainer
,
32050 static ei_register_info ei
[] = {
32051 { &ei_its_no_sub_dis
, { "its.no_subdissector", PI_PROTOCOL
, PI_NOTE
, "No subdissector found for this Message id/protocol version combination", EXPFILL
}},
32054 expert_module_t
* expert_its
;
32056 proto_its
= proto_register_protocol("Intelligent Transport Systems", "ITS", "its");
32058 proto_register_field_array(proto_its
, hf_its
, array_length(hf_its
));
32060 proto_register_subtree_array(ett
, array_length(ett
));
32062 expert_its
= expert_register_protocol(proto_its
);
32064 expert_register_field_array(expert_its
, ei
, array_length(ei
));
32066 its_handle
= register_dissector("its", dissect_its_PDU
, proto_its
);
32068 // Register subdissector table
32069 its_version_subdissector_table
= register_dissector_table("its.version", "ITS version", proto_its
, FT_UINT8
, BASE_DEC
);
32070 its_msgid_subdissector_table
= register_dissector_table("its.msg_id", "ITS message id", proto_its
, FT_UINT32
, BASE_DEC
);
32071 regionid_subdissector_table
= register_dissector_table("dsrc.regionid", "DSRC RegionId", proto_its
, FT_UINT32
, BASE_DEC
);
32072 cpmcontainer_subdissector_table
= register_dissector_table("cpm.container", "CPM Containers id", proto_its
, FT_UINT32
, BASE_DEC
);
32073 cam_pt_activation_table
= register_dissector_table("cam.ptat", "CAM PtActivationType", proto_its
, FT_UINT32
, BASE_DEC
);
32075 proto_its_denm
= proto_register_protocol_in_name_only("ITS message - DENM", "DENM", "its.message.denm", proto_its
, FT_BYTES
);
32076 proto_its_denmv1
= proto_register_protocol_in_name_only("ITS message - DENMv1", "DENMv1", "its.message.denmv1", proto_its
, FT_BYTES
);
32077 proto_its_cam
= proto_register_protocol_in_name_only("ITS message - CAM", "CAM", "its.message.cam", proto_its
, FT_BYTES
);
32078 proto_its_camv1
= proto_register_protocol_in_name_only("ITS message - CAMv1", "CAMv1", "its.message.camv1", proto_its
, FT_BYTES
);
32079 proto_its_spatemv1
= proto_register_protocol_in_name_only("ITS message - SPATEMv1", "SPATEMv1", "its.message.spatemv1", proto_its
, FT_BYTES
);
32080 proto_its_spatem
= proto_register_protocol_in_name_only("ITS message - SPATEM", "SPATEM", "its.message.spatem", proto_its
, FT_BYTES
);
32081 proto_its_mapemv1
= proto_register_protocol_in_name_only("ITS message - MAPEMv1", "MAPEMv1", "its.message.mapemv1", proto_its
, FT_BYTES
);
32082 proto_its_mapem
= proto_register_protocol_in_name_only("ITS message - MAPEM", "MAPEM", "its.message.mapem", proto_its
, FT_BYTES
);
32083 proto_its_ivimv1
= proto_register_protocol_in_name_only("ITS message - IVIMv1", "IVIMv1", "its.message.ivimv1", proto_its
, FT_BYTES
);
32084 proto_its_ivim
= proto_register_protocol_in_name_only("ITS message - IVIM", "IVIM", "its.message.ivim", proto_its
, FT_BYTES
);
32085 proto_its_evrsr
= proto_register_protocol_in_name_only("ITS message - EVRSR", "EVRSR", "its.message.evrsr", proto_its
, FT_BYTES
);
32086 proto_its_srem
= proto_register_protocol_in_name_only("ITS message - SREM", "SREM", "its.message.srem", proto_its
, FT_BYTES
);
32087 proto_its_ssem
= proto_register_protocol_in_name_only("ITS message - SSEM", "SSEM", "its.message.ssem", proto_its
, FT_BYTES
);
32088 proto_its_rtcmemv1
= proto_register_protocol_in_name_only("ITS message - RTCMEMv1", "RTCMEMv1", "its.message.rtcmemv1", proto_its
, FT_BYTES
);
32089 proto_its_rtcmem
= proto_register_protocol_in_name_only("ITS message - RTCMEM", "RTCMEM", "its.message.rtcmem", proto_its
, FT_BYTES
);
32090 proto_its_evcsn
= proto_register_protocol_in_name_only("ITS message - EVCSN", "EVCSN", "its.message.evcsn", proto_its
, FT_BYTES
);
32091 proto_its_tistpg
= proto_register_protocol_in_name_only("ITS message - TISTPG", "TISTPG", "its.message.tistpg", proto_its
, FT_BYTES
);
32092 proto_its_cpmv1
= proto_register_protocol_in_name_only("ITS message - CPMv1", "CPMvi", "its.message.cpmv1", proto_its
, FT_BYTES
);
32093 proto_its_cpm
= proto_register_protocol_in_name_only("ITS message - CPM", "CPM", "its.message.cpm", proto_its
, FT_BYTES
);
32094 proto_its_vam
= proto_register_protocol_in_name_only("ITS message - VAM", "VAM", "its.message.vam", proto_its
, FT_BYTES
);
32095 proto_its_imzm
= proto_register_protocol_in_name_only("ITS message - IMZM", "IMZM", "its.message.imzm", proto_its
, FT_BYTES
);
32097 proto_addgrpc
= proto_register_protocol_in_name_only("DSRC Addition Grp C (EU)", "ADDGRPC", "dsrc.addgrpc", proto_its
, FT_BYTES
);
32100 static build_valid_func its_da_build_value
[1] = {its_msgid_value
};
32101 static decode_as_value_t its_da_values
= {its_msgid_prompt
, 1, its_da_build_value
};
32102 static decode_as_t its_da
= {"its", "its.msg_id", 1, 0, &its_da_values
, NULL
, NULL
,
32103 decode_as_default_populate_list
, decode_as_default_reset
, decode_as_default_change
, NULL
};
32105 register_decode_as(&its_da
);
32107 its_tap
= register_tap("its");
32110 #define BTP_SUBDISS_SZ 2
32111 #define BTP_PORTS_SZ 13
32113 #define ITS_CAM_PROT_VER 2
32114 #define ITS_CAM_PROT_VERv1 1
32115 #define ITS_DENM_PROT_VER 2
32116 #define ITS_DENM_PROT_VERv1 1
32117 #define ITS_SPATEM_PROT_VERv1 1
32118 #define ITS_SPATEM_PROT_VER 2
32119 #define ITS_MAPEM_PROT_VERv1 1
32120 #define ITS_MAPEM_PROT_VER 2
32121 #define ITS_IVIM_PROT_VERv1 1
32122 #define ITS_IVIM_PROT_VER 2
32123 #define ITS_SREM_PROT_VER 2
32124 #define ITS_SSEM_PROT_VER 2
32125 #define ITS_RTCMEM_PROT_VERv1 1
32126 #define ITS_RTCMEM_PROT_VER 2
32127 #define ITS_TIS_TPG_PROT_VER 1
32128 #define ITS_CPM_PROT_VERv1 1
32129 #define ITS_CPM_PROT_VER 2
32130 #define ITS_VAM_PROT_VER 2
32131 #define ITS_IMZM_PROT_VER 2
32133 void proto_reg_handoff_its(void)
32135 static const char *subdissector
[BTP_SUBDISS_SZ
] = { "btpa.port", "btpb.port" };
32136 static const uint16_t ports
[BTP_PORTS_SZ
] = { ITS_WKP_DEN
, ITS_WKP_CA
, ITS_WKP_EVCSN
, ITS_WKP_CHARGING
, ITS_WKP_IVI
, ITS_WKP_TPG
, ITS_WKP_TLC_SSEM
, ITS_WKP_GPC
, ITS_WKP_TLC_SREM
, ITS_WKP_RLT
, ITS_WKP_TLM
, ITS_WKP_CPS
, ITS_WKP_VA
};
32139 // Register well known ports to btp subdissector table (BTP A and B)
32140 for (sdIdx
=0; sdIdx
< BTP_SUBDISS_SZ
; sdIdx
++) {
32141 for (pIdx
=0; pIdx
< BTP_PORTS_SZ
; pIdx
++) {
32142 dissector_add_uint(subdissector
[sdIdx
], ports
[pIdx
], its_handle
);
32146 // Enable decode as for its pdu's send via udp
32147 dissector_add_for_decode_as("udp.port", its_handle
);
32149 dissector_add_uint("its.msg_id", (ITS_DENM_PROT_VER
<< 16) + ITS_DENM
, create_dissector_handle(dissect_denm_DenmPayload_PDU
, proto_its_denm
));
32150 dissector_add_uint("its.msg_id", (ITS_DENM_PROT_VERv1
<< 16) + ITS_DENM
, create_dissector_handle(dissect_denmv1_DecentralizedEnvironmentalNotificationMessageV1_PDU
, proto_its_denmv1
));
32151 dissector_add_uint("its.msg_id", (ITS_CAM_PROT_VER
<< 16) + ITS_CAM
, create_dissector_handle( dissect_cam_CamPayload_PDU
, proto_its_cam
));
32152 dissector_add_uint("its.msg_id", (ITS_CAM_PROT_VERv1
<< 16) + ITS_CAM
, create_dissector_handle( dissect_camv1_CoopAwarenessV1_PDU
, proto_its_camv1
));
32153 dissector_add_uint("its.msg_id", (ITS_SPATEM_PROT_VERv1
<< 16) + ITS_SPATEM
, create_dissector_handle( dissect_dsrc_SPAT_PDU
, proto_its_spatemv1
));
32154 dissector_add_uint("its.msg_id", (ITS_SPATEM_PROT_VER
<< 16) + ITS_SPATEM
, create_dissector_handle( dissect_dsrc_SPAT_PDU
, proto_its_spatem
));
32155 dissector_add_uint("its.msg_id", (ITS_MAPEM_PROT_VERv1
<< 16) + ITS_MAPEM
, create_dissector_handle( dissect_dsrc_MapData_PDU
, proto_its_mapemv1
));
32156 dissector_add_uint("its.msg_id", (ITS_MAPEM_PROT_VER
<< 16) + ITS_MAPEM
, create_dissector_handle( dissect_dsrc_MapData_PDU
, proto_its_mapem
));
32157 dissector_add_uint("its.msg_id", (ITS_IVIM_PROT_VERv1
<< 16) + ITS_IVIM
, create_dissector_handle( dissect_ivi_IviStructure_PDU
, proto_its_ivimv1
));
32158 dissector_add_uint("its.msg_id", (ITS_IVIM_PROT_VER
<< 16) + ITS_IVIM
, create_dissector_handle( dissect_ivi_IviStructure_PDU
, proto_its_ivim
));
32159 dissector_add_uint("its.msg_id", ITS_RFU1
, create_dissector_handle( dissect_evrsr_EV_RSR_MessageBody_PDU
, proto_its_evrsr
));
32160 dissector_add_uint("its.msg_id", (ITS_SREM_PROT_VER
<< 16) + ITS_SREM
, create_dissector_handle( dissect_dsrc_SignalRequestMessage_PDU
, proto_its_srem
));
32161 dissector_add_uint("its.msg_id", (ITS_SSEM_PROT_VER
<< 16) + ITS_SSEM
, create_dissector_handle( dissect_dsrc_SignalStatusMessage_PDU
, proto_its_ssem
));
32162 dissector_add_uint("its.msg_id", (ITS_RTCMEM_PROT_VERv1
<< 16) + ITS_RTCMEM
, create_dissector_handle( dissect_dsrc_RTCMcorrections_PDU
, proto_its_rtcmemv1
));
32163 dissector_add_uint("its.msg_id", (ITS_RTCMEM_PROT_VER
<< 16) + ITS_RTCMEM
, create_dissector_handle(dissect_dsrc_RTCMcorrections_PDU
, proto_its_rtcmem
));
32164 dissector_add_uint("its.msg_id", ITS_EVCSN
, create_dissector_handle( dissect_evcsn_EVChargingSpotNotificationPOIMessage_PDU
, proto_its_evcsn
));
32165 dissector_add_uint("its.msg_id", (ITS_TIS_TPG_PROT_VER
<< 16) + ITS_RFU2
, create_dissector_handle( dissect_tistpg_TisTpgTransaction_PDU
, proto_its_tistpg
));
32166 dissector_add_uint("its.msg_id", (ITS_CPM_PROT_VERv1
<< 16) + ITS_CPM
, create_dissector_handle(dissect_cpmv1_CollectivePerceptionMessagev1_PDU
, proto_its_cpmv1
));
32167 dissector_add_uint("its.msg_id", (ITS_CPM_PROT_VER
<< 16) + ITS_CPM
, create_dissector_handle(dissect_cpm_CpmPayload_PDU
, proto_its_cpm
));
32168 dissector_add_uint("its.msg_id", (ITS_IMZM_PROT_VER
<< 16) + ITS_IMZM
, create_dissector_handle(dissect_imzm_InterferenceManagementZoneMessage_PDU
, proto_its_imzm
));
32169 dissector_add_uint("its.msg_id", (ITS_VAM_PROT_VER
<< 16) + ITS_VAM
, create_dissector_handle(dissect_vam_VruAwareness_PDU
, proto_its_vam
));
32171 /* Missing definitions: ITS_POI, ITS_SAEM */
32173 dissector_add_uint("dsrc.regionid", (addGrpC
<<16)+Reg_ConnectionManeuverAssist
, create_dissector_handle(dissect_AddGrpC_ConnectionManeuverAssist_addGrpC_PDU
, proto_addgrpc
));
32174 dissector_add_uint("dsrc.regionid", (addGrpC
<<16)+Reg_GenericLane
, create_dissector_handle(dissect_AddGrpC_ConnectionTrajectory_addGrpC_PDU
, proto_addgrpc
));
32175 dissector_add_uint("dsrc.regionid", (addGrpC
<<16)+Reg_NodeAttributeSetXY
, create_dissector_handle(dissect_AddGrpC_NodeAttributeSet_addGrpC_PDU
, proto_addgrpc
));
32176 dissector_add_uint("dsrc.regionid", (addGrpC
<<16)+Reg_IntersectionState
, create_dissector_handle(dissect_AddGrpC_IntersectionState_addGrpC_PDU
, proto_addgrpc
));
32177 dissector_add_uint("dsrc.regionid", (addGrpC
<<16)+Reg_MapData
,create_dissector_handle(dissect_AddGrpC_MapData_addGrpC_PDU
, proto_addgrpc
));
32178 dissector_add_uint("dsrc.regionid", (addGrpC
<<16)+Reg_Position3D
, create_dissector_handle(dissect_AddGrpC_Position3D_addGrpC_PDU
, proto_addgrpc
));
32179 dissector_add_uint("dsrc.regionid", (addGrpC
<<16)+Reg_RestrictionUserType
, create_dissector_handle(dissect_AddGrpC_RestrictionUserType_addGrpC_PDU
, proto_addgrpc
));
32180 dissector_add_uint("dsrc.regionid", (addGrpC
<<16)+Reg_SignalStatusPackage
, create_dissector_handle(dissect_AddGrpC_SignalStatusPackage_addGrpC_PDU
, proto_addgrpc
));
32181 dissector_add_uint("dsrc.regionid", (addGrpC
<<16)+Reg_LaneAttributes
, create_dissector_handle(dissect_AddGrpC_LaneAttributes_addGrpC_PDU
, proto_addgrpc
));
32182 dissector_add_uint("dsrc.regionid", (addGrpC
<<16)+Reg_MovementEvent
, create_dissector_handle(dissect_AddGrpC_MovementEvent_addGrpC_PDU
, proto_addgrpc
));
32183 dissector_add_uint("dsrc.regionid", (addGrpC
<<16)+Reg_RequestorDescription
, create_dissector_handle(dissect_AddGrpC_RequestorDescription_addGrpC_PDU
, proto_addgrpc
));
32185 dissector_add_uint("ieee1609dot2.ssp", psid_den_basic_services
, create_dissector_handle(dissect_denmssp_pdu
, proto_its_denm
));
32186 dissector_add_uint("ieee1609dot2.ssp", psid_ca_basic_services
, create_dissector_handle(dissect_camssp_pdu
, proto_its_cam
));
32187 dissector_add_uint("geonw.ssp", psid_den_basic_services
, create_dissector_handle(dissect_denmssp_pdu
, proto_its_denm
));
32188 dissector_add_uint("geonw.ssp", psid_ca_basic_services
, create_dissector_handle(dissect_camssp_pdu
, proto_its_cam
));
32190 dissector_add_uint("cpm.container", 1, create_dissector_handle(dissect_cpm_OriginatingVehicleContainer_PDU
, proto_its_cpm
));
32191 dissector_add_uint("cpm.container", 2, create_dissector_handle(dissect_cpm_OriginatingRsuContainer_PDU
, proto_its_cpm
));
32192 dissector_add_uint("cpm.container", 3, create_dissector_handle(dissect_cpm_SensorInformationContainer_PDU
, proto_its_cpm
));
32193 dissector_add_uint("cpm.container", 4, create_dissector_handle(dissect_cpm_PerceptionRegionContainer_PDU
, proto_its_cpm
));
32194 dissector_add_uint("cpm.container", 5, create_dissector_handle(dissect_cpm_PerceivedObjectContainer_PDU
, proto_its_cpm
));
32198 * Editor modelines - https://www.wireshark.org/tools/modelines.html
32201 * c-basic-offset: 4
32203 * indent-tabs-mode: nil
32206 * vi: set shiftwidth=4 tabstop=8 expandtab:
32207 * :indentSize=4:tabSize=8:noTabs=true: