# 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