diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
commit | e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch) | |
tree | 68cb5ef9081156392f1dd62a00c6ccc1451b93df /epan/dissectors/asn1/its/its.cnf | |
parent | Initial commit. (diff) | |
download | wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip |
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/dissectors/asn1/its/its.cnf')
-rw-r--r-- | epan/dissectors/asn1/its/its.cnf | 937 |
1 files changed, 937 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/its/its.cnf b/epan/dissectors/asn1/its/its.cnf new file mode 100644 index 00000000..b0205197 --- /dev/null +++ b/epan/dissectors/asn1/its/its.cnf @@ -0,0 +1,937 @@ +# its.cnf +# Intelligent Transport Systems (ITS) + +#.OPT +PER +UNALIGNED +#.END + +#.EXPORTS + +#.OMIT_ASSIGNMENT +# Get rid of unused code warnings +TisTpgTransactionsPdu +DENM +DENMv1 +CAM +CAMv1 +SSEM +SREM +IVIM +MAPEM +SPATEM +EV-RSR +RTCMEM +VAM +ItsPduHeaderVam +IMZM + +EvcsnPdu +DriverLanguage +ChargingPower +StatusResponseCode +CurrentVehicleConfiguration +TpgLocation +CS5 +DSRCmsgID +VehicleLengthV2 +TrailerPresenceInformation +CartesianAngularAccelerationComponent +CartesianAngularAccelerationComponentValue +AngularAccelerationConfidence +StandardLength2B +StandardLength9b +PrecipitationIntensity +ObjectFace +BogiesCount +BarometricPressure +AxlesCount +AirHumidity + +#.NO_EMIT +Code-Units WITHOUT_VALS + + +#.MODULE +CAMv1-PDU-Descriptions camv1 +CAM-PDU-Descriptions cam +DENMv1-PDU-Descriptions denmv1 +DENM-PDU-Description denm +EVCSN-PDU-Descriptions evcsn +EV-RechargingSpotReservation-PDU-Descriptions evrsr +IVIM-PDU-Descriptions ivim +TIS-TPG-Transactions-Descriptions tistpg +SPATEM-PDU-Descriptions spatem +MAPEM-PDU-Descriptions mapem +SREM-PDU-Descriptions srem +SSEM-PDU-Descriptions ssem +AVIAEINumberingAndDataStructures anads +ITS-Container itsv2 +ITS-ContainerV1 itsv1 +#ElectronicRegistrationIdentificationVehicleDataModule erivdm +#CITSapplMgmtIDs csmid +EfcDsrcApplication dsrc_app +IVI ivi +GDD gdd +DSRC dsrc +RTCMEM-PDU-Descriptions rtcmem +ETSI-ITS-CDD its +CPM-OriginatingStationContainers cpm +CPM-PDU-Descriptions cpm +CPM-PerceivedObjectContainer cpm +CPM-PerceptionRegionContainer cpm +CPM-SensorInformationContainer cpm +VAM-PDU-Descriptions vam +IMZM-PDU-Descriptions imzm +#VAM-Temp-Imports vam +#.END + +#.PDU +CamPayload +CoopAwarenessV1 +DenmPayload +DecentralizedEnvironmentalNotificationMessageV1 +EVChargingSpotNotificationPOIMessage +EV-RSR-MessageBody +TisTpgTransaction +IviStructure +SPAT +MapData +SignalRequestMessage +SignalStatusMessage +RTCMcorrections +CollectivePerceptionMessage +ItsPduHeader +VruAwareness +InterferenceManagementZoneMessage +# AddGrpC regional extension +ConnectionManeuverAssist-addGrpC +ConnectionTrajectory-addGrpC +NodeAttributeSet-addGrpC +IntersectionState-addGrpC +MapData-addGrpC +Position3D-addGrpC +RestrictionUserType-addGrpC +SignalStatusPackage-addGrpC +LaneAttributes-addGrpC +MovementEvent-addGrpC +RequestorDescription-addGrpC +#CpmContainers +OriginatingVehicleContainer +OriginatingRsuContainer +SensorInformationContainer +PerceptionRegionContainer +PerceivedObjectContainer + +#.TYPE_RENAME + +# GicPart +GicPart/relevanceZoneIds T_GicPartRelevanceZoneIds +GicPart/detectionZoneIds T_GicPartDetectionZoneIds +GicPart/driverAwarenessZoneIds T_GicPartDriverAwarenessZoneIds +GicPart/extraText T_GicPartExtraText + +TcPart/relevanceZoneIds T_TcPartRelevanceZoneIds +TcPart/detectionZoneIds T_TcPartDetectionZoneIds +TcPart/driverAwarenessZoneIds T_TcPartDriverAwarenessZoneIds +TcPart/text T_TcPartText + +TractorCharacteristics/equalTo T_TractorCharactEqualTo +TractorCharacteristics/notEqualTo T_TractorCharactNotEqualTo + +TrailerCharacteristics/equalTo T_TrailerCharactEqualTo +TrailerCharacteristics/notEqualTo T_TrailerCharactNotEqualTo + +SPAT/regional T_SPATRegional +SignalRequestMessage/regional T_SRMRegional +SignalStatusMessage/regional T_SSMRegional +MapData/regional T_MAPRegional +AdvisorySpeed/regional T_AdvisorySpeedRegional +ComputedLane/regional T_ComputedLaneRegional +ConnectionManeuverAssist/regional T_ConnectionManeuverAssistRegional +GenericLane/regional T_GenericLaneRegional +IntersectionGeometry/regional T_IntersectionGeometryRegional +IntersectionState/regional T_IntersectionStateRegional +LaneDataAttribute/regional T_LaneDataAttributeRegional +MovementEvent/regional T_MovementEventRegional +MovementState/regional T_MovementStateRegional +NodeAttributeSetXY/regional T_NodeAttributeSetXYRegional +Position3D/regional T_Position3DRegional +RequestorDescription/regional T_RequestorDescriptionRegional +RestrictionUserType/regional T_RestrictionUserTypeRegional +RoadSegment/regional T_RoadSegmentRegional +SignalRequestPackage/regional T_SignalRequestPackageRegional +SignalRequest/regional T_SignalRequestRegional +SignalStatusPackage/regional T_SignalStatusPackageRegional +SignalStatus/regional T_SignalStatusRegional +PerceptionRegion/numberOfPerceivedObjects T_PerceptionRegionNumberOfPerceivedObjects +PerceptionRegion/shadowingApplies T_PerceptionRegionShadowingApplies + + +#.END + +#.FIELD_RENAME +PerceptionRegion/perceptionRegionShape perceptionRegionPerceptionRegionShape +PerceptionRegion/shadowingApplies perceptionRegionShadowingApplies +PerceptionRegion/numberOfPerceivedObjects perceptionRegionNumberOfPerceivedObjects +PerceptionRegion/perceptionRegionConfidence perceptionRegionPerceptionRegionConfidence + +TisTpgDRM/location drmLocation +TisTpgTRM/location trmLocation +TisTpgTCM/location tcmLocation + +TisTpgVDRM/management vdrmManagement +TisTpgDRM/management drmManagement +TisTpgEOFM/management eofmManagement +TisTpgTCM/management tcmManagement +TisTpgVDPM/management vdpmManagement +TisTpgTRM/management trmManagement +TisTpgSNM/management snmManagement + +TisTpgDRM/situation drmSituation +TisTpgTRM/situation trmSituation +TisTpgTCM/situation tcmSituation + +Distance/value dValue +DistanceOrDuration/value dodValue +Weight/value wValue +AnyCatalogue/value acValue +VcCode/value vcValue + +Ext1/content e1Content +Ext2/content e2Content +VarLengthNumber/content vlnContent + +Ext2/extension e1Extension +Ext1/extension e2Extension +VarLengthNumber/extension vlnExtension + +RSCode/layoutComponentId rscLayoutComponentId +Text/layoutComponentId tLayoutComponentId +LayoutComponent/layoutComponentId lcLayoutComponentId + +ISO14823Code/pictogramCode icPictogramCode +AnyCatalogue/pictogramCode acPictogramCode + +VcCode/validity vcValidity +LaneInformation/validity liValidity + +RoadSegmentReferenceID/id rsrId +RoadSegment/id rsId +RequestorDescription/id rdId +SignalRequesterInfo/id sriId +IntersectionGeometry/id igId +IntersectionState/id isId +SignalRequest/id srId +SignalStatus/id ssId +IntersectionReferenceID/id irId +RestrictionClassAssignment/id scaId + +AdvisorySpeed/confidence asConfidence +TimeChangeDetails/confidence tcdConfidence + +SPAT/intersections spatIntersections +MapData/intersections mdIntersections + +RequestorPositionVector/position rpvPosition +RequestorDescription/position rdPosition + +SPAT/regional spatRegional +SignalRequestMessage/regional srmRegional +SignalStatusMessage/regional ssmRegional +MapData/regional mapRegional +AdvisorySpeed/regional asRegional +ComputedLane/regional clRegional +ConnectionManeuverAssist/regional cmaRegional +GenericLane/regional glRegional +IntersectionGeometry/regional igRegional +IntersectionState/regional isRegional +LaneDataAttribute/regional ldaRegional +MovementEvent/regional meRegional +MovementState/regional msRegional +NodeAttributeSetXY/regional nasxyRegional +Position3D/regional p3dRegional +RequestorDescription/regional rdRegional +RestrictionUserType/regional rutRegional +RoadSegment/regional rsRegional +SignalRequestPackage/regional srpRegional +SignalRequest/regional srRegional +SignalStatusPackage/regional sspRegional +SignalStatus/regional ssRegional + +LaneAttributes/regional laRegional +NodeOffsetPointXY/regional nopxyRegional +RequestorType/regional rtRegional + +SignalRequestPackage/request srpRequest +SignalRequesterInfo/request sriRequest +RequestorType/request rtRequest + +RegulatorySpeedLimit/speed rslSpeed +TransmissionAndSpeed/speed tasSpeed +RequestorPositionVector/speed rpvSpeed +AdvisorySpeed/speed asSpeed +FullPositionVector/speed fpvSpeed +SpeedandHeadingandThrottleConfidence/speed shtcSpeed + +SignalRequestPackage/minute srpMinute +SignalStatusPackage/minute sspMinute + +FullPositionVector/heading fpvHeading +RequestorPositionVector/heading rpvHeading +SpeedandHeadingandThrottleConfidence/heading shtcheading + +FullPositionVector/elevation fpvElevation +PositionConfidenceSet/elevation pcsElevation +Position3D/elevation p3dElevation + +IntersectionState/status isStatus +SignalStatusPackage/status sspStatus +SignalStatusMessage/status ssmStatus + +SPAT/timeStamp spatTimeStamp +SignalRequestMessage/timeStamp srmTimeStamp +SignalStatusMessage/timeStamp ssmTimeStamp +MapData/timeStamp mdTimeStamp +IntersectionState/timeStamp isTimeStamp + +AdvisorySpeed/type asType +RegulatorySpeedLimit/type rslType +RequestorDescription/type rdType + +TcPart/detectionZoneIds tpDetectionZoneIds +TcPart/driverAwarenessZoneIds tpDriverAwarenessZoneIds +TcPart/relevanceZoneIds tpRelevanceZoneIds + +GicPart/detectionZoneIds gpDetectionZoneIds +GicPart/driverAwarenessZoneIds gpDriverAwarenessZoneIds +GicPart/relevanceZoneIds gpRelevanceZoneIds + +TractorCharacteristics/equalTo toEqualTo +TractorCharacteristics/notEqualTo toNotEqualTo + +TrailerCharacteristics/equalTo teEqualTo +TrailerCharacteristics/notEqualTo teNotEqualTo + +Node-XY-20b/x n20bX +Node-XY-22b/x n22bX +Node-XY-24b/x n24bX +Node-XY-26b/x n26bX +Node-XY-28b/x n28bX +Node-XY-32b/x n32bX + +Node-XY-20b/y n20bY +Node-XY-22b/y n22bY +Node-XY-24b/y n24bY +Node-XY-26b/y n26bY +Node-XY-28b/y n28bY +Node-XY-32b/y n32bY + +#.TYPE_ATTR +Latitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_latitude_fmt) +Longitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_longitude_fmt) +AltitudeValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_altitude_fmt) +DeltaLatitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_delta_latitude_fmt) +DeltaLongitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_delta_longitude_fmt) +DeltaAltitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_delta_altitude_fmt) +PathDeltaTime DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_path_delta_time_fmt) +SemiAxisLength DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_sax_length_fmt) +HeadingValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_heading_value_fmt) +HeadingConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_heading_confidence_fmt) +SpeedValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_speed_value_fmt) +SpeedConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_speed_confidence_fmt) +SpeedLimit DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_speed_limit_fmt) +VehicleLengthValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_vehicle_length_value_fmt) +VehicleWidth DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_vehicle_width_fmt) +LongitudinalAccelerationValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_acceleration_value_fmt) +LateralAccelerationValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_acceleration_value_fmt) +VerticalAccelerationValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_acceleration_value_fmt) +AccelerationConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_acceleration_confidence_fmt) +CurvatureValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_curvature_value_fmt) +YawRateValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_yaw_rate_value_fmt) +SteeringWheelAngleValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_swa_value_fmt) +SteeringWheelAngleConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_swa_confidence_fmt) +TimestampIts DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_timestamp_fmt) +ValidityDuration DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_validity_duration_fmt) + +GenerationDeltaTime STRINGS=NULL + +MinuteOfTheYear DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(dsrc_moi_fmt) +DSecond DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(dsrc_dsecond_fmt) +TimeMark DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(dsrc_time_mark_fmt) +TimeIntervalConfidence STRINGS=VALS(dsrc_TimeIntervalConfidence_vals) +Velocity DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(dsrc_velocity_fmt) +Angle DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(dsrc_angle_fmt) +HeadingDSRC DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(dsrc_angle_fmt) +DeltaTime DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(dsrc_delta_time_fmt) + +TimeOfMeasurement STRINGS=NULL +ClassConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_general_confidence_fmt) +FreeSpaceConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_general_confidence_fmt) +ObjectConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_general_confidence_fmt) +DistanceValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_distance_value_fmt) +DistanceConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_distance_confidence_fmt) +SpeedValueExtended DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_speed_value_ext_fmt) +ObjectDimensionValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_object_dimension_value_fmt) +#ObjectDimensionConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_object_dimension_confidence_fmt) + +#.END + +#.FIELD_ATTR +IntersectionState/status ABBREV=intersectionState.status +SignalStatusPackage/status ABBREV=signalStatusPackage.status +SignalStatusMessage/status ABBREV=signalStatusMessage.status +FullPositionVector/elevation ABBREV=fullPositionVector.elevation +PositionConfidenceSet/elevation ABBREV=positionConfidenceSet.elevation +Position3D/elevation ABBREV=position3D.elevation + +#.END + +#.MAKE_DEFINES +MessageId +#.END + +#.MAKE_ENUM +RegionId +CauseCodeType + +#.FN_HDR CamPayload + actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t); + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "CAM"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "CAM"); +#.END + +#.FN_HDR CoopAwarenessV1 + actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t); + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "CAMv1"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "CAMv1"); +#.END + +#.FN_HDR DenmPayload + actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t); + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "DENM"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "DENM"); +#.END + +#.FN_HDR DecentralizedEnvironmentalNotificationMessageV1 + actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t); + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "DENMv1"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "DENMv1"); +#.END + +#.FN_HDR EVChargingSpotNotificationPOIMessage + actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t); + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "EVCSN"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "EVCSN"); +#.END + +#.FN_HDR EV-RSR-MessageBody + actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t); + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "EV-RSR"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "EV-RSR"); +#.END + +#.FN_HDR TisTpgTransaction + actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t); + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "TISTPG"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "TISTPG"); +#.END + +#.FN_HDR IviStructure + actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t); + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "IVIM"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "IVIM"); +#.END + +#.FN_HDR SignalStatusMessage + its_private_data_t *regext = wmem_new0(actx->pinfo->pool, its_private_data_t); + actx->private_data = (void*)regext; + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "SSEM"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "SSEM"); + regext->type = Reg_SignalStatusMessage; +#.END + +#.FN_HDR SignalRequestMessage + its_private_data_t *regext = wmem_new0(actx->pinfo->pool, its_private_data_t); + actx->private_data = (void*)regext; + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "SREM"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "SREM"); + regext->type = Reg_SignalRequestMessage; +#.END + +#.FN_HDR MapData + its_private_data_t *regext = wmem_new0(actx->pinfo->pool, its_private_data_t); + actx->private_data = (void*)regext; + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "MAPEM"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "MAPEM"); + regext->type = Reg_MapData; +#.END + +#.FN_HDR SPAT + its_private_data_t *regext = wmem_new0(actx->pinfo->pool, its_private_data_t); + actx->private_data = (void*)regext; + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "SPATEM"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "SPATEM"); + regext->type = Reg_SPAT; +#.END + + +#.FN_HDR RTCMcorrections + its_private_data_t *regext = wmem_new0(actx->pinfo->pool, its_private_data_t); + actx->private_data = (void*)regext; + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "RTCMEM"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "RTCMEM"); + regext->type = Reg_RTCMcorrections; +#.END + +#.FN_HDR CollectivePerceptionMessage + actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t); + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "CPM"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "CPM"); +#.END + +#.FN_HDR InterferenceManagementZoneMessage + actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t); + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "IMZM"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "IMZM"); +#.END + +#.FN_HDR VruAwareness + actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t); + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "VAM"); + col_set_str(actx->pinfo->cinfo, COL_INFO, "VAM"); +#.END + +#.FN_HDR ConnectionManeuverAssist-addGrpC + actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t); +#.END + + +#.FN_HDR ConnectionTrajectory-addGrpC + actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t); +#.END + + +#.FN_HDR NodeAttributeSet-addGrpC + actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t); +#.END + + +#.FN_HDR IntersectionState-addGrpC + actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t); +#.END + + +#.FN_HDR MapData-addGrpC + actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t); +#.END + + +#.FN_HDR Position3D-addGrpC + actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t); +#.END + + +#.FN_HDR RestrictionUserType-addGrpC + actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t); +#.END + + +#.FN_HDR SignalStatusPackage-addGrpC + actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t); +#.END + + +#.FN_HDR LaneAttributes-addGrpC + actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t); +#.END + + +#.FN_HDR MovementEvent-addGrpC + actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t); +#.END + + +#.FN_HDR RequestorDescription-addGrpC + actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t); +#.END + + +#.FN_HDR AdvisorySpeed + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_AdvisorySpeed; +#.END +#.FN_FTR AdvisorySpeed + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR ComputedLane + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_ComputedLane; +#.END +#.FN_FTR ComputedLane + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR ConnectionManeuverAssist + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_ConnectionManeuverAssist; +#.END +#.FN_FTR ConnectionManeuverAssist + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR GenericLane + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_GenericLane; +#.END +#.FN_FTR GenericLane + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR IntersectionGeometry + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_IntersectionGeometry; +#.END +#.FN_FTR IntersectionGeometry + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR IntersectionState + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_IntersectionState; +#.END +#.FN_FTR IntersectionState + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR LaneAttributes + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_LaneAttributes; +#.END +#.FN_FTR LaneAttributes + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR LaneDataAttribute + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_LaneDataAttribute; +#.END +#.FN_FTR LaneDataAttribute + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR MovementEvent + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_MovementEvent; +#.END +#.FN_FTR MovementEvent + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR MovementState + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_MovementState; +#.END +#.FN_FTR MovementState + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR NodeAttributeSetXY + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_NodeAttributeSetXY; +#.END +#.FN_FTR NodeAttributeSetXY + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR NodeOffsetPointXY + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_NodeOffsetPointXY; +#.END +#.FN_FTR NodeOffsetPointXY + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR Position3D + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_Position3D; +#.END +#.FN_FTR Position3D + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR RequestorDescription + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_RequestorDescription; +#.END +#.FN_FTR RequestorDescription + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR RequestorType + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_RequestorType; +#.END +#.FN_FTR RequestorType + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR RestrictionUserType + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_RestrictionUserType; +#.END +#.FN_FTR RestrictionUserType + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR RoadSegment + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_RoadSegment; +#.END +#.FN_FTR RoadSegment + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR SignalRequestPackage + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_SignalRequestPackage; +#.END +#.FN_FTR SignalRequestPackage + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR SignalRequest + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_SignalRequest; +#.END +#.FN_FTR SignalRequest + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR SignalStatusPackage + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_SignalStatusPackage; +#.END +#.FN_FTR SignalStatusPackage + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR SignalStatus + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_SignalStatus; +#.END +#.FN_FTR SignalStatus + ((its_private_data_t*)actx->private_data)->type = save; +#.END + + +#.FN_HDR SignalControlZone + enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type; + ((its_private_data_t*)actx->private_data)->type = Reg_SignalControlZone; +#.END +#.FN_FTR SignalControlZone + ((its_private_data_t*)actx->private_data)->type = save; +#.END + +#.FN_PARS RegionId VAL_PTR = &((its_private_data_t*)actx->private_data)->region_id + +#.FN_PARS ProtocolVersion VAL_PTR = &((its_header_t*)actx->private_data)->version +#.FN_PARS MessageId VAL_PTR = &((its_header_t*)actx->private_data)->msgId +#.FN_PARS StationId VAL_PTR = actx->private_data?&((its_header_t*)actx->private_data)->stationId:NULL +#.FN_PARS CpmContainerId VAL_PTR = &((its_header_t*)actx->private_data)->CpmContainerId + +#.FN_BODY ItsPduHeader + guint8 version = tvb_get_guint8(tvb, 0); + int test_offset = offset; + if ((test_offset = dissector_try_uint(its_version_subdissector_table, version, tvb, actx->pinfo, tree))) { + return test_offset; + } + // Lets try it that way, regarless of version value... + its_header_t *hdr = wmem_new0(actx->pinfo->pool, its_header_t); + actx->private_data = (void*)hdr; +%(DEFAULT_BODY)s + tap_queue_packet(its_tap, actx->pinfo, actx->private_data); + tvbuff_t *next_tvb = tvb_new_subset_length(tvb, offset >> 3, -1); + int data_offset = dissector_try_uint(its_msgid_subdissector_table, (hdr->version << 16)+hdr->msgId, next_tvb, actx->pinfo, tree); + if (!data_offset) { + proto_tree_add_expert(tree, actx->pinfo, &ei_its_no_sub_dis, next_tvb, 0, - 1); + data_offset = call_data_dissector(next_tvb, actx->pinfo, tree); + } + offset += data_offset; +#.END + +#.ASSIGN_VALUE_TO_TYPE # ISO_TS_19091_DSRC ASN.1 does not have constants assigned to types + +#RegionId +noRegion RegionId +addGrpA RegionId +addGrpB RegionId +addGrpC RegionId + +#.END + +#.REGISTER +# Not used due to "protocol" detection issue: we shall register for its subdissector not dsrc +#.END + +#.FN_PARS RegionalExtension/regExtValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_regextval_pdu + +#.FN_PARS WrappedCpmContainer/containerData FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_cpmcontainers_pdu + + +#.FN_BODY TypeOfReceptacle VAL_PTR=¶meter_tvb LEN_PTR=&len + tvbuff_t *parameter_tvb = NULL; + int len; +%(DEFAULT_BODY)s + /* TODO Provide values? + * See ETSI TS 101 556-1 V1.1.1 Annex B Description for data elements + * Table B.2: Coding of the type of receptacle field + * + * Code Charging Standard plug / Type of Nb of Maximum Maximum + * spot type cable current phases Voltage Current + * ------------------------------------------------------------------------- + * 0000 Socket IEC 62196-2 type 1 AC Single 240V 16A + * 0001 Socket IEC 62196-2 type 1 AC Single 240V 32A + * 0010 Socket IEC 62196-2 type 1 AC Single 240V 80A + * 0011 Socket IEC 62196-2 type 1 AC Single 120V 12A + * 0100 Socket IEC 62196-2 type 1 AC Single 120V 16A + * 0101 Socket Standard Household AC Single 250V 16A + * 0110 Socket Standard Household AC Single 480V 16A + * 0111 Socket IEC 62196-2 type 2 AC Single 230V 16A + * 1000 Socket IEC 62196-2 type 2 AC Single 250V 32A + * 1001 Socket IEC 62196-2 type 2 AC Single 480V 32A + * 1010 Socket IEC 62196-2 type 2 AC Single 400V 32/250A + * 1011 Socket IEC 62196-2 type 3A AC Single 250V 32A + * 1100 Socket IEC 62196-2 type 3B AC Single 480V 32A + * 1101 Socket Reserved for Future AC Single 1000V 400A + IEC 62196-3 + * 1110 Cable for Reserved + DC charging + * 1111 Cable for Reserved + DC charging + */ +#.END + +#.FN_BODY CountryCode VAL_PTR=&val_tvb + tvbuff_t *val_tvb = NULL; +%(DEFAULT_BODY)s + append_country_code_fmt(actx->created_item, val_tvb); +#.END + +#.FN_BODY Text/language VAL_PTR=&val_tvb + tvbuff_t *val_tvb = NULL; +%(DEFAULT_BODY)s + append_country_code_fmt(actx->created_item, val_tvb); +#.END + + +#.NO_EMIT WITH_VALS +#.END + +#.NO_EMIT ONLY_VALS +Latitude +Longitude +AltitudeValue +DeltaLatitude +DeltaLongitude +DeltaAltitude +PathDeltaTime +SemiAxisLength +$ITS-ContainerV1$HeadingValue +HeadingConfidence +SpeedValue +SpeedConfidence +SpeedLimit +VehicleLengthValue +VehicleWidth +LongitudinalAccelerationValue +LateralAccelerationValue +VerticalAccelerationValue +AccelerationConfidence +CurvatureValue +YawRateValue +SteeringWheelAngleValue +ValidityDuration +ObjectDimensionValue +SteeringWheelAngleConfidence +TimestampIts +GenerationDeltaTime + +#.END + +#.NO_EMIT WITHOUT_VALS +# Just keep the vals. hf are made manually and used in cause/subcause decoding + +#.END + + +#.FN_PARS CauseCodeType VAL_PTR = &((its_private_data_t*)actx->private_data)->cause_code + +#.FN_BODY SubCauseCodeType + // Overwrite hf_index + hf_index = *find_subcause_from_cause((CauseCodeType_enum) ((its_private_data_t*)actx->private_data)->cause_code); +%(DEFAULT_BODY)s +#.END + +# +# RCUnit subtypes bodies implemented manually as asn2wrs is not able to handle subtype constraint +# + +#.FN_BODY InternationalSign-speedLimits/unit + offset = dissect_per_constrained_integer(%(TVB)s, %(OFFSET)s, %(ACTX)s, %(TREE)s, %(HF_INDEX)s, + 0U, 1U, %(VAL_PTR)s, FALSE); +#.END + +#.FN_BODY Weight/unit + offset = dissect_per_constrained_integer(%(TVB)s, %(OFFSET)s, %(ACTX)s, %(TREE)s, %(HF_INDEX)s, + 10U, 12U, %(VAL_PTR)s, FALSE); +#.END + +#.FN_BODY DistOrDuration-Units + offset = dissect_per_constrained_integer(%(TVB)s, %(OFFSET)s, %(ACTX)s, %(TREE)s, %(HF_INDEX)s, + 2U, 9U, %(VAL_PTR)s, FALSE); +#.END + +#.FN_BODY Distance/unit + offset = dissect_per_constrained_integer(%(TVB)s, %(OFFSET)s, %(ACTX)s, %(TREE)s, %(HF_INDEX)s, + 2U, 8U, %(VAL_PTR)s, FALSE); +#.END + +#=== PtActivation ======================================================= + +#.FN_HDR PtActivation + void *priv_data = actx->private_data; + its_pt_activation_data_t *pta; + + pta = wmem_new0(actx->pinfo->pool, its_pt_activation_data_t); + actx->private_data = pta; +#.FN_FTR + dissector_try_uint_new(cam_pt_activation_table, pta->type, pta->data, actx->pinfo, tree, TRUE, NULL); + actx->private_data = priv_data; +#.END + +#.FN_PARS +PtActivationType VAL_PTR = &((its_pt_activation_data_t*)actx->private_data)->type +PtActivationData VAL_PTR = &((its_pt_activation_data_t*)actx->private_data)->data +#.END |